华东师范大学计算机学硕2023考研经验贴

1、个人经历

1.1、一战

      作者本人本科双非普本,22级毕业生,2022年一战武汉理工大学专硕,考22408,总分377,排名16,政治73,英语56,数学130,专业课118,武理专硕统招名额有五十多,理论上这分数基本没有问题,然而却因为卡武理英语60分的单科线无缘复试,后续也参与了调剂,不过专硕调剂高分遍地是,最后只有新疆大学软件学院收了我,因为离家太远,综合考虑,还是婉拒了,不过很谢谢新疆大学给了我参加复试的机会,让我在那段低谷的日子里增强了一点信心。因为不甘心和未来对于职业的规划我还是决定了二战。

1.2、二战

      决定二战后,我选择毕业后租房在老校区内,去图书馆复习,吸取了去年英语卡线的教训,我二战最终选择了华东师范大学计算机学硕,考11408,因为没有单科线,这也是一个无比正确的选择。由于考试带病在阳性考场考试、基础差、复习不到位以及试题变难等因素,导致英语一38分,正好踩着在国家线,出成绩前一度觉得自己过不了国家线,政治56,数学131,专业课126,总分351,初试排名第17(招收17+2中法联培),初始成绩吊车尾,因为2022年的录取最低分358,而且在复试分数线出来之前我都不知道排名,以为今年也无缘上岸了,边找工作边准备复试,然而今年分数线降了十几分,幸运女神拉了我一把,最后复试超常发挥,复试成绩第5,总成绩第6。

1.3、心态

      经历了两年的考研,对于考研,有太多的苦与甜,送给考研的学弟学妹一句话,上岸了值得高兴,没上岸,也不要悲伤,继续努力,总会有好运降临,不要功利性的比较,只要朝着进步的方向努力就好了。
      第一年的时候,我觉得我理应上岸,这样的分数,这样的排名,都是好的方向,但现实给我沉重一击,学校从不会在意我一个被刷的高分,只会按其自己的方式择优,就像去年分数很高,武汉理工为了不让总分分数线太高,所以在单科线卡了许多人,今年因为疫情,考生分数相对降低了,武汉理工则又将英语单科线降至55。
      今年,我把姿态放得很低,复试前已经做好了心理准备,提前找好了工作,没有后顾之忧后,全力备战复试,因为我相信只要能进复试就有机会,复试逆袭的例子我见证过太多了,今年我面对复试,我抱着放手一搏的心态,大不了失败就回去先工作去,第一天晚上机试满分,给了我极大鼓励,第二天上午面完试就去上海各处玩去了。
      给后面学弟学妹们些建议,考研及其考验心态,不要因为初试高就大意,高分被刷的例子不在少数,也不要因为分数低而气馁,在考研这个战场上,只要进了复试就有机会,只要不放弃,一切皆有可能。即便最后考研失败,也不要自我怀疑,你能坚持到这一刻已经很不容易了,继续努力,饭还是要吃,觉还是要睡,生活还是要继续,今年上岸率这么低,考研这条路上可变因素太多了,有时候不是只要努力就能上岸的,人生不是只有考研一条路,我很多二战没考上的朋友也基本上都找到了相对较满意的工作。

2、初试

      对于初试方面虽然我考得不是特别好,但也分享分享我的学习经历,大家有选择性了吸取,毕竟方法多种多样,找到适合自己的才是最好的。

2.1、政治

      一战时,我前期学习看的徐涛的课,做的肖秀荣的1000题,由于我学习政治散漫,每天就看一个多小时的课,从六月份开始,直到十月份才结束,后期看的腿姐的技巧班,然后在小程序上刷题,刷各个老师的选择模拟题,然后找对应的不足,重刷1000题的对应章节。对于大题,直接是在最后三周背肖四,最后我一战政治成绩考了72。
      二战时,由于前一年的基础,我学习政治更加散漫了,直接十月份开始看腿姐技巧班,看了一半觉得跟去年一样,干脆不看,去小程序刷题,然后大题就背背肖四,可能由于这不充分的准备,以及疫情的原因,再加上上海压分,导致这次政治只有56。不过最主要还是自身准备不充分吧

