半个月机考指北

半个月机考指北
整理一下自己的机考备考路线:
零、引文
C++覆盖所有机考场景(除了极个别只能写C的)
本文的目的是短时间内快速提升机考分数以及备考常用算法(面试中经常被问)
已知不适用于清华机考(二三题),难度差别太大。适用于清华机考第一题(签到题也有一定难度,考察知识点多而杂)
如果不认可,请当笑话或者绕道而行。此文是在极其有限的时间内临阵磨枪,不是系统性的打磨自己的算法,还请ACMer手下留情,对于我们而言,这只是一门考试考核,不是热爱。
一、 前置准备
数据结构课程回顾
复习基础知识(图、树、栈、队列、堆);
https://www.bilibili.com/video/BV1nJ411V7bd
可以看一下课程目录,快速找自己忘记的基础知识,时间不宜超过1天。
二、 算法快速入门
课程:acwing算法基础课程
acwing官网购买:https://www.acwing.com/activity/content/11/
私信滴滴我发网盘链接
其中,数学章节可以一笔带过,对于数学不太好的,看起来吃力,性价比不高。
课程是C++语言的。
Q:不会C++?
A:跟着课程就行,课程主要讲常见算法的写法(就是背模板);用到的C++语法无非是函数调用、数组、遍历等,没多少语法,多写几次就很熟了,不需要额外去学什么C++语法。
Q:下载下来看?
A:自己想办法,百度一堆免费b站视频下载办法。
机考不建议备考其他语言,必吃亏。
学完之后目标应该是:熟练掌握里面的模板,能准确无误、快速打出来。
学的过程怎么练:不用刻意的去找题,反复熟悉模板,理解后快准狠的打出来!
他的模板相对网上零散的模板,配合上他的讲解,更容易理解。
记住,一定要准确无误且快速,考场上没有这么多时间让你去调试、试错。
三、 练习
用Leetcode
练什么题:
三种方法:
1. 用力扣的题目分类(逐个知识点击破)

2. 题目分类(分类更细,但是题更少)
https://leetcode.cn/circle/discuss/E3yavq/
3. 力扣热门100题(涵盖各种知识点,热门题型)
https://leetcode.cn/problemset/all/?listId=2cktkvj&page=1
前两者,更适合学习时候定向练习知识点(知识点巩固和加深理解)。热门100题主要用来训练思维,也就是做高频题(这道题用什么知识点?怎么用所学的知识点?)
另外,如果一道题理解不深,觉得需要巩固,可以看看题解,题解很多时候会给出相似题。你可以通过相似题,来快速整理思维,提高完成效率。
敲重点,力扣经常原题出现在各类机考中!
还有一点就是,leetcode的数据不那么强(意思就是不会出范围特别大、恶心的数据),他出的各种数据大部分用于检验你的算法是否考虑完备、运行是否正确(也就是说,比如一道题目,他为了检验你是否有做临界条件的判断,会出个小范围的数据,不会出很大的数据来测试。这样的好处非常明显,当你做错的时候,他会 给出错误用例,你可以手算小用例来看看自己的算法的错误,如果他给你了一个大用例,你就没办法手算,也就没办法找到自己的思维漏洞,这在初期学习非常重要)
Q:为什么是力扣? 不是洛谷之类的?
A:题解多,社区氛围好。你刚学算法,第一没思路,第二容易有错误的思路。力扣的评论区和题解区提供了解法,且都有详细的解析。很多的错误思路都能在评论区找到身影。各种花里胡哨的解法非常容易打开你的思路,这在考场上是非常有帮助的,考场上就是要快准狠。
Q:要不要开会员?
A:自己决定。我写题一般直接在上面写,开了会员会有代码提示,运行更快。当然,随着你的熟练,你会发现代码提示已经跟不上你的速度了。
哦对了,一般情况下力扣题解不看leetcode官方写的题解,因为他写的很数学,看起来费劲。你可以在题解区找到各路大神准备的各种易懂的题解。
四、 手册
https://oi-wiki.org/
手册的作用时,快速找遗忘的点和考前快速回顾。所以前提是你得已经学完了。
在上面的菜单切换内容。
我的大部分考试资料准备都来自于这个网站

五、 考前准备
晚点再说吧,预推免还远着。
大体思路是:熟悉机考特点和要求(学校对机考环境等要求)-》打印资料(如果允许的话)-》回顾知识点(手册)-》练手(熟悉输入输出,因为力扣不需要输入输出)-》上战场
如果你要带资料的话,请不要带自己看不懂不熟悉、没办法根据知识点快速翻到对应页的资料,

资料整理顺序:输入输出-》STL、语法-》代码模板-》常见算法
建议充分熟悉资料,提高翻找效率
https://docs.qq.com/scenario/recieve-template.html?packId=M20SjmQ94qqHi1WnMqjDv19gFdItgjrAUkTftj6UGhc8NjtAsKgc8BiisEiuRloi

六、 结尾
只是自己的路线,有困惑可以找我。如果你在机考上吃亏了或预感要吃亏了,首先要做的事情是了解清楚你面对的是什么样的机考。你不确定的话,你可以找目标院校的经验贴或者往年题目,发过来我帮你看看什么法子最容易准备好对应的机考。祝各位顺利,加油!
有问题可以私信我
20230727补充
关于leetcode
力扣题目很多,怎么快速精确的判断题目难度?
谷歌插件:https://chrome.google.com/webstore/detail/refined-leetcode/kmpinnjkedaidpojenkiooddkeplniel
Edge插件:
https://microsoftedge.microsoft.com/addons/detail/refined-leetcode/igmccckalbaoifpohffkgfdagpgdangl
Github仓库:
https://github.com/XYShaoKang/refined-leetcode
效果和用法:
安装后,力扣题目页面会显示题目难度分数:
仅有部分题目有对应的分数显示。分数相近的题,难度相近。你可以通过你自己做出来的题目和对应的分数,来得知自己目前的水平。提高训练的时候,就找分数在你水平之上,但不会超出太多的题目。 平时也不要做太多分数比自己低太多的题目。(做过cf的应该非常熟悉这一点了)
举个例子:你自己做出了几道题目,分数大概范围在1500左右,那平时就多做1500以上的题目,提高的时候,多做1700以上的题目,少做1300以下的题目。等你差不多觉得1700左右的题目都能自己完成了,就把自己的分数线提高到1700
目的主要是对题目进行进一步细分,避免题目太难导致自己花费时间太长,让自己逐步提升,不要做太多简单题麻痹自己。

插件提供了题库页面按分数范围筛选题目的功能,自行探索。
关于力扣周赛(竞赛)
建议参与,每周花2个小时来模拟考试。
题目大概范围是树、图、DP、DFS、BFS(不难,不是ACM难度,个人感觉和pku机考差不多)
竞赛的时候,力扣会屏蔽测试用例。通过这种限时训练,来还原考试。训练读题、选题、考场做题策略。

20230805补充
改了几处内容,关于问的比较多的考场debug,到时候会发个腾讯会议录屏链接来讲讲,没有你想象中的那么难,主要是机考特别容易紧张