2017年11月30日训练总结

来源:互联网 发布:路由器网络服务商 编辑:程序博客网 时间:2024/04/26 01:14
 这次训练总结是11月27日-11月30日。
等待的状压dp专题终于开了。第一次看资料觉得它挺好玩,然而做题目的时候发现并不好做。。。
来源: 有些题目具有dp特性,但是直接用数组保存状态需要好几维数组,开不了那么大,所以要通过压缩状态来保存状态。
特点: 给的n,m至少有一个比较小,或者状态数比较少但不是特别少。经典的题目有放木块、排兵布阵等。我见过的有两种写法,一种是用dfs来枚举状态,另一种是直接for循环枚举每种状态。有的题目需要初始化保存合法的状态,一定要保证状态转移正确。
思想还是比较简单的,就是用二进制的01表示无或有,比如10010表示第一门课和第四门课作业已经写完,第二三五门作业还没写完。据说还有用三进制压缩的,有待以后学习。
专题已经做了14道(读题还是比较严重的问题,这次做的题目中有好几道都看了翻译。。。),绝大部分是经典的、简单的状压dp,但是有几道比赛的题目,状压的思路比较奇特。也算是渐渐明白了为什么看的一部分博客上说状压dp比较难。。。而且看的博客中有很多题目的状压都不是一般的状压。。。这几天会写一下比较经典的状态压缩dp题解来加强理解记忆。
据目前所看的博客,状压dp貌似综合的题目也不少,状态太多开不了那么大的数组,于是就通过压缩状态来dp。另外状压dp专题里有一道题是钥匙计数,第一眼以为是数位dp,试了下没想到真的过了。。。个人觉得状压dp还是一个比较灵活的知识点。
补了一场cf的比赛,第二题就不会,一小时后才发现是组合数学的题目,后面也是。于是对着题解简单的学习了一下快速幂。
昨天晚上的比赛出了两道题,并不理想。B题死活读不懂题,好不容易读懂了最后也没做出来,思路是正确的,就是当时心里着急了写错了代码。还是做题太少。第二天爬起来补上了。比较欣慰的是C题树状数组以7秒领先学长拿了一血。。。手速还是比较重要的。
AC自动机还是只看了它的构造,因为之前字典树和KMP都看了饶齐的博客,因此先去看了饶齐总结的AC自动机专题。构造并不难理解,这周周末之前会去尝试做一些题目,争取把状压dp专题里的两道AC自动机+状压dp题目做出来,状压DP专题后面的题貌似都不太好做,尽力多做几道吧,实在不行看懂题解再自己打一遍。

临近期末了,也会多花一些时间去复习,但是绝对不会有任何一天停止ACM。