2.2、英语

      英语我呢没啥可说了,努力学习两年了,到考试就差得不行,一战时考前用墨墨测词汇量只有四五千,英语二考了56,无缘复试,离谱的是考研前的六级考试我居然过了,第二年,我疯狂背单词,练习阅读,一天学习英语2~4小时,然而一上考场就不行,做阅读的时候第一篇没看懂,心态就有些崩,然后接着第二篇也读不懂,就心态爆炸了,感觉完了完了,最后四篇阅读全是瞎蒙的。真是能过国家线都走大运了。看到我这英语分数,我都不敢想象最后能上岸。

2.3、数学

      对于考研数学的学习,我主要是自己研习教材,辅助考研老师的讲义,比如张宇十八讲,一步一步完成所有定义的理解,所有公式的推导,这个算比较花时间的,不过如果能够做到的话提升特别大,比较适合数学基础好以及学习能力强的同学,如果数学学习吃力的话还是建议看考研老师的课。
      然后数学最重要的还是多练习,多刷题,我第一年刷的是汤家凤的1800和张宇的1000题,第二年刷的武忠祥的660和张宇的1000,个人建议不要选择1800,因为题目偏简单,且题量大,十分耗时,我一战时整整写了三个月。
      最后就是刷套卷,建议这一步要早一点开始,刚开始时频率不要太快,可以四五天一张卷子,然后每做一套卷子,就要发现自己哪里不足,什么公式不记得了等等,然后去复习,并同时做练习题,刚开始分数低十分正常,只要把不会做的题去弄懂才是最重要的。随着错误减少可以增加刷套卷的频率,到最后冲刺的时候一两天一套卷子,一直保持到考研。

2.4、408

      专业课的学习我是使用王道的教材以及看王道的课来进行学习的,在看课时对知识点进行理解,然后通过后面的练习题进行巩固,对错题进行研究可以加深对知识点的理解。大题可以看也可以看王道的课来学习,最后做真题的时候要严格模拟考试,因为408真题数量太少了,模拟题质量都不太好,所以十几套真题卷子要好好珍惜,每做完一套,就研究错题,复习该套卷子一些不牢固的知识点。建议真题卷子要在十月份中旬开始做,因为刚开始做卷子时,会有很多知识点忘记的问题,这样就需要去复习对应章节的知识点,一套卷子可能需要四五天才能把其中的知识点复习到位。

3、复试

      2023年的复试是格外的刺激,第一次改为五五开,也就是初试满分500分,复试满分500分,总分取平均分,按总分从高到低录取,其中复试500分中机试200分,英语面试100分,综合面试200分。下面逐个分析:

3.1、机试

机试网站:华师机试网站(有一些2017,2018年的复试题是可以做的,近几年的都不公开了,可以搜索到学长学姐们写的回忆版)

      今年的机试题有5题,每题40分,总分200分,按照通过样例给分,时间是两个半小时,个人感觉题目难度是两道简单,两道中等,一道困难,建议机试能力强的同学来报考华师,因为机试的一道题相当于初试的40分,多做出来两道题,320分就和400分在同一起跑线了。机试能力差的同学就不建议来报考了,今年复试成绩出来后,据考研群里面的同学统计,计专被刷的最高分时398,逆袭的最低分时324,报考华师的话就得好好考量一下自己的机试能力,可以去做做力扣的周赛题,力扣周赛题相比起今年华师的机试题就少一道简单题。
      我从准备初试的时候就开始每周打力扣周赛,刚开始勉强能写出两道题,到现在前三题都能够轻松写出,出初试成绩后我每天都在刷力扣,也打打codeforce,同时也刷一些往年的真题,机试的时候前三题我花了16分钟,后两题花了一个小时全部AC。最后一题我也是运气好刚好是我学过的算法,才能快速做出来,因为本科时没有系统进行ACM训练,所以做比较难的算法题还是有一些吃力。下面是机试题的回忆版。

A 数字猜想

输入一个正整数x,如果为奇数:先乘3再加1。如果为偶数:除2。直到x变为1,然后好像是计算操作了多少次

