状态压缩DP
文章平均质量分 77
Good_night_Sion_
Good Night, Sion.
展开
-
POJ 1321 棋盘问题 DFS 和 状态压缩DP
好吧,自己的状态压缩DP不是很会,所以就拿这个来连连手好了。 状态压缩很快呀,只是需要更大的内存开销,不过为了时间,也是值得的,我的代码状态压缩0ms搜索却用了47ms。嗯,这个DP要好好学一下。 原理:第二维下标表示当前的局面,1表示这个格子上是不能摆东西的。 代码:#include #include #include using n原创 2016-09-04 15:32:50 · 747 阅读 · 0 评论 -
CodeForce 706C 动态规划 利用下标表示状态 递推 (伪状态压缩)
好吧,在比赛的时候最后20分钟才看这道题目,当时的想法是既然数据量有100000,而且又只给1000ms,那么应该是O(n)的算法了,当时就想到了利用递推。。。可是没有去写,也许是没有仔细的考虑清楚吧,最终也是比赛之后才写出来。。。 在后来解决这道题目的时候我还是用了一点小技巧。。不然会爆内存的,用了一个滚动数组,因为我们可以很明显的看出来,当一个新的字符串加入的时候,我们的答案原创 2016-08-13 15:59:26 · 614 阅读 · 0 评论 -
POJ 2441 Arrange the Bulls 状态压缩DP
恩恩,最近在练习状态压缩DP,这道题目一开始就想出状态转移方程了,可是爆了MLE。。。一下子还真的没有想到怎么去优化这个东西。。。 状态压缩的推导方法和POJ 1321还有POJ 3254 的差不多 这里是POJ 1321 的解题报告:http://blog.csdn.net/good_night_sion_/article/details/52432629原创 2016-09-05 21:46:07 · 347 阅读 · 0 评论 -
100道动态规划——27 POJ 1185 炮兵阵地 状态压缩,预处理,滚动数组
不是很会状态压缩,学习一个 定义状态dp[row][i][j]表示当前考虑第row行,该行状态为i且上一行状态为j时可安放的最大炮兵数目 状态转移方程就是dp[row][i][j]=max(dp[row][i][j],dp[row-1][j][k]+num[i]),其中num[i]表示状态i的炮兵数 这样看起来也不是很难嘛,不过好久没有写过状态原创 2017-02-08 09:04:20 · 655 阅读 · 0 评论 -
100道动态规划——24 UVA 1633 Dyslexic Gollum 状态压缩DP 挺好的题 因为窝没想到嘛
没做出来,看了http://blog.csdn.net/chy20142109/article/details/52266353 这里的做法之后模拟的一遍,当初就没有想到是状态压缩=_=,不过现在想一想觉得状态压缩是很有道理的,总之还是涨了姿势吧。 题目的意思很清楚,给定n和k,求出长度为n且最长回文子串的长度>1...... 先说说构造回文串的问题,构造长度为i的01回文串,原创 2017-01-19 22:08:18 · 1019 阅读 · 0 评论 -
100道动态规划——25 UVA 1204 Fun Game 状态压缩 圆圈的处理 (100道完成了1/4啦)
首先说一说,100道完成了1/4啦,虽然是值得稍稍庆祝一下的事情.......可是,紫书上的DP快写完了。。。以后去白书上刷题,然后白书刷完了我也不知道去哪儿刷了。。。 说说这道题的想法,状态压缩。我发现以前在写状态压缩的总结的一条规律(数据上限小可以考虑状态压缩)并没有什么用。。。。首先要知道是一个DP呀,然后就算知道了是状态压缩也想不出来=_= 我觉得紫书上原创 2017-01-23 20:40:12 · 1181 阅读 · 0 评论