状压DP
状压DP
JA_yichao
这个作者很懒,什么都没留下…
展开
-
YbtOJ 状压DP问题课堂过关 例3 涂抹果酱【状压DP】
状压DP原创 2021-12-11 10:39:51 · 314 阅读 · 0 评论 -
YbtOJ 状压DP问题课堂过关 例2 最短路径【状压DP】
状压DP原创 2021-12-04 11:16:46 · 247 阅读 · 0 评论 -
YbtOJ 状压DP问题课堂过关 例1 种植方案【状压DP】
状压DP原创 2021-12-04 10:05:06 · 197 阅读 · 0 评论 -
SSL集训 2021.08.17 提高B组 Luogu P7296 [USACO21JAN] Uddered but not Herd G【状压DP】
SSL集训原创 2021-08-18 15:29:16 · 213 阅读 · 0 评论 -
SSL集训 2021.07.19 提高B组 T1 玉米田(加强版)【轮廓线DP】
SSL集训原创 2021-07-20 07:54:41 · 146 阅读 · 0 评论 -
SSL集训 2021.07.17 提高B组 T3 周长【状压DP】
SSL集训原创 2021-07-17 22:40:47 · 129 阅读 · 0 评论 -
Luogu P1879 Corn Fields G【状压DP】
这道题其实就是状压DP模板题 设 f[i][s[j]]f[i][s[j]]f[i][s[j]] 表示在当前第 iii 行的状态为 s[i]s[i]s[i]。 可得动态转移方程 f[i][s[j]]+=f[i−1][s[w]];f[i][s[j]]+=f[i-1][s[w]];f[i][s[j]]+=f[i−1][s[w]]; 注意要取模。 代码 #include<algorithm> #include<iostream> #include<cstring> #inclu.原创 2020-08-21 08:01:17 · 141 阅读 · 0 评论 -
luogu P1433 吃奶酪【状压DP】
经典状压DP 设 f[j][i]f[j][i]f[j][i] 表示在第 jjj 个点的状态为 iii, 可得动态转移方程为: f[j][i]=min(f[j][i],f[k][i−(1<<j−1)]+dis(j,k))f[j][i]=\min(f[j][i],f[k][i-(1<<j-1)]+dis(j,k))f[j][i]=min(f[j][i],f[k][i−(1<<j−1)]+dis(j,k)) 代码 #include<algorithm> #inc.原创 2020-08-20 09:30:21 · 294 阅读 · 0 评论 -
luogu P2704【NOI2001】 & SSL1384 炮兵阵地【状压DP】
状压DP 解题思路 首先对高山和平原做一个预处理, 再枚举i(1,2<<n)i(1,2<<n)i(1,2<<n),将二进制数存在 a[i]a[i]a[i] 里,将兵数存在 num[i]num[i]num[i] 里。 然后开始DP 设 f[i][l][k]f[i][l][k]f[i][l][k] 表示当前 iii 点有 jjj 个炮兵,iii 的上一行有 kkk 点贡献。 则转移方程为 f[i][l][k]=max(f[i][l][k],f[i−1][k][j]+num.原创 2020-08-20 07:52:58 · 181 阅读 · 1 评论 -
SSL1383 车II【状压DP】
这题也是一道 状压DP状压DP状压DP 题 首先,我们要用DFS枚举每一行的状态。 用 a[js]a[js]a[js] 记录状压后的二进制数,num[js]num[js]num[js] 记录每行棋子的个数. void dfs(int ans,int dep,int flag) { if(dep>n) //当前行结束,统计 { a[++js]=ans; num[js]=flag; return; } dfs(ans,dep+1,flag); //不放棋子 dfs.原创 2020-08-19 16:42:01 · 398 阅读 · 1 评论 -
SSL1382 车【状压DP】
话说状压DP还真是难理解,搞了我一个多小时。 首先,我们发现n,m都非常小,又是求方案总数,所以可得出这是一道状压DP题。 (其实是板子题) 首先我们初始化一个 numnumnumi ,用来表示存 2i2^i2i, 我们把每行压缩成一个二进制数,这样障碍直接可表示为: a[x]+=num[y−1]a[x]+=num[y-1]a[x]+=num[y−1] (a[x]a[x]a[x] 是存障碍的数组) 这样1表示有障碍,0表示无障碍。 下面进行DP操作 首先上代码: for(long long i=1; i&.原创 2020-08-19 11:02:40 · 197 阅读 · 0 评论