![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状压dp
文章平均质量分 56
QAQQQQQQQQQQQ
菜
展开
-
状压dp--USACO2008 NOV Mixed Up Cows
题目大意: 有n 头奶牛每头奶牛的编号为si,现在将它们排成一列,若任意两头相 邻的奶牛的编号相差超过K 则称这种排列是混乱的,求有多少种混乱的 排列n<=16 , si, K<=20000solution: 像这种n在10-20之间的很明显就是状压dp嘛! 令F[i][S] 表示当前排列以第i 头奶牛为结尾,已经排好了的奶牛的 集合为S 的方案数 转移时枚举一个...原创 2018-07-19 21:36:27 · 153 阅读 · 0 评论 -
状压+FMT--luoguP4221 [WC2018]州区划分
传送门暴力是3n3^n3n枚举子集,f[S]=∑S′∈Sf[S′]×(sumS−S′sumS)pf[S]=\sum_{S&#x27;\in S}f[S&#x27;]\times (\frac{sum_{S-S&#x27;}}{sum_S})^pf[S]=∑S′∈Sf[S′]×(sumSsumS−S′)p然后把这个东西分成f[i][S]f[i][S]f[i][S]...原创 2019-01-11 21:51:20 · 258 阅读 · 0 评论 -
状压DP--bzoj1151: [CTSC2007]动物园zoo
传送门其实状态并不难想,就是设f[i][S]f[i][S]f[i][S]表示从iii位置开始后面连续555个的移除状态为SSS的最大高兴人数,然后预处理一个g[i][S]g[i][S]g[i][S]表示iii处开始后面连续555个的移除状态为SSS的高兴人数,于是就有转移式:f[i][S]=max(f[i−1][(S&amp;15)&lt;&lt;1],f[i−1][(...原创 2018-11-04 00:03:29 · 145 阅读 · 0 评论 -
矩阵快速幂优化状压DP--骨牌
题目:有一个H×WH\times WH×W 的棋盘。 她想知道,用 1×21\times 21×2 的骨牌覆盖这个棋盘,有多少种不同的方案。 一个合法的方案满足所有骨牌的边都与棋盘的边平行,骨牌之间没有重叠,并且骨牌的所有部分都在棋盘内。 两种方案不同当且仅当在一种方案中,一个格子被骨牌覆盖,在另一种方案中,这个格子没有被骨牌覆盖。H≤5,W≤1018H\le 5,W\le 10^{18}H...原创 2018-11-06 08:05:30 · 286 阅读 · 0 评论 -
状压dp--bzoj4145: [AMPPZ2014]The Prices
传送门状压dpdpdp,枚举子集n3mn3^mn3m过不了考虑转移的时候,一开始先假设在这个商店买了,令f[i][s]=f[i−1][s]+d[i]f[i][s]=f[i-1][s]+d[i]f[i][s]=f[i−1][s]+d[i]然后枚举不在sss集合的物品进行转移,最后让f[i][s]=min(f[i][s],f[i−1][s])f[i][s]=min(f[i][s],f[i-1][...原创 2018-10-21 17:28:05 · 134 阅读 · 0 评论 -
状压dp+bfs--bzoj1556墓地秘密
传送门状压好题0.0 其实难点不是状压吧···应该是前面的预处理 要用到类似于spfa的bfs RE了无数回结果发现变量名定义重了mdzz首先说一下dp的状态定义,因为发现从i到j停下来多少次是取决于上一次撞到i的方向的所以首先想到了dp[i][j][k]表示以k方向撞到i这个机关后已经撞过的机关为j集合的最小步数但是我们可以发现这只和所有机关以及各个机关四周的四个格子有...原创 2018-07-30 12:01:24 · 269 阅读 · 0 评论 -
状压dp--NOI2015 寿司晚宴
题目描述为了庆祝NOI的成功开幕,主办方为大家准备了一场寿司晚宴。小G和小W作为参加NOI的选手,也被邀请参加了寿司晚宴。在晚宴上,主办方为大家提供了n−1种不同的寿司,编号1,2,3,⋯,n-1,其中第种寿司的美味度为i+1(即寿司的美味度为从2到n)。现在小G和小W希望每人选一些寿司种类来品尝,他们规定一种品尝方案为不和谐的当且仅当:小G品尝的寿司种类中存在一种美味度为x的寿司,小...原创 2018-07-20 21:23:52 · 155 阅读 · 0 评论 -
状压dp--USACO2012 MAR Cows in a Skyscrape
题目大意: n 只奶牛坐电梯,每只奶牛重ci,电梯最大承重为W,问至少乘坐多少 次电梯才能使所有奶牛离开。每次乘坐时,电梯里奶牛总重不能超过电 梯最大承重 n<=20,1<=ci,w<=1e9solution: 注意到n 只有20,考虑使用状压DP f(S) 表示集合S 中的奶牛至少需要乘几次电梯 预处理集合S 中奶牛总重是否超过W,然后通过枚举子集的技巧进行转...原创 2018-07-19 21:49:17 · 227 阅读 · 2 评论 -
状压dp--NOIP2016 愤怒的小鸟
平面的第一象限上有n 个点(xi; yi),每次操作你可以指定任意的 a; b(a < 0) 并消除掉抛物线y = ax2 + bx 上的点,求最少多少次操作能 消除掉所有点 n<=18solution: 解法一: f[S] 表示消除集合S 中的点所需要的最少次数 每次可以枚举两个不在S 中的点得出一条抛物线,然后再算出这条抛物线能消除掉的所有点 设加入了这条抛物线消...原创 2018-07-19 21:45:07 · 166 阅读 · 0 评论