codeforces #131(div2) 的总结
今晚是个人赛后首次回归cf。这次的cf还是和以往一样,题目难度由易到难,层层加深。
最近学习了不少新算法,以为可以在cf里面用一下,冲个紫色,打个div1,但事实总是不如所愿。要在cf里混个高rating还是不容易啊!不过这次运气不错,rating突破了1600了~记录一下!噉无论怎么说,这次的进步也是建立在别人的失误之上的,所以我还是不应该掉以轻心吖!!
这次的题目,A是水得不能再水的暴搜,毫无压力的在5min内完美通过pretest,最后的大数据当然也是通过的。B是一道小贪心,以前做算法基础的时候遇见过差不多的题。刚开始测小数据没发现自己搜索的方向搞反了,搞到pretest都过不了。后来改正过来后就连大数据也通过了!看到周围很多人的这题都被hack了,搞到我想后面的题时心惊胆战的...实际上我的代码也有人想尝试hack,但是别人都失败了~、
然后就是要说一下这次cf最大的问题了!就是c题,刚开始在想,这个图论的题好像要dp,但是dp我又没想到怎么设置状态。后来看看D又看看E的,最后只剩半个钟了,想到一个bfs的方法。用贪心来找到每次可以被处理的最大的顶点数(其实就是找到入度为0的顶点 p.s.:构图是从优先事件指向被限事件),然后每个被该顶点指向的定点的入度数分别减一。其实这个有点像poj的Frogs' Neighborhood。不停的找,找到没有可以操作的顶点为止!这里还要分类讨论一下,找到的点要满足需要当前所在的电脑完成。从而可以枚举一下三种情况,然后找到最小值! 可惜我最大的问题还是,看到一题,除非想到完美的方法我才动手尝试,有时甚至没写过的都不敢写。所以这题我迟迟不能动手... 最后看了一下别人的代码,看到这简直就像是模拟的一道题,后悔当时没敢下手........从而又浪费了一次打进div1的机会了!
然后剩下两题,D可以看的出事构造dp,可以通过构造递推式来过...可是最近切了几个递推的题都是要看题解的,明显,今晚的我也是不懂如何构造递推式。这显然是一大弱点,所以我之后必须要加强这种题的训练!
E从图都可以轻易看出又是dp题一个!不过我完全没有头绪...看来我还是得继续加强dp的练习了!
反思:要多点尝试打出新学习的算法的代码来练手,先不管打出来的代码会不会有bug,有就要改正!切题还是要更多,同时题目的种类覆盖面也是要尽可能广的,因为不想重蹈这次个人赛的覆辙!
好多蚊子咬...还是赶快睡了吧.....