状压dp
文章平均质量分 92
wtyyy!
Github Blog: wty-yy.github.io
展开
-
CSP202012-4 食材运输 树状DP+状压DP
传送门题意:一个有 n(n≤100)n(n\le 100)n(n≤100) 个节点的树,每条边有边权。一共有 k(k≤10)k(k\le 10)k(k≤10) 种不同的需求,树上每个节点可能拥有多种需求,又有 kkk 辆车,运输这 kkk 种需求到树上每个点去,每辆车的起始点可以自由选择,但总共不能超过 m(m≤k)m(m\le k)m(m≤k) 个。所有车辆同一时间从起始点出发,直到所有车辆全部运输完所有节点后结束,运输时间为该车辆走过路径的边权之和,记一个方案的总运输时间为该方案中运输时间最长的车所原创 2021-03-21 17:36:34 · 2007 阅读 · 0 评论 -
Mondriaan's Dream 状压dp入门
http://poj.org/problem?id=2411#include <cstdio>#include <cstring>#define LL long longusing namespace std;inline void read(int &x){ x = 0; int f = 1; char ch = getchar(); w...原创 2019-03-11 08:05:48 · 135 阅读 · 0 评论 -
poj 1038 Bugs Integrated, Inc.三进制状压dp
http://poj.org/problem?id=1038这题废了我n长时间先把图片旋转下M为横轴N为纵轴发现题目要求放2x3的方块,所以至少要存三行的状态,考虑三进制状压。讨论状态对于(x,y)(x,y)(x,y)每一个三进制为0:(x,y),(x,y−1)0:(x,y),(x,y-1)0:(x,y),(x,y−1)都没有被占用1:(x,y)1:(x,y)1:(x,y)没有占用...原创 2019-03-11 19:32:58 · 189 阅读 · 0 评论 -
[AHOI2009]中国象棋 状压dp 状态新颖
看了题后,可以发现一行最多两个炮,一列最多两个炮。做状压dp一般都是枚举行来做,所以一行两炮可以在一次for中枚举出来,但列上炮的数量不好计算。看了dalao的题解,发现状态这样设置dp[i][j][k]dp[i][j][k]dp[i][j][k],iii代表枚举的行数,jjj代表有jjj有1个棋子,kkk表示有kkk列有两个棋子于是状态转移有不放放一个在:无棋子的列上(乘上没有棋子的...原创 2019-03-13 16:46:29 · 125 阅读 · 0 评论