呜呼起飞
- T1:排水系统
- T2:字符串匹配
- T3:移球游戏
- T4:微信步数
- 总述
- 考前注意事项
T1:排水系统
嗯——
怎么说呢??
比赛开始后迅速通读三遍题
顶着第一题肯定是打卡题的心态
哪怕是恶心模拟也得上!
刚读完第一题题面的时候,就很高兴 儒略日儒略秒白白您嘞
发现dfsdfsdfs完全可做,那等什么直接上啊!!
后面出来听大多数人是拓扑,小慌张了一下下,迅速反应本质是一样滴
但是!最后上车的路上,听到xie教练说要写大数
呵呵🙂 凉凉,勿cue
我还自作多情的写longlonglong\ longlong long以为就可以了
好家伙,前两次CSPCSPCSP都是卡最后五分unsignedlonglongunsigned\ long\ longunsigned long long
今年NOIPNOIPNOIP直接大数卡202020,了不起了不起
回来后何老师又要求自造数据测 卡自己/别人代码
写就写吧,问题是边写边讨论,又说这道题1−m1-m1−m才是入水口,其它尽管入度为000也不能做入水口,当时脑子duang就傻掉了,我压根没管这个,直接入度为000就dfsdfsdfs了,此时才恍然大悟——难怪我从头到尾都没用过mmm 跟前一个月的CSP第二题一样有个条件没用
然后我就做好了爆零的准备
如果第一题都废了,后面也不可能逆天改命了(以我的实力)
收拾一下AFOAFOAFO吧
当时心里确实有点说不上来的无力,隔了一会儿就平静了,继续薅数据
过程中xie教练突然传来一个好消息——出题人的意思是保证只有1~m入度为0,没想卡我们
一刹那,有一种劫后余生的感觉, 笑容也不自觉的显露——尽管还是要卡大数
幸好最后卡的不是很多,不然我可能可以骂一年出题人
T2:字符串匹配
我感觉自己每一道题都跟大家的思路不沾边
这道题想了很久——迟迟没敲暴力
最后以为自己想出了正解——结果最后发现跟暴力其实差不了多少
出来听大家都说可以弄hashhashhash
尽管可能会被故意卡掉一点点,但是应该得分不少
可是我发现自己完全都没往这边靠,而且我hashhashhash不行
T3:移球游戏
一看就是一眼题——构造
可是我不会
但是总以为自己可以再弄一弄,可以弄出来
结果——嗯,果然还是高估自己了
而且T2,T3T2,T3T2,T3花费了很多时间想,导致T4T4T4没有很多时间好好静下来想
我感觉自己T4T4T4其实能再骗骗分,幸好基本的暴力分是拿全了的
移球游戏确实构造不出来,连暴力的算法我都想不到
想着拿十分吧,结果一直敲敲不动,RERERE在程序里,实在调不出来!!——惨淡爆零
T4:微信步数
看了数据范围,感觉每一个部分都是个新算法,而且我都已经想到了把每一维抽出来然后是一段一段的,就可以将时间复杂度丢去每一维的边界极限,但是没时间想了
也没想到优先队列与wiw_iwi挂钩的算法
就只能草草暴力走人
总述
总之,这场比赛让我一夜回到解放前,仿佛梦回初三的提高组体验
当时因为第一次参加这么高难度的比赛,之前也没有成套的比赛策略
加上知识点不牢固——lcalcalca不会,树链剖分打不动,dpdpdp基本都来不起…
现在至少都勉强可以了
那场真的考得特别差,香香mm和革命老同志都是200+,可我只有100+
这一次也有点手忙脚乱,不像两个月前的那场比赛那么稳重
不过还好不像初三那么莽,头铁,至少我知道了要拿暴力分
比赛前一天晚上,酒店暖气过分足了,实在是热啊!!
考试时第一次尝试了喝咖啡——但是!!真的不适合我
喝了过后确实不困,但是脑子就晕乎乎的,我感觉都不能静下来思考了
下次还是不喝咖啡了
考前注意事项
保存一下何老师的叮嘱——尽管马上就AFO
一.考前准备:
1.带铅笔或签字笔一到两支、三证(学生证或身份证或有照片的饭卡、准考证、渝康码)
2.若有需要,可以买瓶咖啡. 再也不买了,不适合我,带点巧克力小零食
二.进考场后
1.检查机器:试机时完成 (提前熟悉键盘的各个键——经常会与自己学校的不一样)
A.检查机器是否有保护(在桌面和D盘各新建一个文件夹后重启,看文件夹还在不在,若在,则表示正常,若不在,则表示机器有保护,必须立刻跟监考老师提出)
B.检查键盘鼠标等硬件是否正常
C.检查文件的扩展名是否显示,若不显示,一定要将扩展名显示出来
D.日期时间是否正确,不正确则修改
E. 检查手机,U盘,不能带入考场。放到包里,包可以交给何老师,或放机房外!
2.软件,这次软件都安装好了,应该没有问题
3.自己列一个考试结束前10分钟的检查项目清单(要详细、全面一点)
4.如果还有时间,可以打一个对拍程序
三.试题下发以后:
1.仔细读题,读三遍。第一遍不要求快,但一定仔细全面,不明白的地方推敲一下。然后再读一遍,对刚才不甚清晰的地方重点看看,并仔细看样例,检测自己的理解是否有偏差,并且加深题目印象。再读第三遍,一边读题,一边可以快速思考,有一个基本的判断,是难还是简单,大概需要多少时间。如果觉得有70%的把握可以做出来,就分配一个时间,先写这道题,而不必三道题都看完再动手写。如果没有思路,则可以继续看后面的题
总之,读题一定仔细,确定写该题之前,一定要有一个大致时间分配。如果一道题过了分配的时间还没有写出来,可以看情况稍微延长点,但不能在一道题上耗费了过多时间,导致其他题目没有时间完成
2.及时检查:一道题写完,过了样例了以后,别顾着高兴,也别急着做下一题。一定要检查,这里有5步检查:
step1.静态查错:再看一遍题目,保证准确理解题意。并静态看一遍程序,重点检查以下重点:数据范围、模数、是否长整型、小数点位数,文件名,是否输出了调试信息,输出和样例输出是否完全一致,包括空格,大小写等
Step2.构造小数据测试自己代码,各种情况都要测试,全面一点,这一步要尽量做到各种情况都有,可以多测一些数据,数据写在记事本中,至少10组。手算结果和程序结果比对
Step3.生成最大规模的数据,有时随机数据并不能跑出各种情况,需要在随机数据的基础上自己人工调整一下,测试自己代码是否会超时,或RE等
Step4.对拍
以上4步,自己灵活把握,如果时间不允许,或者自己把握足够大,或者时间不允许,可以省略step3或step4考场如战场,要审时度势,灵活应对。但不管怎样,一定要有第一步和第二步的检查
3.如果出现某题想不出来,不要慌,要冷静,很多人比你实力还差,更想不出来。你在分配的时间里可以继续想,思路可以发散。如果觉得思维比较混乱,可以上个厕所,洗个脸。想的时候可以拿纸笔画下草图,可能有帮助。如果过了分配的时间还是不行,就不要死扛,果断写部分分。部分分都拿到了,也不会太差的
所以,想不出正解的就果断搞部分分。搞到了部分分,还有时间,可以再搞正解
4.最后十分钟一定要回头检查一下。重点检查是否输出了一些额外的用于调试的字符,文件名是否正确,文件是否放在了正确的位置,文件是否是正确的版本等等
建议直接将所有文件放在以自己准考证号命名的D盘文件夹中
结合之前自己列的清单,仔细检查
重庆市按照惯例都是不建子文件夹的
5.考试时要注意监考老师的提醒,这些提醒都是很重要的。如果监考老师大声宣布什么,一定要停下来仔细听。如果上厕所了,则回来要注意看看黑板上有什么新的提示文字没有
考试时多按ctrl+s 避免意外触碰关机键
6.最后最后,切记,考试时间到了,起立,不要着急走。一定要等到屏幕被锁定了以后才离开,防止别人有意无意按到你的键盘
附大家比赛中常见的错误:
1.题意理解有误。仔细看题,结合小样例、大样例分析。如果还是有不明白的,确定是题意描述不准确的,大胆的跟监考老师提出来
2.正式评测是linux系统,所以长整型最后一定是%lld输出,有些变量名如time,rank, select,left,right, index,next等不能用,在linux下有可能报编译错误
比较好的处理方法是在前面加一个my_,或wo_等
3.模数要看准确,文件名要看准确,这些最好复制下来
4.中间变量爆int,但不要动不动就defineintlonglongdefine\ int\ long\ longdefine int long long,很容易出事
5.估算内存大小时不准确,造成MLE,这种很惨,有可能由100变0分
6.abs,max,min尽量自己define
7.读入优化写错,最后忘了乘上flg,还有fread优化有同学用了,但用错了,没有把握的最好慎用
8.dfs注意会不会爆栈
9.这些比赛都是不支持直接使用库里原有的_\__下划线打头的函数,eg.__gcd\_\_gcd__gcd