状压DP
文章平均质量分 66
BraketBN
这个作者很懒,什么都没留下…
展开
-
【HDU2825】Wireless Password【AC自动机】【状压DP】
感觉挺不错的题。dp[i][j][mask] 表示长度为i的字符串,走到AC自动机上第j个节点时,状态为mask的方案数。将每个mask选择了的字符串的个数预处理出来,统计答案时只需要将个数不小于k的贡献加上。#include #include #include #define cls(a, x) memset(a, x, sizeof(a))usi原创 2016-02-10 22:04:10 · 1221 阅读 · 0 评论 -
【HDU4085】Peach Blossom Spring【斯坦纳树】【状态压缩】
裸的斯坦纳树。参考了凯爷blog:http://blog.csdn.net/lethelody/article/details/44808507/* Footprints In The Blood Soaked Snow */#include #include #include #include using namespace std;typedef pair pi原创 2016-03-14 16:16:31 · 691 阅读 · 1 评论 -
【BZOJ1097】[POI2007]旅游景点atr【最短路】【状压DP】【记忆化搜索】
k很小,所以可以状压。先预处理出以1到k + 1为出发点的最短路,然后记忆化搜索。/* Footprints In The Blood Soaked Snow */#include #include #include #include #include using namespace std;typedef pair pii;const int max原创 2016-03-04 20:53:00 · 798 阅读 · 0 评论 -
【POJ3254】【BZOJ1725】Corn Fields【状压DP】
http://poj.org/problem?id=3254自己写出的第一道状压DP,竟然1A了。/* Footprints In The Blood Soaked Snow */#include #include using namespace std;const int maxn = 13, maxs = (1 << 12) + 5, p = 100000000;原创 2016-03-17 14:36:58 · 477 阅读 · 0 评论 -
【BZOJ1076】[SCOI2008]奖励关【期望DP】【状压DP】
【题目链接】写了忘发上来了。/* Pigonometry */#include #include using namespace std;typedef double DB;const int maxn = 20, maxk = 105, maxs = 1 << 16;int n, k, s[maxn], w[maxn];DB dp[maxk][maxs];int原创 2016-04-02 22:17:37 · 411 阅读 · 0 评论 -
【BZOJ3590】[Snoi2013]Quare【双连通分量】【状压DP】【神题】
【题目链接】orz凯爷,见【Lethelody的题解】首先一个双连通图可以拆为一个小双连通图和一条链。设c[s][u][v]表示一条链的集合状态为s,链的端点分别为u和v的最短路径。设h[s][u][0/1]表示集合状态为s,不在集合s内的点u与另一个在集合s中的点的最短路径/次短路径。设f[s]表示集合状态为s,且s双联通的最小权值。c可以递推转移。h原创 2016-04-07 23:19:09 · 1286 阅读 · 0 评论 -
【BZOJ4197】[Noi2015]寿司晚宴【状压DP】【背包】
【题目链接】一开始取了前10个质数状压,然后就TLE了...改成前8个就没事了。/* Pigonometry */#include #include #include using namespace std;typedef long long LL;const int maxn = 505, maxk = 505;int n, p, prime[maxn], cn原创 2016-04-08 09:39:46 · 666 阅读 · 0 评论 -
【BZOJ4145】[AMPPZ2014]The Prices【状压DP】【背包】
【题目链接】【tunix的题解】/* Telekinetic Forest Guard */#include #include #include using namespace std;const int maxn = 105, maxm = 18, maxs = 1 << 16, inf = 0x3f3f3f3f;int n, m, dp[maxn][maxs],原创 2016-05-30 17:07:21 · 474 阅读 · 0 评论