
状压dp
文章平均质量分 84
ez_lcw
这个作者很懒,什么都没留下…
展开
-
【XSY3527】饮料/【NOI2020】制作菜品
XSY 押题!/se对于一类问题:有 nnn 种不同的饮料,第 iii 种有 aia_iai 升。你需要把它们分到 mmm 个瓶子里面,每个瓶子容量为 kkk,你的分配方案需要满足:每个瓶子都被装满,题目保证满足 mk=∑aimk=\sum a_imk=∑ai。每个瓶子内至多有两种饮料。求出任意一组合法的方案或判定无解。为了方便,我们将当前情况下的所有饮料按 aaa 从小到大排序。引理1:当 m=n−1m=n-1m=n−1 时一定有解。首先由于 m<nm<nm<n,原创 2022-01-08 17:01:44 · 261 阅读 · 0 评论 -
【XSY3513】Multiple of Nine(状压DP)
题意:转化后变为:给一张 nnn 个点的图,你需要给每个点染上 [1,k][1,k][1,k] 中的某个颜色,图上有 mmm 条边,每条边 (u,v)(u,v)(u,v) 有两种边权 w1w_1w1(当 u,vu,vu,v 颜色相同时)和 w2w_2w2(当 u,vu,vu,v 颜色不同时),求所有染色方案的图中边权积之和。题解:考虑一种颜色一种颜色地加入,使用状压即可做到 O(k⋅3n)O(k\cdot 3^n)O(k⋅3n)。这样就可以过了,结果考场上没想出来()大概是因为题目的边的给出方式太原创 2021-12-24 16:12:17 · 235 阅读 · 0 评论 -
【XSY3270】Domino Colorings(轮廓线dp,状压)
若已经知道了每个格子的颜色,我们可以用轮廓线 DP(类似插头 DP)判断棋盘是否能被多米诺骨牌填满,设 dp[S]dp[S]dp[S] 表示是否存在某种填法使得轮廓线每个位置是否被填的状态为 SSS 即可。现在我们需要枚举每个格子的颜色,同时还要判断能否被填,所以我们要记录一维表示 dp[S]dp[S]dp[S] 数组。为了转移时维护这一数组,我们还要记录轮廓线上每个格子的颜色。于是设 f(i,j,c,s)f(i,j,c,s)f(i,j,c,s) 表示考虑到 (i,j)(i,j)(i,j),轮廓线上格原创 2021-07-23 16:42:41 · 283 阅读 · 1 评论 -
【XSY3976】匹配(状压dp,分层图,根号分类讨论)
题面匹配题解注意以下均有前提 a<ba<ba<b。考虑两种做法:做法一考虑 DP。设 f(i,sta)f(i,sta)f(i,sta) 表示当前已经确定了前 iii 个点之间的连边情况,且最后 i−b+1∼ii-b+1\sim ii−b+1∼i 这 bbb 个点的匹配状态为 stastasta 的方案数。转移显然,时间复杂度 O(n2b)O(n2^b)O(n2b)。做法二为了方便,不妨把所有点的编号都减 111,即原来的 1∼n1\sim n1∼n 号点变成了现在的 0∼原创 2021-03-23 20:20:03 · 114 阅读 · 0 评论 -
【XSY3896】相似(dp套dp,状压)
题面相似题解可以发现,SSS 和 TTT 相似,等价于它们的最长公共子序列长度至少为 n−kn - kn−k。首先考虑如何求出两个字符串的 LCS\text{LCS}LCS(最长公共子序列)。考虑 dp:设 fi,jf_{i,j}fi,j 表示 S[1∼i]S[1\sim i]S[1∼i] 与 T[1∼j]T[1\sim j]T[1∼j] 的 LCS\text{LCS}LCS 长度,转移是显然的:fi,j={fi−1,j−1+1ifS[i]=T[j]max(fi−1,j,fi,j−1)if原创 2021-03-05 10:24:23 · 171 阅读 · 1 评论 -
【BZOJ4006】【JLOI2015】管道连接(斯坦纳树)
看到题面容易想到跟斯坦纳树有关。那么我们不妨设 f(i,sta)f(i,sta)f(i,sta) 表示根为 iii,关键点的状压状态为 stastasta 时的最小代价。那么所有的 f(i,sta)f(i,sta)f(i,sta) 我们都可以用斯坦纳树的模板求出来。现在考虑如何达到题目的要求。因为考虑到频道的数量也小于 101010,所以考虑一下能不能也用状压解决。设 g(sta′)g(sta')g(sta′) 表示频道的状压状态为 sta′sta'sta′ 时的最小代价。(如果 sta′sta'原创 2020-06-18 13:14:29 · 181 阅读 · 0 评论 -
【51Nod1386】双马尾机器人(分块+dp)
对于这种找互质的数的集合的题,一般是讨论每个数的质因子会不会有重复。听说这种互质的题把质因子分为小于 n\sqrt{n}n 和大于 n\sqrt{n}n 是经典套路?因为当 nnn 很小的时候,小于 n\sqrt{n}n 的质数并不多。比如对于这一题,小于 N=1000\sqrt{N=1000}N=1000 的数只有 111111 个。那么对于那些只有小于 N\sqrt{N}N 的质因子的数进行状压 dp,设 dp(i,j)dp(i,j)dp(i,j) 为前 iii 个数中,所有选出的数的所原创 2020-05-26 14:06:57 · 490 阅读 · 0 评论 -
【XSY2518】记忆(memory)(状压dp,概率与期望,概率dp)
a原创 2019-08-25 13:59:14 · 336 阅读 · 0 评论 -
【XSY2444】【BZOJ4042】【CERC2014】【luogu4757】Parades(树形dp+状压dp)
题面Description从前有个CJB国,它有nnn个城市和n−1n-1n−1条道路。每条路连接两个城市。城市之间两两可达。每个城市与不超过10条道路相连。因为HZ国国家领导人来访CJB国,CJB想为HZ举行阅兵仪式。CJB规划了 mmm 条路线。路线 iii 是从 uiu_iui 到 viv_ivi 的最短路径。你是CJB国的中央军委主席,你需要确保国家安全。因此,正式阅兵时,任意...原创 2019-11-01 21:31:48 · 236 阅读 · 0 评论