我的保研之路(南京理工大学计算机—>清华大学计算机)

2018.4.29更新
最近实验室收到了不少申请,也拒绝了很多(不是我干的),感觉很有趣,现在身份转变了,以前不能理解的事情慢慢也理解了,给出几个建议。
– 英文成绩是个敏感的东西,一般大家都填写英语四六级成绩,也见过填写雅思托福成绩的,也可以。但是真的不建议填写GRE成绩,这个可能会让老师觉得你有出国的打算,三心二意,放老师鸽子。
– 对于什么三好学生、优秀学生干部之类的,用处真的不打,如果有省级及以上可以填一下,校级的就算了。
– 在科研经历这块,不建议填写课设的东西。
– 社会经历这块,可有可无,不建议填写什么“发放社会问卷”、“慰问敬老院”之类的。
– 建立还是很有必要放一张照片的,不要不放。
– 对于计算机专业的同学,CCF成绩低于300不建议填写。

以下为原贴

先挖坑,最近忙着刷题,有空来写下。


2016.11.3更新

首先感谢THU的直系学长LT,他是我们学院第一位保上THU的,破冰者,还请了我吃了THU两天早饭。还要感谢一直以来给我极大帮助的LH主任,非常自此我。还要感谢保研路上认识的武汉大学的LH同学,中山大学的CWY同学,南航的LDQ同学和南邮的ZJH同学,以及我们班的XQJ和保研群的徐神等同学。

懵懂的痴呆少年

我相信很多工科的同学都有一个清华梦,这也是我一直以来的梦想。上大学以来,周围很多同学反映“我高考发挥失常,才来了南理工”,“这个学校好烂”等等,其实我比较反感的,这样打嘴仗没有意义,如果想表明自己确实因为发挥失常才来了这个学校,用实力证明不就好了,如果一个考试第十名的同学说这种话,而排名第一的没有说,那你凭什么说自己很强,明明还有九个人比你有资格说却很低调。

我觉得能来到这个学校是我的幸运,这里很好,而且我的分数也是压线进来的,所以我觉得能上南理工是我的荣幸。

大三之前,听说过保研的事,但是那时候知道的太少,感觉离自己很遥远,但是听说有些学长保到了很好的学校,比如复旦啦,北航啦,南大啦,猴赛雷,都好厉害,当时就和自己暗暗说,我也要好好准备,以后成为他们的校友。

2015年九月的一天,我当时在为编程爱好者协会招新,偶遇LT学长,交流后知道他已经保研THU,五体投地膜拜之,当时他送了他的一份简历给我,说了一些鼓励的话,帮我分析了一下下一步的计划,就走了。回来之后我将他的简历好好存放起来,暗自定了一个小目标,成为他的校友。

之后的大三下学期因为事情太多,所以还是没有开始准备保研。当时六级还没有过,而且还错过了九月份的报名考试时间,罪过罪过,这是我大学最后悔的事情。当时我觉得不是2016.6月还可以再考一次么,就报名那次就好了呀,这为后的悲剧埋下了伏笔。这里提一个忠告:英语六级一定要尽快过掉,而且考的越高越好,500就可以达到所有学校的标准,550就可以说英语是优势。

突遭打击跌入低谷

在今年寒假,大约是过年前的几天,我觉得不能再等了,就问LT学长,保研应该准备什么,但是LT学长和我说了些注意事项,突然,他问我英语六级,然后我悲催的得知,六级没过保研外校就不要想了。

可想而知我当时的心情。。。。。完。。。。。。。。。。。

我的梦想。。。。。就因为一个30块钱的破六级。。。。完。

当时真的万分懊恼,因为我明明有很多次机会考六级,但是考了三次,都是裸考,分别是389,409,413,还有一次是忘记报名了,足足四次机会,我一次也没有把握住。

其实是这样的,有一种东西叫保研夏令营,时间一般是4月-8月,基本上每个211,985都会有,如果去参加而且表现不错,是直接可以被钦定下来的,不需要九月再去参加预报名,到最后的时候直接在保研系统上填报即可,就是这么简单。在之后我会详细说我的夏令营经历,在此先挖坑。

打击真的是太大了,最后LH学长鼓励我,给了我几条路,那就是

第一,找一个不要求六级成绩的学校(基本没有……)

第二,去考雅思或者托福,因为很多学校在夏令营要求的时候,有这样的话。

“请提供国家英语四、六级证书或TOEFL/GRE/雅思成绩等证明文件复印件”

