悲伤的毕业曲 ↑↑↑
头终于小了
因为noip挂了
挂你妹夫320的一等装谦虚有意思吗
本来我以为我永远也不可能写noip总结的(因为拿不到源代码)
然而。。
曾老搞到了源码。。。。。。
emmm。。。。
于是我手贱的上了洛谷。。。。
然后。。。
又手贱的自测了一下。。。
然后。。。
后。。。
。。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
我的Day1T2怎么炸了啊啊啊啊啊
好吧。。
正经由一个蒟蒻的视角总结一下今年的noip。。。。
鉴于网上已经有题和正解了我就不在这里放了。。(以后可能会补)
T1
首先两天的T1非常之良心是真正的T1(但是也因此几乎拉不了分)
啊啊你说DAY1T1坑?
额。。。。
好像也是。。。。坑到了起码一半的人。。。。
第一道题如果给学数学竞赛的可能会推半天
但是信息学的同志们就可以————
没错,就是 打表!!!
本来这道题如果没有说两个数互质的话还能算一道数论题(答案好像是lcm)
然而出题人貌似觉得gcd超纲了(去年被骂的凶)
于是两数甚至互质。。。
(我会告诉你我直接手推(1~7,7)就出结论了吗)
所以。。各位同志。。
记得打表,它有时能拯救你的生命。
然后是第二天的T1。。
看似复杂。。
但是你只要知道只要两个球(?)按照题目中的定义是相连的就直接根据他们的序号连一条双向边,最后跑一遍多源最短路就没事了。
(哈你告诉我你不知道SPFA和Dijkstra可以跑多源最短路??看我博客去)
当然也可以用单源最短路或者并查集做
至于考试时听后面有人说要用Tarjan我就不知道是什么鬼了。。。。。
记得最短路是可以跑多源的。
T2
两天的T2非常之。。。。
妈的一道大模拟一道状压Dp什么鬼??????
大模拟嘛。。。没任何技巧。。。自己手推吧。。。。
既考代码能力又考仔细程度。。。不亚于数学考试那种又臭又长的计算大题。。
果然我还是蒟蒻一枚。。。orz
记得偶尔练练大模拟练练耐心和仔细度。
状压Dp么。。。貌似我的推炸了。
然而好像dalao们也最多拿了70或80的样子?
状压Dp纯粹自己作死枚举边而不是枚举层数,最后死在不知道怎么存储树的层数GG了。
不过好像也能得30分。。。吧?
还好靠前两周(?)恶补了一下状压。。。
记得有时间练练状态压缩的第一项。
T3
两道题的T3是真的皮。。。
第二天的T3。。。
事实上。。。
看着很眼熟的样子。。。
然而你仔细读过题过后发现即使是链表也是N* M*Q的。。而且压根就没有发挥出链表的优势。。
至于正解嘛。。。以后有时间再来填坑吧。。。
不过记得打暴力,30分是一定能拿全的。
记得打暴力。
第一天的T3就正常一些。。吧。。(你告诉我一场NOIP考了三道图论还很正常???)
貌似和第K短路有那么一丢丢联系。。
至于正解嘛。。。也是以后有时间再来填坑吧。。。
这道题的暴力貌似是真的不好打。不过好像可以用A*算法优化。(考试前没来得及补了。。)
记得平时没事多学学基础算法的进阶算法。
感想
总结一下吧。。就是:
T1:
记得打表,它有时能拯救你的生命。
记得最短路是可以跑多源的。
记得平时没事多学学基础算法的进阶算法。
T2:
记得打表,它有时能拯救你的生命。
记得有时间练练状态压缩的第一项。
记得打暴力。
这个坑我以后有时间再慢慢添吧。。orz
2018.2.6. 补
你个寒假作业都是抄着抄着做的还有心情到这里写博客??
为什么隔了这么久才来填这个坑呢。。(因为你懒啊)
主要是因为看到了这个消息:
然后再看看自从考完noip后就一直颓废到现在的自己。。
考完了每天照样和老妈吵架然后各种逛B站各种做不完了就抄作业
期末短暂爆发了一下考了个27名(相当于成外的100+)
而且寒假都过去五天了作业还没做完一半(作业很少啊喂)
算了算了回归主题:关于NOIP2017的总结
还是一句话: 题和答案 网上到处都是,我也不必为此在此凑字数了
给各位萌新和和我一样的蒟蒻一些考试建议吧:
1.常见的模板一定要模块化,例子可以见我总结的模板,就是要保证你写出的核心算法是在子程序里然后主程序对于这个算法的调用只需要像黑箱一样输入数据就能输出。
为什么这点很重要呢?有三个原因:
1.代码整洁工整,阅读性高,便于查错(重点!!)
2.检查算法流程很快,只需要对每个子程序进行调试就行
3.考试时对算法进行魔改也很快。
(这难道就是你平时作业书写潦草的原因???)
可以说这点对于帮助我在复赛时虐T1打T2,靠模板的时候有莫大的帮助,甚至T3的暴力也是这样打的。
(那你在清华大学在成都的能源研究所的活动还不是2个小时都没有调出一个暴力模板还拖了一群高一的后腿)
(以上黑历史orz)
2.要抽时间练习打大模拟。模拟题是很多思维并不灵活的Oler们的福音(e meng),只要思维够缜密,清晰,大模拟打出满分也不是件困难的事。
但是要在短时间内在考场上打出大模拟就不是那么简单了。
而且打模拟题还能够极大的锻炼耐心与仔细度。建议Oler们抽一些时间好好打几道模拟题。
3,常用模板要总结与它们类似的算法或者题型,著名的有:
1. SPFA 与 Dijkstra;单源最短路 与 多源最短路
2. 组合数 与 斐波那契数列,甚至矩阵斐波那契
3. 各种Dp(尤其是状压)
各种模板求不同的变量也要注意总结。
4.所有题(除了那些你一眼看出结果的)一定要先打暴力,它能保证你在做好爆零准备的时候给你意想不到的正面结果。
(否则我是怎么划水过的复赛?(滑稽))
5.多刷题,多刷题!!
引用知乎上一个大佬说的话:
刷题的确不能让你noip上500以及随便搞定noi。。
但是让你noip上300是几乎没问题的。
而且所谓的神犇绝大多数也是堆了起码300多道题之后才开始看一些高级算法的。
至于这几百道是不是你把T1级别的题刷N遍的还是你每周固定3道T1,T2,T3这么刷的。。。我也管不了
而且大佬们的各种新奇的解题姿势的运用也是通过刷题来训练熟练度与积累经验的。(例如wkl那个链表2333)
noip2017的总结就到这里了吧。。我也想不出更多的了orz
虽然退役了,但是我的Oler生涯还没结束
毕竟到noip2018赛场上搞搞乱(作大死)也是挺好玩的A_A
每天到洛谷上刷刷题吧(四中的内网好像把我踢了毕竟我是外校生),最后祝GYR,LHY,LYW等大佬们在之后的Oler生涯中再创佳绩,冲进国家队!
Fin but not THE END.