时间
8:00~8:10 看题,T1 是建树还是普通的算法?,T2竟然有了分层图的味道 ,T3 题都不是太懂,T4 期望+图论,没了,T1→T2→T3→T4。
8:10~9:40 T1,推啊推就是找不到性质啊,自闭了,就找到了一个,但是属于乱搞,并且在考虑复杂度的情况下,只能将循环设到1000,只能先码了10分a=1的暴力。
9:40~10:00 T2,认真的一看题,懵了,贪心,而且十分好像,并且感觉非常正确,所以就非常开心的码了一边,还很顺利,复杂度是O(n)的,100分到手?
10:00~11:00 T3,第一档分都1000,光是枚举就到了 n 2 n^2 n2,再做个倍增找LCA,妥妥的超时,只能去先写链了,链很简单,找到给出序列的第一个比自己小的那个,这不就是单调栈,连个边加个速。
11:00~12:00 T1,T1就按照之前推得性质,分成三种情况,但大样例就是不过,直到最后,把 i f if if(!n%a)换成 i f if if(n%a==0),就奇迹般的过了样例,当时真的很无语,就在交卷前5分钟过了样例,赶紧删掉注释,提交,惊险。
题目
T1 最后忙着删注释,然后把第三种情况的注释给删了,删掉了一种情况,在那个大样例里是不需要这一种情况,但是测试数据中,在我能过的范围内是有两组的,直接删掉了20分。
T2 看到这道题太激动了,因为就这一道可以很轻松的想出来,可能就因为这种心态,让自己放轻了对题目的审查,攻击是不一定小于防御的,也就是说,可以直接选择防御,读题的时候看到了,刚想完T1,做题的时候又给忘了,自己写有记事本,读题的时候没有写进这一句重要信息,直接少了70分,这谁可以接受啊。在读题遇见的题目中并没有写出的隐藏信息,一定要去记录一番,写题时可以对照题目与记录的关键信息去实现代码,以免因为细节问题造成失分。
反思
失分高达90分,啥时候可以去避免这种情况,首先是T1,记住 i f if if语句里写 ! ! !一定要注意,小心代码出问题的地方就在这里了。
T2这种情况既然读题时已经发现,那就为什么不去记录一下呢,并且这种情况是隐藏的信息,没有直接去说明,而恰恰是这种,出题人才会刻意去卡(不过这毕竟是随机出来的数据,不卡也过不去),把所有的信息抓住才是关键。