所以说可以通过考雅思去充当你的英语成绩,而且更有含金量。雅思考个6分,基本上就可以了,参加夏令营老师应该不会卡你的英语成绩。

第三,九月份正式推免预报名的时候直接正面刚。

这时候我的简历列出来大约如下


教育背景:
南京理工大学 计算机科学与工程学院     软件工程专业   本科在读

专业成绩排名:2/90     英语水平:CET-6 413  CET-4 527

计算机:CCF 计算机软件能力认证 380 分(排名全国 1%)

奖学金与个人荣誉:
国家奖学金

南京理工大学优秀共青团干部

校特等奖学金

南京理工大学三好学生

南京理工大学优秀学生干部

竞赛获奖:
2015 甲骨文杯全国 JAVA 程序设计大赛华东赛区一等奖 2015.6

2015 甲骨文杯全国 JAVA 程序设计大赛全国三等奖 2015.7

第六届“蓝桥杯”江苏省赛区 C/C++程序设计本科 A 组二等奖 2015.3

ACM/ICPC 国际大学生程序设计竞赛亚洲区域赛上海站优秀奖 2014.11

ACM/ICPC 国际大学生程序设计竞赛亚洲区域赛越南河内站优秀奖 2015.11

全国第八届“中兴·图灵杯”人工智能程序设计大赛二等奖(亚军) 2015.12
项目科研经历:
国家重点科研训练项目《基于深度卷积网络的人脸年龄分析算法与实现》组长 主要技术:机器学习、卷积神经网络、图像处理。使用主要的工具:tensorflow

个人开发维护网站 http://izihan.top/

主要技术:Linux、MySQL、PHP、云主机

社会工作与实践:
南京理工大学 计算机院 2013 级学生会主席 2013.9-2015.9

南京理工大学 计算机院大学生科协主席 2015.9 至今


2016.11.4更新

学长推荐了我去看保研论坛,之后我马上开始浏览,真的感觉就像是打开了一个新的世界,里面的事情都是非常切合保研的东西,但是说实话看的时候真的很自卑,和别人一比较才知道,自己实在是差的太远了。

我用了一天的时间仔细的思考了下,最后的父母的鼓励下,决定去考雅思。

这其实对我来说真的是非常艰难的决定,因为雅思,托福,出国,这些名词真的离我太过于遥远,而且相信大家也能察觉出来,我的英语不是很好,所以说这必定是一条十分艰险的路程,但是我没有别的选择了,只好拼这一把。

从我现在的简历的情况,可以分析出:

1.英语是一个弱项,没有任何竞争力。

2.成绩单上的学习成绩还不够好。

3.荣誉获奖只有校级的,缺乏干货。

4.竞赛获奖中只有一些水奖,懂的人一下就能看出来,根本拿不出手。

5.科研和论文几乎没有,但是这点往往是保研的时候对方学校非常看中的,如果你有一篇sci或者ei,那简直不知道要高到哪里去了。

6.学生工作做的不错,但是不确定是不是加分项,有些时候可能是减分项。

所以我制定策略如下:

1.从现在开始练习英语,这样雅思六级两不误,雅思的考试时间参见去年清北的夏令营材料提交截止日期,你一定要在那之前把雅思成绩单拿到,要不然就白准备了。

2.开始刷分,在大三下学期,把我的学习成绩能刷多高刷多高,提高排名,因为在保研中学习排名异常重要。

3.荣誉获奖这种东西嘛,没辙,只能好好表现,然后听天由命。

4.好好搞ACM,认真刷题。

5.从现在开始认真做我的科研训练,扎扎实实的学,因为结题的时候是需要一篇论文的,所以论文我到不担心。

6.继续认真负责的做好自己的本职工作。

其实这时候定的目标真的有点太理想化,每一项都想做的最好,但是人的精力真的是有限的,这点在我后来深有体会。

之后的寒假生活,我大约在看论文,刷 ACM和写六级卷子中度过。。。。

开学后事情变多了,但是我时刻提醒自己别忘了梦想,所以报了一个雅思班,开始认认真真的学习英语。

就这样,在不知不觉中,到了四月,保研第一阶段拉开了帷幕。。。。


2016.11.16更新

四月的时候我做了这么几件事:
1:上课玩手机。。。。囧,由于编译这门课有点吊,慢慢的我已经走远了,听不懂老师在讲什么。

2:每天刷保研论坛。

3:周末拼命地学英语。

4:刷ACM题。

