状压
wineandchord
这个作者很懒,什么都没留下…
展开
-
洛谷 P2704 [NOI2001]炮兵阵地 (状压DP)
状压DP,用 dp[i][j][k]dp[i][j][k]dp[i][j][k] 表示前一行状态为 iii ,当前行状态为 jjj,当前处于 kkk 行时对应的最大放置数。 #include<iostream> #include<cstdio> #define MAXN (1<<10) using namespace std; // f[i][j][k] 表示上一行状态为 i,这一行状态为 j,当前行为第 k 行时可以放的最多的个数 char x;int n,m,a[10原创 2020-07-10 20:37:51 · 119 阅读 · 0 评论 -
洛谷 P3052 [USACO12MAR]Cows in a Skyscraper G 状压DP
nnn 头牛上电梯,电梯固定最大载重 WWW,每头牛重 w[i]w[i]w[i] ,问至少需要使用几次电梯才能把牛都运上楼? 思路:n≤18n\le 18n≤18 ,因此显然状压DP,用 f[i]f[i]f[i] 来表示状态为 iii 时的最少使用次数,g[i]g[i]g[i] 表示状态为 iii 时,当前使用电梯的剩余空间。iii 的每一个二进制位表示一头牛是否已经上过电梯。 // 状压DP #include<iostream> #include<cstdio> #include&原创 2020-07-10 16:45:05 · 231 阅读 · 0 评论 -
POJ 1170 Shopping Offers 状压DP+完全背包
Shopping Offers POJ - 1170 商店中每个商品都有相应的价值,当一些商品形成组合时,总价格会变低。给定要买的商品及数量,问怎么组合总价最低? 状压DP+完全背包 代码如下: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #de...原创 2020-03-31 08:58:13 · 172 阅读 · 0 评论 -
LightOJ 1287 Where to Run 期望DP+状压+记忆化搜索
Where to Run LightOJ - 1287 给一个有 nnn 个结点,mmm 条边的无向图,从 000 出发,定义 EJEJEJ 为未访问过的结点,并且通过该结点仍然能够遍历全图,假设当前结点的 EJEJEJ 结点有 cntcntcnt 个,在当前结点时可以进行如下选择: (1)在当前结点待 555 分钟 (2)以相同概率在 EJEJEJ 中选一个结点走下去 当走到图中最后一个结点时被...原创 2020-03-26 10:56:16 · 152 阅读 · 0 评论