![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状压DP
_Ark
这个作者很懒,什么都没留下…
展开
-
棋盘覆盖 状压DP+矩阵快速幂
题意:有一个m 行n 列的矩形方格棋盘,1 < = m< = 5,1=< n< =10^9,用1*2 的骨牌(可横放或竖放)完全覆盖,骨牌不能重叠,有多少种不同的覆盖的方法。你只需要求出覆盖方法总数 mod p 的值即可。看到1e9立马知道快速幂DP或者数学方法,然后m<=5就状压吧定义f[s][t]表示从s到t有多少种方案转移:则有f[s][t] = sig...原创 2018-08-23 21:46:27 · 616 阅读 · 2 评论 -
【NOIP 2017】宝藏 D2 T2
参考From 传送门写的很清晰了AC code:#include &amp;lt;bits/stdc++.h&amp;gt;using namespace std;const int MAXN = 12;const int MAXS = 4096;const int INF = 0x3f3f3f3f;int n, m, dis[MAXN][MAXN], ext[MAXS], dp[MAXS][MA...原创 2018-11-06 22:27:50 · 164 阅读 · 0 评论 -
BZOJ 2734 [HNOI2012] 集合选数 ( 状压DP )
这题的做法还挺神的…题意《集合论与图论》这门课程有一道作业题,要求同学们求出 {1,2,3,4,5}\{1, 2, 3, 4, 5\}{1,2,3,4,5} 的所有满足以下条件的子集:若 xxx 在该子集中,则 2x2x2x 和 3x3x3x 不能在该子集中。同学们不喜欢这种具有枚举性 质的题目,于是把它变成了以下问题:对于任意一个正整数 N≤100000N≤100000N≤100000,...原创 2019-02-21 15:02:09 · 230 阅读 · 0 评论 -
BZOJ 3864 Hero meet devil (状压DP)
最近写状压写的有点多,什么LIS,LCSLIS,LCSLIS,LCS全都用状压写了…这道题就是一道状压LCSLCSLCS题意给出一个长度为n(n&lt;=15)n(n&lt;=15)n(n<=15)的字符串sss,只由A,T,G,CA,T,G,CA,T,G,C组成。对于0...n0...n0...n的每一个iii,求长度为m(m&lt;=1000)m(m&...原创 2019-02-21 16:26:13 · 267 阅读 · 0 评论 -
BZOJ 4145 [AMPPZ2014]The Prices (状压DP)
题意你要购买m(m&lt;=16)m(m&lt;=16)m(m<=16)种物品各一件,一共有n(n&lt;=100)n(n&lt;=100)n(n<=100)家商店,你到第i家商店的路费为d[i]d[i]d[i],在第iii家商店购买第jjj种物品的费用为c[i][j]c[i][j]c[i][j],求最小总费用。分析很容易定义出状态,f(i,s)...原创 2019-02-22 09:12:58 · 163 阅读 · 0 评论 -
BZOJ 3812 主旋律 (状压DP+容斥) + NOIP模拟赛 巨神兵(obelisk)(状压DP)
这道题跟另一道题很像,先看看那道题吧巨神兵(obelisk)题面欧贝利斯克的巨神兵很喜欢有向图,有一天他找到了一张nnn个点mmm条边的有向图。欧贝利斯克认为一个没有环的有向图是优美的,请问这张图有多少个子图(即选定一个边集)是优美的?答案对 1,000,000,0071,000,000,0071,000,000,007 取模。n&lt;=17n&lt;=17n<...原创 2019-02-22 11:09:04 · 757 阅读 · 0 评论 -
Codeforces Round #554 (Div. 2) F2. Neko Rules the Catniverse (Large Version) (矩阵快速幂 状压DP)
题意有nnn个点,每个点只能走到编号在[1,min(n+m,1)][1,min(n+m,1)][1,min(n+m,1)]范围内的点。求路径长度恰好为kkk的简单路径(一个点最多走一次)数。1≤n≤109,1≤m≤4,1≤k≤min(n,12)1\le n\le 10^9,1\le m\le 4,1\le k\le min(n,12)1≤n≤109,1≤m≤4,1≤k≤min(n,12)分析...原创 2019-04-29 17:04:20 · 182 阅读 · 0 评论 -
LOJ #2131. 「NOI2015」寿司晚宴
<sqrt(500)的质数只有8个直接状压剩下的大质数相同的一起dp就行了。CODE#include <bits/stdc++.h>using namespace std;const int MAXN = 505;const int S = 256;const int p[8] = { 2, 3, 5, 7, 11, 13, 17, 19 };int mp[MA...原创 2019-08-18 10:27:39 · 205 阅读 · 0 评论 -
Luogu P3943 星空 (差分思想 + 背包 + 状压DP)
差分是个常用的技巧,翻转连续的一段010101序列很容易想到翻转异或差分序列上的两个数。差分序列上最多有2k2k2k个111,并且肯定是偶数个。每次可以消除两个111,消除的代价与这两个111的距离相关,求将所有111消除的最小代价。消除的代价用完全背包或者BFSBFSBFS都可以求出。用完全背包求消除代价,相当于把每个可以翻转的长度xxx,看做体积分别为xxx和−x-x−x的两个物品。只有...原创 2019-09-07 17:11:39 · 149 阅读 · 0 评论