摘要:
感谢 谢大,duoxida,zhsl ,教会了我几个训练赛当中没有想出来的题。A Force Brute题意: 没发现其水题本质啊.. 给定 N个单词, 然后问最大循环次数.解法: KMP next数组的运用, 更详细的可以看这一篇总结http://www.cnblogs.com/yefeng1627/archive/2013/04/28/3050027.html这里就简要说下, 因为求next的过程是一个一个构造循环节的, (L+1)-next[L+1] 即为当前字符串的最小循环节长度, 而 L%( (L+1)-next[L+1] ) 表示目前 循环节构造了多少个,若为0则意味着构造满了.. 阅读全文
摘要:
A Alice and Bob解法一, 比赛时用的解法是,因为N<=10000,那么枚举A,B分别拿的时候数量,然后求最小,然后得出A,B拿的最小次数的上下界比较,得出区间的几个关系,因为k1>=k2,判定有点复杂。特殊情况比较多。解法二,是用动态规划,状态方程 dp( i, j ) , 表示剩下 i 块石头,j = 0时,最后一次是A拿最小次数, j = 1,最后一次是B拿最小次数。转移方程为 dp( i, 0 ) = min{ dp(i-2^k,1) } +1, dp( i, 1 ) = min{ dp(i-3^k, 0) } +1 .比较下还是解法二比较好,没那么多特殊情况判 阅读全文