状压DP
文章平均质量分 71
Drenight
Dream in the night.
展开
-
Traveling by Stagecoach POJ - 2686 状压dp
题意: n张票,m个点,p条路(双向),a起点,b终点 X1~Xn:票的权值,耗时=路长/票权 求从a到b的最短时间 思路: 状态压缩dp,dp[s][i]:s为编码后的含票状态,目前在i点,数组t[]存储票的权 转移方程:使用一张车票k到点j:dp[s\{k}][j]=min(dp[s][i]+map[j][i]/t[k],dp[s\{k}][j]) 复杂度:o(2^n*n^2),原创 2017-02-16 01:25:15 · 241 阅读 · 0 评论 -
Mondriaan's Dream POJ - 2411 状压DP
用2进制的01表示不放还是放 第i行只和i-1行有关 枚举i-1行的每个状态,推出由此状态能达到的i行状态 如果i-1行的出发状态某处未放,必然要在i行放一个竖的方块,所以我对上一行状态按位取反之后的状态就是放置了竖方块的状态。 然后用搜索扫一道在i行放横着的方块的所有可能,并且把这些状态累加上i-1的出发状态的方法数,如果该方法数为0,直接continue。 举个例子 2 4 1111 1111转载 2017-02-17 21:08:19 · 246 阅读 · 0 评论 -
BZOJ1087 [SCOI2005]互不侵犯King 状压DP
参考自き 9*9的棋盘问能放多少互不攻击的国王。。 这种预处理状态间能否转移的做法还是第一次见(naive 不过用位运算判转移可能性在当状态大存不下没法预处理的时候也不算慢。。? 左右移位判重合挺巧妙的。。。 #include #include #include #include #include #include #include #include #include #includ原创 2017-11-14 20:46:32 · 161 阅读 · 0 评论 -
895C - Square Subsets 状压DP
div2从没这么接近过rk100以内的水平。。 想到了奇偶性质模二的素因子表,想到了dp第一维逐渐添加数字,第二维枚举1 奈何第一维默认了是1-n,算下来复杂度1e10从而卡手做不下去 没完整做出来挺遗憾的吧 #include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include原创 2017-12-05 02:21:55 · 169 阅读 · 0 评论