状压DP
文章平均质量分 80
状态压缩dp
jpphy0
算法是存在的
展开
-
2021年CCPC女生专场(淄博)C 连锁商店 (状压DP)
目录问题分析代码 问题 连锁商店 - https://codeforces.com/gym/103389/problem/C 2021年CCPC女生专场 分析 沿不同路径到达某个风景点,经历的连锁店可能有所不同,且与先后序无关,即和连锁店的组合有关 连锁店的组合可用一个64位的长整型中的前n位表示(n≤36n \le 36n≤36) 每个风景点使用一个map保存状态,将连锁店的组合值作为关键字 若一个组合是另一个组合的子集,则抛弃(贪心) 代码 #include <bits/stdc++.h&原创 2021-11-03 08:36:27 · 379 阅读 · 0 评论 -
铺地砖(状压DP)
目录问题分析代码 问题 求用 1×21\times 21×2 的地砖铺设 n×mn\times mn×m 的地面的方案数. n×m≤300n\times m \leq 300n×m≤300 结果对 1e9+71e9+71e9+7 取模 分析 代码 #include<bits/stdc++.h> using namespace std; #define d(i,j) dp[i][j] typedef long long ll; const int md = 1e9+7; const in原创 2021-08-23 11:19:49 · 391 阅读 · 0 评论 -
集合划分(状压DP)
目录问题分析代码 问题 将n个整数分成若干组,并使得各组的数字之和为质数,求分组的方案数。 1≤n≤151\leq n \leq 151≤n≤15 整数 aia_iai 满足 1≤ai≤991\leq a_i \leq 991≤ai≤99 分析 代码 /* 集合划分 状压dp */ #include<bits/stdc++.h> using namespace std; const int MXS = (1<<15)+5; const int MXN = 17; int N,原创 2021-08-21 12:43:49 · 223 阅读 · 0 评论 -
hdu 5418 Victor and World (状压dp)
目录问题分析代码 问题 分析 代码 /* hdu 5418 Victor and World 状压dp */ #include<bits/stdc++.h> using namespace std; typedef long long ll; const int inf = 0x7f7f7f7f; const int MXS = (1<<16)+5; const int MXN = 20; int N, M, mp[MXN][MXN], dp[MXS][MXN], c[MXS]; i原创 2021-08-20 15:26:03 · 194 阅读 · 0 评论 -
hdu 5691 Sitting in Line(状压dp)
目录问题分析实质递推状态定义复杂度代码细致递推【704MS】简洁递推【1278MS】 问题 hdu 5691 Sitting in Line - https://acm.hdu.edu.cn/showproblem.php?pid=5691 分析 实质 求解最优排列 递推 例如:3,-1,-5,4(设不预设任何位置) 若前面两个数是4、-5,则有两种排列 4,-5,结果是:-20 -5,4,结果是:-20 这两个排列哪个更优呢?答案:无法比较。理由如下: 若扩展一个3,则有 4,-5,3,结果原创 2021-08-19 17:21:03 · 285 阅读 · 0 评论