5:雅思考试报名,时间是五月21号考。这个事情我走的更远,我以为只要提前一个月报名就好,而且自己学校就有考点,很方便,就一直闷头学英语,忘了这事,结果老子发现。。。。。。南理工考场没有名额了,南京的都没有了!老子最后无奈只能报考了苏州的考场,持续攒人品。

6:加入了QQ群(全国非985保研升学一群 376068520),在徐神的帮助下开始全面的看待保研,同时每天在群里灌水。

7:获得成就“第七届“蓝桥杯”江苏省赛区CC++程序设计本科A组一等奖”

四月末,心仪的第一个目标出现了——南大计算机

当时也是蛮忐忑的,因为还不能给自己准确定位,所以南大相当于就是定段赛,如果过了,说明还可以去申请更高的学府,要不然,就选择低一等的学府。同时还报了

LAMDA实验室,看似信心满满的样子,我就这么上路了。

4月26号,心仪的第二个目标出现——北大信工

【夏令营】北京大学信息工程学院关于举办“2016年全国优秀大学生科技夏令营”的通知

5月4日,心仪的第三个目标出现——复旦计算机

复旦大学2016年全国优秀大学生夏令营网上申请须知

5月5日,心仪的第四个目标出现了——清华计算机
关于举办2016年暑期全国优秀大学生夏令营的预通知
5月6日晚,我的正式开始联系老师,给多位心仪的老师发了邮件。
5月8日,和队友一起去参加江苏省程序设计竞赛,由于我在比赛最后时刻机智的抱紧了队友的大腿,躺的了一个一等,也算是对之前刷题的一种回报吧。获得成就“2016江苏省大学生程序设计竞赛一等奖”

5月9日,南大的出结果了,开放日和LAMDA双双拒了我,我天。。。。恩,也许,这就是我的上限了吧。

讲道理还是比较受打击,但是路还是要继续走,不要放弃。

5月10日,心仪的第五个目标出现了——北大信科

北京大学信息科学技术学院关于举办2016年信息学科优秀大学生夏令营的通知(第一轮)

可能有人发现,这里面没有上海交通大学,其实我真的非常想申请这所学校,但是今年的情况很迷,上交的招生很混乱,也没有好好宣传,所以很多人都不知道上交应该怎么申请,我当时糊里糊涂找了个地方填了个表,然后就没有下文了,只能说无缘吧。

之后的最重要的事情就是雅思考试,所以一直在复习,考试的过程略去,反正不是很理想,口语和作文雪崩,但是有一个重要的收获,就是——苏州的松鼠鱼真的好好吃哦。

五月末还一个重要的事,就是蓝桥杯国家总决赛,地点是在北京,这次去我还有一个目的,就是看能不能和之前联系的清北老师见一面,俗称,见面陶瓷。当时只有THU的A老师回我,热情地邀请我去(我厚皮赖脸的要求去)面谈。想想其实也不怎么紧张,我可是去过SVIP皇家金陵大学,像清北这流学校,怎么能和南大比。

比赛方面,获得成就“第七届“蓝桥杯”全国总决赛CC++程序设计本科A组三等奖”,其实是三等奖第一名,尴尬,就差一点水到二等。

私事方面,言归正传,其实还是蛮紧张的,A老师热情的发来了地址,我们约好了时间后,我就出发了,从住的宾馆到五道口大约花了半个多小时。

第一次踏进FIT楼,紧张的不行,好不容易找到老师的办公室,推门进去,发现一位和蔼的老教授看着我,恩?好像有点不对,网上的照片看起来英俊潇洒,好像我走错办公室了吧(时候才知道那是他20年前的照片),但是老师嚼着我的名字,我就赶紧屁颠屁颠的过去了,又不是来相亲的,是来学习的对吧。

面谈过程如下:

我上去先做了个自我介绍。之后老师好像也略微有些紧张,问:XX,你来找我想了解什么呀?

我:老师,我想了解一下咱们实验室的概况,发展方向什么。

老师:那是这样的,XXXX,你还想了解什么呀。

我(有点尴尬):老师,我想了解您刚才讲的那个XXX。

老师:哦,是这样的,XXX,那你还想了解什么呀。

我(更尴尬了):哦哦,木有了。

老师:来来来,你喝水。

我(脑抽):不不不,我不喝!

老师:。。。。。

