Kefa and Dishes CodeForces - 580D

http://codeforces.com/problemset/problem/580/D

状压DP裸题 dp[i][j]代表状态i下 以第j道菜为结尾时的最大满意度 当某一状态恰好有m道菜时更新一下答案即可

 

#include 
using namespace std;
typedef long long ll;
const int maxn=20;
const int maxm=1e6+10;

ll dp[maxm][maxn];
ll e[maxn][maxn];
ll val[maxn];
int bit[maxm][maxn];
int pre[maxn],cnt[maxm];
int n,m,p;

void init()
{
	int i,j,t;
	pre[0]=1;
	for(i=1;i<=n;i++){
		pre[i]=2*pre[i-1];
	}
	for(i=0;i0){
			bit[i][j++]=t%2;
			cnt[i]+=t%2;
			t/=2;
		}
	}
}

ll solve()
{
	ll res;
	int i,j,k;
	for(i=0;i

 

你可能感兴趣的:(状压DP,CodeForces,状压DP)