目录
问题1:会不会考原题?
问题2:能不能总结一些常考的题型?
问题3:机考要注意点什么?
问题4:我看了别人的题解学会了,但是不知道另外的写法怎么办?
问题5:2022年11月后加了新题变难了,题都看不懂怎么办?
首先,虽然 2022年11月份加了新题,但是还是从题库里面出题,确实还有碰到原题的概率。
其次,虽然加了新题,但很多的考点几乎都没变,最常考的就是那几种题型。而且多刷题也锻炼代码能力,不能眼高手低,否则临场一个字符串自定义规则排序都可能写不出来。
最后,不要把自己的机会绑定到运气上,多刷题多练手,用自己的实力通过机试。
首先,按照题目的分类进行归档,这个很简单,但是我觉得大家自己进行总结归类才能够真正的理解和熟悉。看别人做菜看一百遍真不及自己上手翻几下来的实在。
其次,我也可以在这里简单的总结一下:
(1)字符串处理是最常考的,注意总结一下字符串的各种处理操作的方法,比如:指定字符分割字符串、字符串转整数、字符串截取、字符串反转等等。
(2)排序类问题也经常出现,特别是需要自定义排序的场景,不管是python、java还是C++,都有自己自定义排序的方法,这个是一定要掌握的。一个经常出现的场景就是hashmap按照value进行排序。
(3)数据结构类的问题,比较常考的就是栈stack、deque、set、map,记住各种常规操作即可,怎么初始化,怎么删除元素,怎么插入元素,怎么排序,怎么遍历。
(4)最后还有一类比较难的问题就是BFS、DFS、并查集这种类型的,我觉得这个对于普通人来说,最有效的方法就是背题,背一些经典题目的写法。具体的就是岛屿的体积和全排列,非常经典的DFS题目。
刷题的时候不用纠结难的题没有思路,好好分析答案。
大家肯定网上都看过很多攻略了,但是还是要提一嘴,有些地方真要注意。
(1):题目都是按照通过比例得分的,100分的题目,通过80%用例,就给80分。所以不要上来第一题没全部AC就在那一直想。。。赶紧往后做。
(2):经典的输入输出方法要做好总结,特别是对于C++、Java的选手,怎么读入行,转List或者Array,可以省下不少时间。
(3):切忌不要复制网上搜到的现成代码。
(4):动态规划、DFS等方法实在想不起来有的用暴力遍历的方法也能过个40%、50%,拿分过线就行了。
(5):考试前先关闭所有无关网页,仅保留考试页签,考试过程中会随机截图200多张,期间不能打开网页检索,会被判定为作弊。
(6):需要全程开启摄像头,手机也需要扫码监控。
(7):考试时,可以用本地的IDE编写代码,然后再复制到机考页面提交。
(8):能用现成的工具方法就用,不要自己去实现,像常用的排序、进制转换等不管什么语言都是有工具类可用的。
首先只改变量名、if/else、for循环改为while这种低级改法肯定是行不通的。
想要深度的改进,举一个例子:Java语言,读入行数据转为数组
第一种写法:
String input_str = in.nextLine();
String[] tmp2 = input_str.split(" ");
int[] nums = new int[tmp2.length];
for (int i = 0; i < tmp2.length; i++) { nums[i] = Integer.parseInt(tmp2[i]);
}
第二种写法:
List nums =Arrays.stream(in.nextLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
还是建议多做题,多写代码有自己的储备来的实在。
真正做一下11月的题之后,发现题目理解上确实变难了,比如这个处理器问题,题目又臭又长。但是,考点却没有变,并没有涉及到很难的动态规划、并查集这种考点,都还是问题2中的那一部分基础题型,读完题仔细分析以后就会发现它其实就是个简单题,虽然写着麻烦点,但是简单的 if / else 就可以实现。
有的同学看到这么长的题,第一遍没读懂,就有点慌了,心态也随之发生了变化,这样肯定考试结果不会很好。首先建议还是平时多刷题练手,储备的多了,考试的时候看到这么长的题目就不会那么慌了。其次考试的时候放平心态,首要目标是拿够分数,而不是AC所有题目。
结论:题目理解上变难,而考点却几乎并没有变,多准备基础题和常见题型,考试放平心态。
各位小伙伴还有任何问题,都可以分享在评论区或者私信我。加油!