我觉得太尴尬了,就赶紧道别就跑了。。。。事情的经过就是这样,老师真的超赞,很和蔼,和我想象的那个不一样,我以为这种声望很高的老教授都会有点傲气,但是我后来才慢慢发现,越是德高望重的老教授,越是和蔼,所以,大胆的联系老师吧。

之后我就回到了南京,继续上课玩手机,等待夏令营名单和雅思成绩。


2016.11.24更新

6.13号,雅思成绩已出,5.5GG

6.21号,收到北大信工夏令营入营通知(之前已经被联系过的老师告知 )

6.28号,收到复旦计算机夏令营入营通知

7.1日,收到清华计算机夏令营入营通知(之前已经被联系过的老师告知 )

期间被北大的夏令营拒了,sad,原因有好多,根本上就是自己太水。

在这里说一下联系导师的事情,我当时联系了大约50位老师,大约有60%是石沉大海,30%是客套回复,10%是可能更进一步交流,所以大家在这个阶段千万不要灰心,其实不管失败多少次,只要有一位老师选择了要你,你就已经成功了,因为你最后也只能去一位老师那里,所以管他失败了多少次呢,要多撒网。

这里说一下我对于联系导师的结果评级

现象 内涵 评级
石沉大海 或者老师回了但是拒绝 NO C
回复:收到 行了行了,我知道了 C+
回复:保研都是有程序的,要遵循这个基本法,我没有任何要钦定的意思 你还是TOOYOUNG B-
纯英文回复 我只是想秀一下而已 B-
回复:欢迎报考 B
回复:来把这一套题目做了 让我来测测你 B
回复:期待面谈,并留电话 你可以呀 A
回复:我肯定要你 行了就你了,钦定 S

大部分情况应该都是B级,如果你一旦得到A级的回复,那么就说离钦定不远了,当然这毕竟是双向选择,所以即使你是S级,也不可以掉以轻心。当然如果大家还遇到过什么其他的回复,可以在评论区说下,我补充上。

接下来就是夏令营的回忆录了,首先参加的是复旦夏令营。

复旦夏令营

时间:7月4日-7月8日

安排:

7月4日10:00 至15:00:报到、领取材料,异地学生交报销车票、核对本人的银行账号信息,入住宾馆
7月5-6日:开幕式、学术报告、实验室开放活动
7月7日:机考、面试
7月8日:离校

过程:

我是第一天中午从南京出发的,因为比较近,一个多小时就到了,到了之后就随便吃了点东西就坐地铁赶往张江校区。到达之后,就是一堆手续,然后入住到旁边的锦江宾馆(nice!)在这里结识了舍友武汉大学的LH,有论文的科研大神(%%%)。

第二天和第三天都是在听讲座中度过,吃饭的地方就在食堂。因为之前就认识到联系导师的重要性,所以第一天来到后就马上给心仪的三位老师发了邮件,表明目的后进行自我介绍,然后约谈。幸运的是三位老师都热情的回复了我,在第二天的时候我也成功和他们见面交流,得到的结果都是S。有一个不幸的消息,就是得知只有20%的同学会得到OFFER。

第四天是机考,这个要吐槽一下,之前咨 询过很多人,都说上机很简单,都是水题,所以我还真是大意了,结果好像不是那么回事。总共有三道题,每道100分,分大数据和小数据,大数据过了得到70分,小数据过了得到30分。

第一题
给一个图,有障碍有门,有钥匙,要求我们从一个起始点走到一个终点,一个门只有唯一一个钥匙,判断能否走到,最短多少步走到。
题解:很明显找终点的过程就是宽度优先搜索,因为钥匙和门很少,可以状态压缩动态规划做。
第二题:
一个非常明显的最短路,解题方法直接用dijkstra就好。
第三题:
数学题,这个我记得很简单,印象不深了,但是是一个数论水题,小数据$$O(n^{2})$$复杂度就可以过。

当时感觉很邪门,第一题交了很多次一直是WA(WRONG ANSWER),最后只过了二三,惨。

紧接着下午就是面试,分专业面试和英语面试,英语面试很简单就是英文自我介绍,然后再介绍一下自己做过的项目,专业面试比较尴尬,建议带几份简历过去,进门后先给各位老师都发一下,这样他们就可以根据你的简历问问题,否则的话场面真的会很!尴!尬!一群大眼瞪你的小眼。

晚上的时候有部分同学接到了老师钦定的电话,恩,祝贺祝贺。

第五天就是返程,在路上我也接到了电话,不过是拒绝的。。。。。。原因后来问了下就是竞争太激烈了,我报的方向报的人太多了,所以我就GG了。


