摘要:
DP大水题。。关键是路径记录#include
#include
#include
using namespace std;
const int INF=11) puts(""); memset(vis,0,sizeof(vis)); memset(can,0,sizeof(can)); memset(path,-1,sizeof(path)); scanf("%d",&n); for(i=1;i=0) dp[i]=maxv+in[i]; } ans=-... 阅读全文
摘要:
第二道状态压缩。。。 自己做出来还是很爽的二维, 第一维表示当前状态, 第二维表示当前地点。先从未达到tt这个点的状态推出当前有tt状态的点,然后再根据同状态其他已到达点 试着从其他点更新到该点,使得时间更小。#include
#include
#include
using namespace std;
int map[12][12], dp[1333][11], p[12];
const int INF=10; j-=j&(-j)) { tt=j&(-j); for(r=0; r<=n; r++) ... 阅读全文
摘要:
第一道状态压缩DP。。。。入门题 按照自己的思路来 AC了先把每行可行的状态求出来 再进行DP#include
#include
#include
using namespace std;
const int mod=100000000;
int dp[13][5000], map[13][13], state[13][1005], len[13];
int main()
{ int n, m, i, j, k; while(scanf("%d%d",&n,&m)!=EOF) { for(i=0;i<n;i++) for(j=0;... 阅读全文