B 特殊质数

这题我不记得了,比第一题就难一点点,不过也算是简单题。

C 最小字符串

给定字符串S(全为大写字母),对任意字符,可扩展也可以不扩展,求给定字符串对应的最小字符串
扩展:如A可以扩展为AA,也可以不扩展,为A
例:
输入AC,输出AAC
输入CA,输出CA
输入AAB,输出AAAAB

思路:遍历字符串S,对每个字符,判断其后面的第一个与其不同的字符是大还是小,如果大就扩展,小则不扩招,拿字符串AACB来说,第一个A和第二个A后方第一个与其不同的字符都为C,且比A本身大,则两个A都需要扩展,而C后方的字符B比C小,则不扩展,最后一个字符不进行扩展。所以输出结果为AAAACB

#include<bits/stdc++.h>
using namespace std;

int main() {
    string s;
    string res = "";
    cin >> s;
    int n = s.length();
    for (int i = 0; i < n; i++) {   //遍历每个字符
        bool flag = false;
        for (int j = i + 1; j < n; j++) {  //查找后方第一个与S[i]不同的字符
            if (s[i] < s[j]) {  
                flag = true;   // 大则扩展
                break;
            }
            else if (s[i] > s[j]) break;
        }
        res += s[i];
        if (flag) res += s[i];
    }
    cout << res;
    return 0;
}

D 数字排序

给n个字符串,这些字符串表示数字,对数字按从小到大排序输出(小数点前最多5位,小数点后最多9位)
输入:第一行:一个正整数n,后面n行,每行一个字符串
输出:按序输出n个字符串

输入:

4
28.334
-14.3456
5.9
1256

输出:

-14.3456
5.9
28.334
1256

思路:用结构体存储每个字符串,val表示正负,flag表示是否有小数,s1存整数部分,s2存小数部分,然后自定义排序。

#include<bits/stdc++.h>
using namespace std;

struct Num{
    bool val = true;  //判断正负
    bool flag = false;  //判断是否有小数
    int s1 = 0;  //整数部分
    int s2 = 0;  //小数部分
};

Num change(string s) {  //将字符串转化为结构体
    Num num;
    if (s[0] == '-') num.val = false;
    int len = s.length();
    for (int i = 0; i < len; i++) {
        if (s[i] == '.') num.flag = true;
        else if (s[i] >= '0' && s[i] <= '9') {
            if (!num.flag) num.s1 = num.s1 * 10 + s[i] - '0';
            else num.s2 = num.s2 * 10 + s[i] - '0';
        }
    }
    return num;
}

bool cmp(Num n1, Num n2) {  //自定义排序
    if (n1.val != n2.val) {
        return n2.val;
    }
    else {
        if (n1.s1 != n2.s1) {
            if (n1.val) {
                return n1.s1 < n2.s1;
            }
            else return n2.s1 < n1.s1;
        }
        else {
            if (n1.val) {
                return n1.s2 < n2.s2;
            }
            else return n2.s2 < n1.s2;
        }
    }
}


int main() {
    int n;
    cin >> n;
    string s;
    vector<Num> list;
    for (int i = 0; i < n; i++) { //输入字符串并转化
        cin >> s;
        list.push_back(change(s));
    }
    sort(list.begin(), list.end(), cmp);  //根据自定义排序
    for (int i = 0; i < n; i++) {  //输出
        if (!list[i].val) cout << '-';
        cout << list[i].s1;
        if(list[i].flag) cout << '.' << list[i].s2 << endl;
    }
    return 0;
}

E 整数分解

给一个正整数n,求将其分解为若干个素数之和的方案数。(1<=n<=1000)
比如7,有三种方案:
(1)7
(2)5+2
(3)3+2+2