2.14更新——最近懒癌发作

复旦夏令营回来之后,就进行正常的ACM集训,期间收到了清华下一代互联网实验室的面试通知,但是因为比清华计算机的夏令营时间早很多,想想早去了耽误学习(还要多住几天宾馆,穷,而且要准备这个实验室的面试需要花很多时间,我又很笨,就算了),所以回信说明自己去不了,然后婉拒,趁着这段时间恢复下算法实力。

清华夏令营

时间:7月16日-7月18日

安排:

过程:

7月15南京出发,第二天上午到达北京,见识到了什么是真正的大城市。首先办理入住,紫金公寓单间。

第二天就是听了一天的实验室介绍,讲道理,提供的吃的太好吃了(因为我馋),服务的志愿者女生颜值也高的不行,然而一问,是从人大请来的。。。。。。期间了解到这个夏令营就是直博夏令营,不会有OFFER,举办的目的就是提供一个和老师交流的渠道,老师的钦定名额是有限的,先到先得。


晚上的题目就是CCF模式,用的是UOJ,题目难度适中,前两道题是水题,第三题是恶心字符串,感觉没拿满分,第四题第五题都没什么思路,水了水小分,最后算了算,大概拿了300分,满分500,心情较为低落。之后听说,会根据成绩分别给前20%,前50%的发邮件通知,没收到邮件的就是后面的了。

第三天的交流会较为随意,我和之前联系过的A老师交流了一段时间就走了,钦定有望,在清华附近找个宾馆住下,一边继续联系北大信科的W老师,期待去拜访一下,一边准备下一步的打算,因为北大信工夏令营接踵而至,所以要从北京直奔深圳。后来收到邮件,得知成绩是前20%但是感觉还是不理想。

北大信工夏令营

安排如图

过程:

感觉这是最逗的夏令营,首先深圳真的是太热了,我基本还没进校门就打消了来这里的念头。。。。

住的是学生宿舍,进门就傻眼了,上下铺,床上只有床板,一个垫子,一个枕头,一个床单(这个是用来盖得),四人间,独立卫浴,吓得我赶紧去楼下超市置办了一批日常用品,讲道理我们是来学习的不假,但是如果招待条件寒酸可能会让学生觉得不受重视或者此地经费不足,进一步怀疑这里的科研实力。

感觉这一次夏令营就是一段黑历史,辩论赛我的发挥简直是人生的污点,不提了,期间拜访过之前联系过的大牛W老师,W老师热情的带我参观实验室,好感度巨升,在次再次感谢老师的热情招待和指导,面谈结果也非常乐观,基本钦定。

夏令营阶段到此结束,得到一个结论,以后还是别做硬卧了,太累了。。。。回家之后开始看各种论文,提高姿势水平,准备迎接9月的保研预申报。


2017.2.19更新

八月,经过一段时间的学习,在队友的帮助下,成功将自己科研训练的部分实验结果整理成一篇论文《基于深度卷积网络的人脸年龄分析算法与实现》,然后成功发表,算是对之前努力的一种肯定,在此再次感谢JZ教授的指导。

9月1日,看到清华大学研究生招生网上更新清华大学2017年接收外校优秀应届本科毕业生免试攻读博士(硕士)学位研究生的有关要求,赶紧行动了起来,期间很多学校都已经发出预申报的通知,不一一列举,我在此期间一共报了北大信工,清华计算机,复旦计算机,南大计算机,没有报北大信科,因为自己太弱。

之后接到结果,清华计算机、北大信工和复旦计算机都接到了复试通知,而被南大第三次拒绝。

清华计算机复试

时间:9.20-9.21

安排:

9月20日上午8:15开始:校外直博生专业面试 ,地点在东主楼10区103,   有学生报名的博导参加
9月20日上午8:15开始:校外推免直博生综合专业面试(含英语、综合表现),地点在东主楼10区109   ,不需要博导参加
过程:
我的顺序是属于中间位置,被安排在下午面试,专业面试的过程为先进行自我介绍,然后可能会有部分老师会提问,如实回答就行,专业面试完之后就直接去另一个屋子进行综合专业面试,内容为英文交流。
 专业面试的时候,要首先将你的简历发给各位老师,所以这个要提前准备好,我当时粗略估计有四十位老师,所以打印了四十五份简历。这里有一个小插曲:我大早上去打印简历,是在校园内打印的,一开始也没问多少钱,我们学校里打印的话,彩印铜版纸是2元一张,所以我只带了一百多块零钱,结果打完傻眼了,6块一张。。。。。也就是说我花了快三百就打印了几十张简历,简直惊呆,开眼了,钱不够还好有支付宝,想想赞赞人品吧,,,,,忍住了,我这个小心脏啊。
