我本科是本校的软件工程,17年8月开始准备考研。初试前每天复习9小时,复试前因为忙着毕设没怎么准备。=============================初试===================================
初试考4门课:政治,英语2,数学2和计算机综合(408)
政治复习的时间最久,用的是肖秀荣全套。可惜我记忆力不太行,记的内容全在题目材料上。略尴尬,只有60多分
英语2的话我只做了一遍最近10年的英语1真题和两遍英语2真题,晚上睡觉前和早上起来还用百词斩记15分钟单词,正式考试的时候发挥得也一般,只有80多分。
数学2我用的是张宇1000题,高等数学18讲,线性代数9讲和最后四套卷。实际考试的时候考了一道摆线积分,最后四套卷里面也有类似的。然而我觉得不太可能考,就没去深究。不得不说的是张宇最后四套卷难度非常大,比今年号称历年最难的数学2还难上几分。
计算机综合当然推荐王道论坛的书啦。因为考研的内容和平时上课讲的有点不一样,所以我买了全套。最后也考得还行,有110多分。
因为我是本专业的学生,而且也用了不少时间复习,初试的话感觉还算比较稳,总分350多,排名40多
============================复试=====================================
复试分为笔试,面试和机试。
按重要度来排序的话应该是面试最重要,笔试次之,机试最后。
复试满分500分,其中笔试100分,面试400分(其中包括英语阅读翻译100分)。机试只是作为参考。
============================面试======================================
面试首先抽一段和本专业相关的英语,首先给一点时间阅读,然后要朗读和翻译。我拿到的那段讲的是平面图着色问题。然而因为没有复习,不知道planar graph就是平面图....结果就只有70多分。
然后开始面试。问了我几个问题:
1.讲讲P和NP的区别
2.planar graph是什么意思(我在翻译的时候跳过了planar..面试的时候又问我一遍)
3.讲几个离散数学的定理
4.讲讲warshall定理
5.讲几个著名的定理
6.讲讲你做过的项目
然而我记忆力比较差,也没有怎么准备,答得不太好。
==========================笔试=========================================
笔试分为离散数学和c语言设计
离散数学今年考得还算比较简单,考了40多。
第一题是将命题符号化,并证明这些命题是一致的(即存在一组取值使得这些问题都为真)
第二题是用谓词和量词将命题符号化
第三题是集合的运算,画Venn图即可
第四题是证明等价关系:已知Q是等价关系,S是等价关系,证明QoS也是等价关系
第五题是用dijkstra算法计算最短路径
c语言今年难度一般
有10道选择题,5道判断题,1道编程题。
选择题和判断题考的是c语言的语法。印象中有几道指针数组的。
编程题考的是文件操作,字符串操作和排序。
我对于比较少见的语法还是不太熟悉,所以只有30多分。
=========================机试=======================================
机试不算分,但会作为面试的参考。
听说有同学机试成绩比较低在面试的时候被导师说了。
建议跨考或者写程序不熟练的同学去刷点题,可以在leetcode或者在hdu,poj,zoj等等oj上刷。
今年机试题目是中文的,难度一般。
在考试之前有三套模拟题,共23题,
正式考试是10题,3小时内完成。
难题作用其实不大,毕竟机试第一的那个人面试才250多分,加上英语就330多。
在最后我会分享这33题里最难的5题,难度从易到难排序。实际作用不太大,有兴趣同学的可以看看。
由于篇幅问题,代码分享于百度网盘。如有错误,欢迎指正。
https://pan.baidu.com/s/1PIPutqUyTGS7_aZh3MBE1w
提取码:3tbe
祝大家顺利考上喜欢的学校~
=======================机试题目分享====================================
1.k-马问题(模拟考试)
题意:在一个m*n的棋盘上有一些马,马跳一步可以往水平方向跳2格,往竖直方向跳1格,或者往水平方向跳1格,往竖直方向跳2格。
k-马一次最多可以跳k步。问这些马能否跳到同一格内?若可以,则输出最少需要的次数,若不可以,则输出-1
输入格式
第一行为一个数t,代表有t组测试用例
每组数据的第一行为两个数m,n,代表棋盘的行数和列数
以下m行每行有n个字符(0
字符‘.’表示空棋盘,数字k表示该格子上有一个k-马,即该马一次最多可以跳k步。(0
输出格式
输出t个数,第i个数代表第i个测试用例的答案
样例输入
3
3 3
1.1
...
...
3 3
1.2
...
...
2 3
9..
.8.
样例输出
2
1
-1
题目分析:
题目的意思就是求从多个起点出发走到终点最少需要的次数。由于从m个起点出发要重复多次计算,所以我们枚举所有马走到的终点,将其作为起点。
然后从起点出发,广度优先搜索,计算到走到每个马位置的步数,转换为次数以后加起来即可。
复杂度O(m^2n^2)注意若有一个马无法到达,则输出-1
2.旅游问题(正式考试)
题意:有n个城市,每两个城市之间都有铁路和航班。坐飞机的时间是坐铁路的一半。以邻接矩阵的形式给出城市间坐铁路所需的时间(保证反自反和对称即aii=0,aij=aji),
求:在最多坐k次飞机的情况下,从城市1到城市2最少需要花费的时间。
输入格式:
第一行一个数t,代表测试用例个数
接下来对于每个测试用例,
第一行两个数n(n<100)和k(k<50),代表城市个数和最多坐的飞机次数
接下来n行每行n个数。是这n个城市的邻接矩阵。
输出格式:
输出t个小数,第i个数代表第i个测试用例的答案,输出保留一位小数。
样例输入:
3
3 0
0 3 1
3 0 1
1 1 0
3 1
0 3 1
3 0 1
1 1 0
3 2
0 3 1
3 0 1
1 1 0
样例输出
2.0
1.5
1.0
题目分析:
题目大意是求两点间最短距离。这里有个转弯的地方就是可以坐飞机。将一个点拆成k+1个点。分别代表在这个城市已经坐了0到k次飞机。
然后就可以用dijkstra算法或者spfa等等求解了。
3.最大集(模拟考试)
题意:给定n个数,在这n个数里任意取出k个数,使得这k个数两两互质。求k的最大值
输入格式:
第一行一个整数t,代表有t个测试用例
对于每个测试用例:
第一行一个整数n,代表有n(n<50)个数。
第二行n个正整数(每个数在100以内)。
输出格式:
输出t行整数,第i行表示第i个用例的答案
样例输入:
2
3
6 10 15
5
1 2 9 12 97
样例输出
1
4
题目分析
乍看之下是求最大独立集。这是个NP问题,网上可以查到较好的方法求解。但是通过分析输入规模,并不需要用到
最大独立集。由于每个数在100以内。所以与50以上的质数不互质的数只会是这个数本身。所以只需要对50以下的
质数进行分析。由于50以内的质数只有14个,所以我们可以用状态压缩动态规划。将每个数分解质因数,然后进行
状态压缩。如果某个数含有第i个质因子,则将它的第13-i位置为1。如:整数140=2^2*5*7,2是第一个质数,5是
第三个质数,7是第四个质数则10可以表示为二进制1101,即13。然后进行dp:
dp[j|a] = max(dp[j|a], dp[i - 1][j] + 1)(j&a== 0)
4.数字(正式考试)
题意:有一个很喜欢数字4和7。他喜欢用数字4和7组成很多新的数,如:44,47,774等等。他将这些数称为B数
(忘了叫啥了)给定一个只含数字和问号的字符串,问号可以代表'0','1',...,'9',问这个数能不能表示成两个B数
相加。如:1?1可以是121,而121=44+77,可以表示成这两个B数相加。若不可以,则输出-1,若可以,则输
出最小的数。如:1?1可以是151=74+77,但121<151,所以应该输出121.
输入格式:
第一行一个整数t,代表有t个测试用例
接下来t行每行一个只由数字和问号组成的字符串。
输出格式:
输出t行整数,第i行表示第i个用例的答案。
样例输入:
5
1?1
2??
1?
???????
1?2?2?
样例输出:
121
-1
14
1188888
122221
题目分析:
这道题目有点复杂,细节比较多。仔细分析可以发现每一位只能影响它的前一位和后一位。
记n为字符串的长度,则分两种情况:
1.两个加数都是n-1位。这样的话第一位一定是1
此时可以从最后一位开始检查到第三位,并记录进位情况,遇到问号,则贪心取值
(如必须进位则取1+后一位的进位,否则取8+后一位的进位)
此时又分四种情况:
(I)上一位是2,9,5,说明这一位要进位
(II)上一位是1,8,4,说明这一位不能进位
(III)上一位是?,那这一位可以进位也可以不进位。
(IV)其它,则不合法
第二位的取值只能为1+后一位的进位或4+后一位的进位。
2.有一个或者两个加数是n位
因为两个数可能位数不一样,所以可以枚举较小数的位数。
从最后一位开始检查到第二位,具体步骤和1中一样,但是注意当检查过了较小数的位数时,
数字会不一样了,而且也不会再出现进位了。
如最高位是问号,则其取值看次高位是否可以进位
若必须进位或可以进位,则最高位取1
否则取4。
细节请看代码。
5.马周游问题(第一天测试题)
据说这题是上一届考试最难的一题。题意描述得不是太清楚,但大概做法能猜到,在网上也能搜到
http://www.xuebuyuan.com/2054151.html