![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状态压缩
Fizzmy
这个作者很懒,什么都没留下…
展开
-
BZOJ1226-学校食堂Dining
传送门 题意:中文题,非权限题。Solution: 显然不能贪心,那么考虑dp,注意到b[i]≤7,所以说可以考虑状压怎么做,再结合n<=1000,想到了一个状态:f[i][j][k]表示前i-1个人都吃过饭了,j后面7人和j的吃饭状态,上一个吃过饭的人是k。 转移:f[i+1][j≫1][k]=f[i][j][k]f[i+1][j≫1][k]=f[i][j][k]f[i+1]...原创 2017-11-21 20:37:41 · 315 阅读 · 0 评论 -
ASC1 E-Nice Patterns Strike Back
传送门(codeforces GYM) 题意: 给你一个n*m的矩形,对其进行上色,要求每个2*2的小正方形中的颜色不能相同,求方案数模p。(n<=10100,m<=5,p<=10000)Solution: 看到计数题,首先考虑组合数或者dp,组合数发现行不通,考虑dp,发现m非常小,说明可以状压,又发现n非常大,说明一定是可以用矩阵乘法的,我们很快可...原创 2017-11-25 23:09:30 · 445 阅读 · 0 评论 -
ARC58 E 和風いろはちゃん / Iroha and Haiku-状压DP
传送门题意:给出N,X,Y,Z,定义一个合法的序列为长度为N,每个元素的取值为[1,10]的整数序列,序列满足其有四个下标x,y,z,w 使得a[x]+a[x+1]..a[y-1]=X,a[y]+a[y+1]+..a[z-1]=Y,a[z]+a[z+1]+.a[w]=Z求合法序列个数(3≦N≦40,1≦X≦5,1≦Y≦7,1≦Z≦5)Solution:这道题从正面思...原创 2018-02-05 15:36:11 · 564 阅读 · 0 评论 -
Codeforces 201D.Brand New Problem-状压dp
传送门题意:给出一个有n个字符串的匹配串,和m个有k个字符串的文本串,将匹配串进行全排列和文本串进行匹配,找到能全匹配成功的最小的逆序对数n<=15,m<=10,k<=500000Solution:通过哈希+map把字符串变成数字那么问题就转化成了把一个1到n的序列的全排列和一些序列进行匹配,找到能全匹配成功的最小的逆序对数一个显然的状压dp状...原创 2018-02-23 18:27:29 · 271 阅读 · 0 评论 -
BZOJ2669: [cqoi2012]局部极小值-状压DP+容斥
传送门题意:有一个n行m列的整数矩阵,其中1到n∗mn∗mn*m之间的每个整数恰好出现一次。如果一个格子比所有相邻格子(相邻是指有公共边或公共顶点)都小,我们说这个格子是局部极小值。给出所有局部极小值的位置,判断有多少个可能的矩阵。 (1≤n≤4,1≤m≤7)(1≤n≤4,1≤m≤7)(1\leq n\leq 4, 1\leq m\leq 7)Solution:显然我们把矩...原创 2018-06-02 21:48:35 · 291 阅读 · 0 评论 -
BZOJ2734: [HNOI2012]集合选数-状压DP
传送门题意:给出n,求出{1,...,n}{1,...,n}\{1,...,n\}的所有满足以 下条件的子集数量:若 x 在该子集中,则 2x 和 3x 不能在该子集中。 n≤100000n≤100000n\leq 100000Solution:没见过类似做法的人见到这道题真的是毫无思路啊…构造矩阵形如 ⎛⎝⎜⎜⎜⎜⎜⎜1248...361224...9183672.....原创 2018-06-02 23:23:54 · 290 阅读 · 0 评论 -
BZOJ4565: [Haoi2016]字符合并-区间DP+状压DP
传送门题意:有一个长度为 n 的 01 串,你可以每次将相邻的 k 个字符合并,得到一个新的字符并获得一定分数。得到的新字符和分数由这 k 个字符确定。你需要求出你能获得的最大分数。1≤n≤300,0≤ci≤1,1≤wi≤109,k≤81≤n≤300,0≤ci≤1,1≤wi≤109,k≤81\leq n\leq 300,0\leq ci\leq 1,1\leq wi\leq 10^9,...原创 2018-06-04 08:33:34 · 317 阅读 · 0 评论 -
BZOJ4197: [Noi2015]寿司晚宴-状压DP
传送门题意:n-1个数,分别为2~n,现从中取出若干数放入两个集合中,使A集合中所有数都和B集合中的所有数互质,求满足条件的方案数。n≤500n≤500n≤500Solution:根据题意,在一个集合中选择一个数相当于选择了这个数的质因子集合,所以说两个集合的质因子集合的交集必须为空。一个很简单的想法就是状压DPf[i][S][T]f[i][S][T]f[i][S]...原创 2018-05-30 20:49:13 · 246 阅读 · 0 评论 -
BZOJ 3925:[Zjoi2015]地震后的幻想乡-状压DP
传送门题意:给定一个n点m边的无向图,没有重边和自环,每条边的权值为[0,1][0,1][0,1]之间的随机变量,求最小生成树中最大边的期望权值。 n≤10,m≤n(n−1)2n≤10,m≤n(n−1)2n≤10,m≤\frac {n(n−1)}2Solution:题意其实可以转化为选前k小的那些边使图恰好联通,求k的期望答案即为k(m+1)k(m+1)\frac k{...原创 2018-05-31 16:25:27 · 286 阅读 · 0 评论