专业面试的过程中大约有四十个教授出席,压力山大。我的专业面试比较顺利,没有怎么被为难,但是英文综合面试那块雪崩,忘词了,说的磕磕绊绊,感觉拉分巨大。
然而我在保研过程中的最大困难来临,晚上接到教务通知,表示之前联系的A老师今年没有招生名额,明天早上要去调剂,打击巨大。感觉半年来的努力瞬间白费了,A老师真的很棒,不能师从其门十分遗憾。
第二天经过惊心动魄的一上午,最后有幸被分配的F老师门下,十分幸运,方向我也非常喜欢,在此再次感谢F老师选择我。虽然这么就算复试结束了,但是清华这边并不会给出一个具体的结果,只会出具一个不录取名单,所以剩下的人也不一定就是录取,需要上报审核,大约要等一个星期,所以依然提心吊胆。

2017.4.16更新(终结篇)

复旦计算机复试

时间:9.22

安排:

上午9:00,在计算机院办提交材料报道。

下午,外语(口试)、综合知识(口试)。

过程:

提心吊胆的我,还是不放心,所以在清华结束的第二天,又来参加了复旦计算机的复试,我申报的也是直博,硕士的面试是23号。因为时间非常紧,所以我直接做了一晚上的火车,早上大约六点到的上海站,然后直奔张江校区,提交完材料后还非常早,我就随便找了个教室开始学习(睡觉),恩,我就是这样好学(懒惰)。

下午的面试是合在一起的,一共分为了两组,看总名单上一共大约17人的样子,听说能留住一般人,开心。面试的过程如下,先进行英文的自我介绍,然后在针对自己的简历谈一谈,时间10分钟左右,因为有几个人没来,所以虽然我是倒数第二个,但是一个小时就轮到我了,表现正常,这次我特意好好准备了英语。

面试过后,评委老师就让我们在外面等,他们要和成绩,其实我这一整天内心的十分焦躁,有种无家可归的感觉,因为我已经错过了保本校了,如果清华和复旦都跪了,那只能去北大信工面试了,讲道理深圳对于我们北方的孩子来说还是有点接受不了。

片刻过后,老师们纷纷走了出来,一脸严肃,我们赶紧去问在那里帮忙的志愿同学,得到了振奋+懵逼的消息(大家基本上都过了)。

当时内心依然忐忑,感觉你仿佛在逗我(后来才知道,因为好多同学没来参加,所以基本上是等额)。当我还在校区内徘徊,不知所措的时候,之前联系过的老师电话通知我被复旦计算机录取了~这可能是我一天中最兴奋的时候了,然后我貌似干了件十分智障的事情。因为我十分想和别人表达我的喜悦,所以我和一起参加面试的同学热情的聊了起来,并且把他们一个个送上了离校的班车,然后我一个人坐在草坪上呆呆的看着天空,回味刚才发生的一幕幕。。。。。直到我发现,我是不是赶不上回南京的火车了。。。。。遂匆匆忙忙的赶往火车站,在火车上,我做了一个重要的决定:放弃第二天的北大信工面试。

至此我觉得我的保研基本上就要结束了,现在就看清华的结果了。

9月27日,是个是个值得纪念的日子,我最终在清华招生网收到了确认的信息。

之后就是,在学信网上进行走一下流程,然后这应该就该结束了吧,感谢一直关注我的同学,回过头来,我的准备其实算比较久的,毕竟是笨鸟先飞嘛~~~

这里放上我丑的不行的简历,仅供互相交流。

曹檑简历-分享版

 

著作权归作者:bryant03所有,禁止转载。

2016CCPC杭州赛区非官方题解

1001. ArcSoft’s Office Rearrangement

题意:有两种操作,一种是把两个数相加,产生一个新的数,一种是将一个数拆分成两个数,但要求要保证和和原来的数相等。

思路:从前往后贪心就行,如果当前的数等于平均数,那么就直接过,如果小于平均数,那么就加上后面的数,然后重新放会队列头,如果大于平均值,那么就减去平均值,然后将剩下的值放到队列的头部,注意要用除法加速。

1002.Bomb

题意:给你一个有向图,每一个点都有一个权值,选择一个点后,他所能遍历到的点都会被覆盖,求最小能够覆盖全图的权值。

