![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划------状压dp
h
蒋卫升
这个作者很懒,什么都没留下…
展开
-
HDU1074:Doing Homework (状压DP)
link 题意:给你若干作业,作业截至日期,和完成作业需要的时间,但是如果一个作业超过他的截止日期,那么原创 2020-04-16 12:59:19 · 119 阅读 · 0 评论 -
POJ 炮兵阵地 (状压dp)
link 中文题意哦~ 思路:跟矩阵相关的转压dp,相当于暴力枚举,但是不是一个一个的枚举,而是一个状态一个状态的枚举,也可以理解成一个集合一个集合的枚举,这题限制条件有点多,我们设dp[ i ][ j ][ k ]表示枚举到第i行,前一行的状态是j,前前行的状态是k的最多炮兵数,如果直接枚举时间复杂度是不ok的,我们可以预处理出行的合法的所有状态,然后取枚举。 代码: #inclu...原创 2020-04-12 12:11:52 · 151 阅读 · 0 评论 -
HDU 方格取数(1) (状压DP)
link solve:设dp[ i ] [ j ]为枚举到第i行,状态为 j 的数的最大值,那么,枚举上一行的状态,如果没有直接相邻的边,就转移,最后答案就是所有状态的max。这题会卡空间,可以用滚动数组,也可以计算出行的所有的可行状态,大概是2e4,然后把所有的状态保存下来,这样时间复杂度还是不ok的,因为枚举了两行状态和行,时间复杂度4e8*20 = 8e9,但是样例水呀,就过去了,正...原创 2020-04-12 11:32:40 · 157 阅读 · 0 评论 -
P1896 [SCOI2005]互不侵犯 (状压dp)
题目连接 题意:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 思路:设dp[ i ][ j ][ k ] 为第i 行摆放国王状态为 j ,棋盘上国王数目为k的方案数,那么首先处理出第一行的状态,跟矩阵相关的转压dp基本套路就是处理出第一行,然后枚举后面的行,枚举当前行前一行的状态,枚举当...原创 2020-04-09 15:03:25 · 274 阅读 · 0 评论 -
P1879 Corn Fields G (状压dp)
link 题意:有一块n*m的田地,0代表贫瘠,不能种东西,1代表肥沃,问,要想种的土地两两之间没有公共边,并且不能种在贫瘠土地上一共有多少种方案,全不种也是一种方案。 思路:dp[i][j],代表第i行种植土地状态为j的土地方案数,先预处理出第一行的状态,即dp[1] [1—n],转移就是: dp[ i ][ j ] += dp[ i - 1 ] [ k ],(k是与j没有公共边 &a...原创 2020-04-09 12:45:57 · 103 阅读 · 0 评论 -
HDU 5418 Victor and World (TSP问题状压dp)
题目链接 题意:给你一个图,有n个点,m条边,每条边都是带边权的。求从1号节点出发,经过所有的点并且回到1号节点的最小值。 题解:状压dp,设d[i][j]d[i][j]d[i][j]为最后到达的点是iii,状态是jjj的最小值,我们用floyd求出每两个点之间的最短路,然后转移就是d[k][s0]=min(d[k][s0],d[j][s]+d[j][k])d[k][s0]=min(d[k][s0...原创 2019-12-18 10:20:34 · 247 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day5 F Kropki(状压dp)
题目链接 题意:你有一个1到n的排列,p1,p2,p3,p4,....,pnp1,p2,p3,p4,....,pnp1,p2,p3,p4,....,pn,对于所有的i(1<=i<=n−1)i(1<=i<=n-1)i(1<=i<=n−1),如果 pipipi 和 p(i+1)p(i+1)p(i+1) 中,有一个数是另一个数的两倍,那么会在这两个数之间画一个点,否则...原创 2019-12-17 21:14:58 · 211 阅读 · 0 评论