
动态规划-状态压缩
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 1087 [SCOI2005]互不侵犯King
状压DP 记f[i][j][k]表示第i行,已经摆放了j个,第i行的状态为k的方案数。#include<cstdio>#define MAXN 11#define MAXC 100long long f[MAXN][MAXC][1<<MAXN], q[1000][2], tot=0;int main(){ int n, k; scanf("%d%d",&n,&k);原创 2016-08-03 22:21:01 · 234 阅读 · 0 评论 -
HDU 1693 Eat the Trees
枚举轮廓线,插头DP只要上下左右边界都没有插头,且每一个可行方格都有两个插头,那内部就一定是联通的。记f[i][j][k]f[i][j][k]表示做到第i行,第j列,轮廓线状态为k的方案数要开long long!#include<cstdio>#define MAX 15long long f[MAX][MAX][1<<MAX];int map[MAX][MAX];int main(){原创 2016-08-10 15:43:41 · 396 阅读 · 0 评论 -
BZOJ 2208 [Jsoi2010]连通数
缩点+bitset+DP先缩点。每一块的答案是他能到达的(包括自己)所有块的siz和自己的siz相乘的和,于是对缩点后的拓扑图进行DP即可。#include<cstdio>#include<queue>#include<bitset>#include<algorithm>#define N 2005using namespace std;bitset<N> f[N];queue<int原创 2016-09-27 14:50:53 · 390 阅读 · 0 评论