思路:先用tarjan缩点,每个新点的的值是当前环中的最小值,然后把入度为零的点的权值相加即可。

1003.Car

题意:有个老司机在开车, 开车过程中车的速度是不减的. 交警记录了这个老司机在n个时间点的位置, 但是时间位置. 已知老司机从位置0出发, 记录的时间点都是整数, 问经过第n个位置最少需要的时间.

题解:通过最后一段路程的时间肯定为 1 秒,只需由速度不降原则倒推出每一段所通过的最小整数时间即可,贪心做法。

1004.Difference

题意:求有多少个y满足等式。

思考,虽然题目没有明确说y的上限,但是我们可以推测出y<=$$10^{10}$$,因为假设y=999999999的话,约为3.8*$$10^{8}$$<=$$10^{10}$$,已经无法满足x>=0的条件,所以y不会太大,那么我们可以首先将f(y,k),(y<=$$10^{5}$$)都预处理出来,然后我们把y分成高五位y1和低五位y2两个数,然后x=(f1-y1)+(f2-y2),这样我们就可以分成两部分处理,我的做法是枚举高五位,然后二分低五位的情况,复杂度是n(logn)。

1006.Four Operations

题意:给你一些数,让你将’+’, ‘-‘, ‘*’ 和 ‘/’四种符号有序的填在其中,使得最后的结果尽量大。

思路:暴力枚举即可。

1011.Kingdom of Obsession

题意:给你两个数组1~n和s+1~s+n只有当y%x=0(y<=s+n&&y>=s+1,x>=1&&x<=n)时,这两个数才可以匹配,问你这两个数组能不能完全匹配。

思路:首先要知道质数只能和 1 或者它本身的匹配,所以如果 [max(s+1,n+1),n+s] 区间内如果有多于一个质数时肯定无解,如果有两个数组有重叠部分,那么我就默认中间重叠部分自我匹配是最优策略,虽然这样会给大家一种钦定的感觉,但是我也想不出更好的策略了。我打出了$$2*10^{9}$$看了看,发现任意连续的两个质数的差值好像不是很大嘛,也就是20左右,所以大胆猜测,如果[max(s+1,n+1),n+s]的区间长度大于35,就是no,否则就匈牙利一发,然后就过了。。。。事后发现,其实相邻两个质数的差值可以有248那么大,我只能说数据水了。。。。。

 

 

2016大连网络赛题解(持续更新)

这场比赛就一个字,邪!

1006

这个题不想多说,XJBG就过了

1009

这个题非常有意思,给你N个点,M条边,然后让你求除去这M条边的补图的最短路,有一种似曾相识的感觉。
在这里我用set维护还没有遍历过的点,总复杂度是O(n+m)。

1010

这个题是我用树状数组过的,首先找到根节点,然后一遍DFS,遍历到某一个点的时候,把这个点加到树状数组,回溯回来的时候再减去。
我觉得麻烦的地方在于预处理,我首先进行了离散化,处理出了match数组,这是一个映射关系数组,math[u]=v,意思是,u点对应的树状数组区间是1~v。

VIM配置

我的版本

大神的版本

点分治算法、树链剖分算法在竞赛中的应用

算法合集之《分治算法在树的路径问题中的应用》

最近拜读了下大神的文章,仔细学了下点分治以及树链剖分,受益匪浅,对这个专题感兴趣的同学强烈推荐这篇论文。
下面我对于几道例题做一下讲解。
poj1655求树的重心

http://poj.org/problem?id=1655
首先讨论一下树的重心,重心的定义是去掉这个点之后,产生森林中树最小的点。那我们做的时候就可以一边DFS搜索就行,对于去掉某一个点来说,产生的新树要不就是它的子树,要不就是它的父亲节点向上产生的树,所以比较一下就可以AC了。

POJ1741

http://poj.org/problem?id=1741
求$$dis(i,j)\leqslant K$$的点对数量,$$n\leqslant 10000$$。
这是一个非常明显的点分治,记$$Depth(i)$$表示点i到根结点的路径长度,$$Belong[i]=x$$(X为根结点的某个儿子,且结点i在以 X 为根的子树内)。那么我们遍历所有节点,在这个点被包含的新树里面,先求出重心$$root$$,然后要统计的就是:
满足$$Depth(i)+Depth(j)\leqslant K$$且$$Belong(i)\neq Belong(i,j)$$的$$(i,j)$$个数
= 满足$$Depth(i)+Depth(j)\leqslant K$$的$$(i,j)$$个数 – 满足$$Depth(i)+Depth(j)\leqslant K$$且$$Belong(i)=Belong(i,j)$$的$$(i,j)$$个数 。

