摘要: 超级神奇有趣题。AC自动机+数位DP。其实,数位DP在处理含有某些数字时特别不好处理,应该把它倒转为求不含有。这道题把数位DP+AC自动机结合起来,实在是很巧妙,把数字变为串来处理,强大!要使用AC自动机来处理数位DP,首先就是要确定哪些状态由当前状态开始是不可以到达的,有哪些是可以到达的。这是显而... 阅读全文
posted @ 2015-03-14 21:23 chenjunjie1994 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 数位DP。一般是利用DFS来求数位DP了,结合了记忆化搜索。设dp[i][j][k]为前i位,并且前i位的数位和mod7为j,前i位的数字的表示数字值mod7。为什么可以这样呢?因为继续DFS下去,必定是得到一个不是7倍数的数的,因而,k这个位只是在确定叶子结点时有用的。然后,可以这样选,求一个一些... 阅读全文
posted @ 2015-03-14 15:37 chenjunjie1994 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 这道题,说实话,细节很多。不过,我没想到,光细节就能搞死人了。。。参考了http://www.cppblog.com/varg-vikernes/archive/2010/03/12/109559.html首先,要把所有牛放到坐标系上来表示。目的,就是求出包含最多点的直角三角形。直角三角形的两条直角... 阅读全文
posted @ 2015-03-14 10:41 chenjunjie1994 阅读(234) 评论(0) 推荐(0) 编辑