每一行的填充仅与上一行有关系,每行的目的都是至少填充满上一行。
当填充到i行的时候,i-1行某列没填充必须用竖直的方格填充,这是固定的,剩下其余的则搜索填充。
用2进制的01表示不放还是放
第i行只和i-1行有关
枚举i-1行的每个状态,推出由此状态能达到的i行状态
如果i-1行的出发状态某处未放,必然要在i行放一个竖的方块,所以我对上一行状态按位取反之后的状态就是放置了竖方块的状态。
...
分类:
其他好文 时间:
2014-11-22 12:03:57
阅读次数:
170
题意:平面上有 n (2 ≤ n ≤ 15) 个点,现用平行于坐标轴的矩形去覆盖所有点,每个矩形至少盖两个点,矩形面积不可为0,求这些矩形的最小面积。
题目链接:http://poj.org/problem?id=2836
——>>因为每个矩形至少要盖两个点,所以,枚举所有的两点组合。。
状态:dp[S] 表示将集合 S 中的所有点覆盖的最小矩形面积
状态转移方程:dp[news] = m...
分类:
其他好文 时间:
2014-11-21 18:50:29
阅读次数:
180
题意:N(1
题目链接:http://poj.org/problem?id=1691
——>>状态:dp[S][color] 表示达到状态 S 且最后一次涂色为 color 时的最小取画笔数
状态转移方程:dp[S][color] = min(dp[S][color], dp[sub][i]); 或者 dp[S][color] = min(dp[S][color], dp[sub][i] ...
分类:
其他好文 时间:
2014-11-21 14:24:22
阅读次数:
203
虽然不是最短路,但是询问时任意两点之间的信息都要知道才能回答,由此联想到floyd算法,只要都floyd算法的原理理解清楚了就会发现:这道题的思想和求任意两点之间的最短路的一样的,只不过是更新的信息不同而已。这道题还有一个难点在于状态压缩:如果直接用字符串来表示maps[i][j],那么在floyd...
分类:
编程语言 时间:
2014-11-17 06:48:43
阅读次数:
174
Travelling
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4106 Accepted Submission(s): 1310
Problem Description
After coding so man...
分类:
其他好文 时间:
2014-11-16 18:48:18
阅读次数:
192
胜利大逃亡(续)
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5411 Accepted Submission(s): 1863
Problem Description
Ignatius再次被魔王抓走了(搞不懂他...
分类:
其他好文 时间:
2014-11-15 14:16:04
阅读次数:
242
POJ 3254 Corn Fields(状压dp)...
分类:
其他好文 时间:
2014-11-12 21:17:42
阅读次数:
217