SPOJ1825

http://www.spoj.com/problems/FTOUR2/
这一次统计的是使得经过的黑点数不超过K个,且路径长度最大,$$n \leqslant 200000$$。
具体做法详见论文,我这里附上我的详细代码。

SPOJ375

http://www.spoj.com/problems/QTREE/
现在开始进入树链剖分。
这个题问的是可以修改某些边权,然后问你两个点之间的最大边权是多少。
首先我们要这一颗树线性化,这里我们要先按照重边走,没有重边就走轻边,按照遍历的顺序建立线段树,那么其实算法到这里,基本上就和分治没有关系了,专心写线段树就好了,线段树维护的就是区间最大值。
那么查询的时候,其实就是两个点慢慢往最近公共祖先移动的过程,注意,对于重边来说,不是一个一个点往上移动,而是直接跳到重链头部,这样节省时间,具体详见代码。

SPOJ2798

http://www.spoj.com/problems/QTREE3/
这个题其实比上一道题水一点,求的是距离1节点最近的黑点。那么我们建立线段树的时候,维护的就是区间的最左端点,这里需要深刻理解一下,因为有人可能认为,最左节点不一定是最浅的点呀,但是仔细想一下,我们对于一次查询,只有当$$if(segtree[i].l==l&&segtree[i].r==r)$的时候,我们才会使用这个区间存下的值,那么我们在查询的时候已经会保证l,r这段在树上的路径在线段树中是连续分布的,所以这么查询是没有问题的,一开始提交的时候一直是41.67分,后来发现1 1 这种查询并不能过,改之后100分。

最大权闭合图

昨天在做多校联赛的时候偶然碰上的,学习了下这个,首先推荐胡伯涛的《最小割模型在信息学竞赛中的应用》。
一个有向图 的闭合图(closure)$$G= (V , E)$$是该有向图的一个点集,且该点集的所有出边都还指向该点集。即闭合图内的任意点的任意后继也一定在闭合图中。更形式化地说,闭合图是这样的一个点集$${V}’\in {V}$$ ,满足对于 $$\forall {u}\in {V}$$引出的 $$\forall \left \langle u,v \right \rangle \in E$$。那么给每个点$$v$$分配一个点权$$W_{v}$$(任意实数,可正可负)。大权闭合图(maximum weight closure),是一个点权之和大的闭合图,即大化$$\sum_{ v\in {V}’ }W_{v}$$。

那么,我们的做法就是当$$W_{v}$$是负的时候,建一条边$$\left \langle v,t \right \rangle$$容量为$$-W_{v}$$,当$$W_{v}$$是正的时候,建一条边$$\left \langle s,v \right \rangle$$容量为$$W_{v}$$,然后对于原来的边$$\left \langle {u}’,{v}’ \right \rangle$$保持不变,建一条$$\left \langle {u}’,{v}’ \right \rangle$$容量为$${inf}$$的边。那么易证这个图的在最小割的情况下,和$${s}$$相联通的子图是最大权闭合子图。
所以我们做法就是跑一次最大流,然后最大权闭合图的权值就是总收益-最大流。

POJ2987
这是一个非常裸地最大权闭合图,当$$W_{v}$$是负的时候,建一条边$$\left \langle v,t \right \rangle$$容量为$$-W_{v}$$,当$$W_{v}$$是正的时候,建一条边$$\left \langle s,v \right \rangle$$容量为$$W_{v}$$,然后对于原来的边$$\left \langle {u}’,{v}’ \right \rangle$$保持不变,建一条$$\left \langle {u}’,{v}’ \right \rangle$$容量为$${inf}$$的边。
然后直接按照原理跑一下最大流就好。

HDU4971

水题。

HDU5855
首先膜拜一下朝鲜队的出题大哥,题目质量太好了。
这道题我们直接二分最短的时间,然后对于每一次时间判断一下最大权闭合图是不是大于L就好。

 

C++STL常用技巧

 

codeforces_571A_Lengthening Sticks

题意:基本的组合数学问题,给你a,b,c三条边,一个可以增加的总长度l,你可以将l随意分配加到a,b,c上,可以不加,但是要保证最后a,b,c可以组合成三角形,问你有多少种分配方式。

cf_571a