状态压缩
文章平均质量分 50
11011b
你配不上自己的野心,也辜负了曾经历的苦难
展开
-
2018-2019 ACM-ICPC Brazil Subregional Programming Contest 题解
2018-2019 ACM-ICPC Brazil Subregional Programming Contest 题解原创 2022-07-14 23:53:51 · 457 阅读 · 0 评论 -
洛谷 P2167 [SDOI2009]Bill的挑战(状态压缩dp)
题目链接:P2167 [SDOI2009]Bill的挑战题解:非常好的一道题,每次预处理出数组g[i][k]表示第i位放字母k时和各串匹配情况,f[i][j]表示枚举到第i位时和各串匹配情况为j时的方案数,若当前各串匹配状态为j,选择字母k后各串匹配状态就变成了j&g[i][k],枚举每个位置选的字母可得状态转移方程:dp[i][j&g[i][k]]=(dp[i][j&g[i][k]]+dp[i-1][j])%mod记得每次情况数组g和数组dp细节在代码中注释的很详细原创 2022-05-08 01:40:38 · 312 阅读 · 0 评论 -
Codeforces 1476E E. Pattern Matching(状态压缩+拓扑序列)
题目链接:E. Pattern Matching题意:给定n个模式串和m个字符串,对于字符串的每一位都,如果模式串为’_‘或和字符串上字母相同,则称该字符串可匹配该模式串,对于每个字符串给定一个mt,要求将模式串重新排序,使得对于每个字符串,从前往后第一个能匹配的模式串为原模式串中下标为mt的模式串题解:我们可以状态压缩枚举每个字符串对应可行的匹配串,我们可以发现,如果某个字符串和下标为mt的模式串若不匹配那么一定无解,对于可匹配的串,将mt向他们建边,然后跑拓扑序,这样就能保证每个字符串对应mt都原创 2022-04-15 14:20:18 · 251 阅读 · 0 评论 -
Codeforces 1316E (DP+状态压缩+贪心)
题目链接:Team Building题意:有n个人,从中选出p个当运动员,k个当观众,每个人当运动员和当观众贡献不同,在运动员中所处位置不同贡献也不同,求如何分配有最大贡献题解:参考自大佬carcar1,感觉这题挺好的,所以还是写一下记录一下,这两天都忙着蓝桥杯没咋写,,好了进入正文,这题P最大只有7,总能想到状态压缩,再乘上n好像复杂度正好1e7-1e8,我们就可以用dp[i][j]表示前i个人且状态为j时的最优解,但是怎么选观众呢,我们可以先按a降序排,默认初始情况是前k个人(a最大的k个)出观转载 2022-04-08 17:49:38 · 146 阅读 · 0 评论 -
Codeforces 1093G Multidimensional Queries(线段树+状态压缩)
题目链接:Multidimensional Queries题意:一个k(1<=k<=5)维数组n(1≤n≤2⋅10^5)每维的元素a(-10^6<=a<=10^6),进行q(1≤q≤2⋅10^5)次操作,操作有以下两种类型1,修改数组中第x个元素2.求出[l,r]区间内曼哈顿距离最大的两点间的曼哈顿距离题解:我们可以发现,最终答案一定是两个元素的每一维分别有一个取正,一个取负最为最终答案,即答案中i,j的各维正负情况正好相反,并且k只有5维,于是我们可以用状态压缩表示原创 2022-03-31 18:39:31 · 702 阅读 · 0 评论