上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 21 下一页
摘要: http://poj.org/problem?id=1185 一次考虑两行,比一行略为复杂。sta保存每种状态炮兵位置,sum保存每种状态当行炮兵总数,a保存地形,dp[i][j][k]表示到第i行当前行j状态上一行k状态的最大炮兵数。 阅读全文
posted @ 2016-09-27 21:17 zzzzzzzzhu 阅读(143) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=5045 i从1到m依次更新,dp[i][j]表示更新到i题时,j表示每个人的答题状态,分别用0和1表示(因为每个人相差题数不能超过1),此是为1的人便不能再答题,当所有人都为1的时候,则每个人都置0。 阅读全文
posted @ 2016-09-27 01:17 zzzzzzzzhu 阅读(186) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2167 第一道状态压缩dp,其实就是爆搜,只不过把排除了大量不可能的情况,先用sta保存每行可能的情况,sum[i][j]保存i行j种情况的该行和,然后依次更新dp。 阅读全文
posted @ 2016-09-27 00:18 zzzzzzzzhu 阅读(145) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=5456 转化成a=b+c,dp[i][a][b][c]表示剩余i木棒,a是否有进位,b是否首尾,c是否首位,注意每次都要memset。 阅读全文
posted @ 2016-09-26 22:24 zzzzzzzzhu 阅读(213) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4734 模版题。 阅读全文
posted @ 2016-09-26 00:06 zzzzzzzzhu 阅读(172) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1221 简单dp,dp[i][j]表示i被划分成首位>=j的方案数。 dp[i][i]为1,i为偶数时dp[i][i/2]为2。 剩下的可以按照dp[i][j] = dp[i-2*j][j]+dp[i][j+1]推出。 注意使用64位。 阅读全文
posted @ 2016-09-24 00:20 zzzzzzzzhu 阅读(147) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1050 这道题是最大子串的扩展,遍历过每一个子矩阵就好了,期间用了最大子串的方法。 阅读全文
posted @ 2016-09-21 20:50 zzzzzzzzhu 阅读(112) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=5602 dp[1][i][j]表示轮到第二个人操作时,第一人总和i,第二人总和j,第一人胜的最小概率(因为每个人都是聪明的,所以选最小)。 dp[0][i][j]表示第一个人操作时,第一个人胜的最大概率。 先算dp 阅读全文
posted @ 2016-09-21 00:12 zzzzzzzzhu 阅读(255) 评论(1) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3853 又因为总期望为子期望的加权和,加权因子为子期望的转移概率,所以得到:dp[ i ][ j ]= p1 * ( dp[ i ][ j ] + 2 ) + p2 * ( dp[ i ][ j + 1 ] + 2 阅读全文
posted @ 2016-09-20 22:18 zzzzzzzzhu 阅读(119) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3853 dp[i][j]表示由空白串刷成b的从i到j位所需要的最小次数。 然后在比较a和b的每一位,再次更新dp表示由a刷成b的最小次数。 阅读全文
posted @ 2016-09-20 17:02 zzzzzzzzhu 阅读(107) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 21 下一页