摘要: 这两道题如出一辙,只是判断有效状态有一点小差异。每一行的状态只与前面两行的状态有关,每行可以压缩为二进制的集合,设状态dp[i][j][k]为第i行为集合j,第i-1行为集合k,得出状态方程dp[i][j][k] = max{dp[i-1][k][r]+cnt[j] | 状态i,j,k要能够共存}(cnt[j]为j在二进制下的1的个数,即士兵数)。第一维可以压缩为2,即两种状态交替进行。对于每一行可能出现的组合,可以先预处理出每一种有效状态。poj 1185 1 /* 2 *Author: Zhaofa Fang 3 *Created time: 2013-03-30-1... 阅读全文
posted @ 2013-03-30 23:13 發_ 阅读(558) 评论(0) 推荐(0) 编辑