机试list
机试的难度
个人认为,机试难度可以分四个等级:
第一级,清北难度,能通过且取得不错成绩的很多都是打ACM竞赛的大佬,没受过专业训练很难拿高分,这个难度下题目很多都是ACM竞赛等级。不过北大的难度貌似没有那么高。
第二级,华五难度,题目涉及基础算法和数据结构,如果只会暴力算法无法通过机试,但如果你刷过一些算法和数据结构的题目,非低分通过机试应该不成问题。
第三级,基础难度,以北航华科为代表,题目涉及大量基础数据结构和编程细节,主要考察编程而非算法能力,个人认为接触过基础数据结构且编程细心的同学应该能够通过。但这些高校往往会限定标准C编程,这点还要注意。
第四级,不进行机试,以国防科大、中科院自动化所为代表,这些学校只有面试没有机试。
刷题
整理出一些典型题目或“板子”以备考前复习。
南大计算机 | 300分的题目一共三道题,每道题100分、通过样例点给分(每道题10个样例点),是在线OJ形式、可以看到自己的实时排名(和浙大类似),动态规划多一些 | 120以下的同学貌似被淘汰了、同学190都是专硕。 |
---|---|---|
浙大 | 三小时四道英文题,题目难度号称PTA甲级难度(实际难度是PTA乙级到甲级之间),题目分值是20,25,25,30这样.题目是OJ形式,根据通过的样例点得分,不计罚时,采用PTA的系统,能够看到自己的实时得分和排名 | |
中科大 | 机试和上交的机试形式差不多,都是非OJ形式。具体而言,三小时做五道算法题,开始的时候给你发纸质的题目和示例(中文),然后自己写程序自己想样例测试,最后工作人员拷走你电脑上的程序。题目采用C/C++,允许使用STL,编译器有VC,VS,code blocks, dev c++等。题目样例没有全通过的话最后会有老师阅卷打分,这点和北航一样。 |
2019 |
北航 | 题目采用C/C++,允许使用STL,编译器有VC,VS,code blocks, dev c++等。虽然之前的通知和宣讲会说最好是C标准编程,但实际上都是可以用的。然而北航的评测系统不是OJ形式,只能显示你提交的代码编译是否通过,具体能不能AC只能靠本地自己编用例测试了(所以一定要细心!!)。不过还好,如果你有一道题没有AC的话,老师会查看你的源代码,根据你代码体现的思想和编码习惯什么的给分,所以就算做不完也一定要记得提交呀! |
|
上交 | 上交的机试不是OJ形式的,而是发给你英文的纸质题目描述和一个样例(运行时间10s以内都ok),自己编写、本地调试,结束后由老师过来把源代码和可运行的exe文件拷走,可选择的编译器有VS/code blocks/DEV C++等 | |
北深 | ||
清深 |
参考: https://blog.csdn.net/qq_38633884/article/details/97178586
自动化所:问数学和机器学习多一些,自动化所只有面试没有机试
中科大的考核机制:学院机试+学院面试+课题组考核,其中学院的机试、面试小分和学院考核总成绩都达标即可获得优营资格,听过优营比例很高的,我们这届计算机夏令营貌似有六七十人
二分图模板题
https://www.cnblogs.com/shenben/p/5573788.html
位运算
找出只出现一次的数
给你一组整型数据,这些数据中,其中有一个数只出现了一次,其他的数都出现了两次,让你来找出一个数 。
所有的数进行异或
m的n次方
也可以参考快速幂的做法
1 | //快速幂的递归写法,复杂度为 logb |
找出不大于N的最大的2的幂指数
把N的二进制中最左边的 1 保留,后面的 1 全部变为 0, 如何实现?
ans=最左侧的1,eg: N=19 = 0001 0011, ans = 0001 0000
代码实现:
1 | int findN(int n){ |
上交
1 | 1. 给定两个英文单词,每次操作可以删去任一单词中的任一字母,求使两个单词最终一样的最少操作次数 |