思路:看似整数n很小,最大为1000,但其方案数结果算出来只能用长整数存放。这题我的思路是进行深搜,定义一个长宽为1001数组 d p dp dp d p [ i ] [ j ] dp[i][j] dp[i][j]表示整数 i i i分解成不大于 j j j的素数的方案数,最后需要输出的结果即为 d p [ n ] [ n ] dp[n][n] dp[n][n],深搜函数 d f s ( n , d ) dfs(n,d) dfs(n,d)会遍历小于等于 d d d的素数,对所有不小于 d d d的素数 i i i d f s ( n − i , m i n ( n − i , i ) ) dfs(n-i,min(n-i,i)) dfs(ni,min(ni,i))的累加和即为需要返回的结果。但由于有很多重复的计算,就用 d p [ n ] [ d ] dp[n][d] dp[n][d]记录下来,可以缩短时间,才能通过所有样例。(记忆化搜索的算法还正好是考前几周学习的开心消消乐
开心消消乐是2017年的推免复试题
d f s ( n , d ) = ∑ i = 2 ( i 为素数 ) d d f s ( n − i , m i n ( n − i , i ) ) dfs(n,d)=\sum_{i=2(i为素数)} ^ {d}{dfs(n-i,min(n-i,i))} dfs(n,d)=i=2(i为素数)ddfs(ni,min(ni,i))

#include<bits/stdc++.h>
using namespace std;

vector<vector<long long>> dp;

bool check(int x) {  //判断是否素数
    for (int i = 2; i * i <= x; i++) {
        if (x % i == 0) return false;
    }
    return true;
}

long long dfs(int n, int d) {
    long long res = 0;
    if (n == 0) return 1;  //n=0表示搜索出一个方案
    if (n == 1) return 0;  //n=1表示当前方案无效
    for (int i = d; i >= 2; i--) {  
        if (check(i)) {  //判断i是否素数,如是,求出以i为最大素数的方案数,所有素数对应方案数的累加即为返回的结果
            if (dp[n - i][min(n - i, i)] != -1) res += dp[n - i][min(n - i, i)];
            else res += dfs(n - i, min(n - i, i));
        }
    }
    dp[n][d] = res;  //记录在dp中,后续有重复计算的时候可以缩短时间。
    return res;
}


int main() {
    int n;
    cin >> n;
    dp = vector<vector<long long>>(1001, vector <long long>(1001, -1));
    cout << dfs(n, n);
    return 0;
}

3.2、英语面试

      英语面试包含英语自我介绍,英语问答,和文献翻译。
      自我介绍要背得足够熟,形成肌肉记忆的那种,因为复试的时候会处于极度紧张的状态,不够熟的话容易出现卡顿,一旦卡顿如果心态不好的话估计就会大脑一片空白了,英语面试是和综合面试一起进行的,面试的5个老师中,有一个老师可能是专业英语老师,因为整个英语面试都是那一个老师安排问答。
我被问到的两个英语问题:
1、What research direction do you expect to pursue during your graduate studies?
2、What projects have you worked on that are related to this research direction?
      然后英语翻译是阅读一段对话,翻译前两句话,我的是计算机视觉相关的内容。我没有听懂只翻译前两句话,一路往下翻译,被打断老师打断感觉老尴尬了。

3.3、综合面试

      综合面试首先抽取小卡片,每张卡片上有两道专业问题:
我的问题:
1、计算机视觉有哪些任务?
      第二个我不记得了,因为我连那个专业词都没见过,也不知道什么领域的,不过听其他参加复试的说,可以选择再抽一次。如果运气不好两道都不会,就选择重抽吧。
答完专业问题后就是随机问答了。我记得的问题如下:
1、你成绩单上本科统计学成绩比较差,可以解释一下吗?
2、你对chatGPT有什么看法?
3、你一战考的哪个学校,考了多少?
4、如果你今年没上岸,你计划怎么办?(这个问题我感觉好常见,很多经验贴上都有)
5、你简单介绍一下你的毕业设计。然后在毕业设计上展开了一系列提问(毕业设计要好好做,华师好像比较重视)
6、你想要在研究生阶段,进行什么方向的研究?
(感觉老师好像不知道我的初试成绩,因为老师没有对我的英语38分做出提问,我的英语成绩放在整个学院的考研成绩中都是相当炸裂的存在,没人能比我更低,我最怕的事情没有发生哈哈)

  • 23
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值