zoj 3471 Most Powerful
2011-02-14 14:43
141 查看
昨天的月赛题。DP题。不会做,搜了之后凑合理解明白了。
学了下位运算的状态压缩 = =。。。很强大的东西。。。
详见解说http://blog.csdn.net/magicnumber/archive/2011/02/13/6182891.aspx
学了下位运算的状态压缩 = =。。。很强大的东西。。。
详见解说http://blog.csdn.net/magicnumber/archive/2011/02/13/6182891.aspx
#include <cstdio> #include <cstdlib> #include <iostream> #include <string.h> #include <queue> #include <limits.h> using namespace std; int map[12][12]; int dp[2000]; int bin[13] = {0,1,2,4,8,16,32,64,128,256,512,1024}; int main() { int i,k,p,maxx,n; while( ~scanf("%d",&n) && n ) { memset(dp,0,sizeof(dp)); for(i=1; i<=n; i++) for(k=1; k<=n; k++) scanf("%d",&map[i][k]); for(i=0; i<bin[n+1]; i++) for(k=1; k<=n; k++) if( (i & bin[k]) == 0 ) for(p=1; p<=n; p++) if( (i & bin[p]) == 0 && p != k ) dp[i+bin[p]] = max(dp[i]+map[k][p],dp[i+bin[p]]); maxx = 0; for(i=0; i<bin[n+1]; i++) if( dp[i] > maxx ) maxx = dp[i]; printf("%d/n",maxx); } return 0; }
相关文章推荐
- ZOJ 3471 Most Powerful (状态压缩)
- ZOJ 3471 Most Powerful(状压DP)
- ZOJ 3471 Most Powerful (状压DP)
- ZOJ3471——Most Powerful(状态压缩DP)
- ZOJ 3471 Most Powerful
- ZOJ 3471 Most Powerful
- ZOJ - 3471 Most Powerful (状态压缩)
- ZOJ 3471 Most Powerful(状态压缩DP)
- ZOJ 3471 Most Powerful (状压dp)
- Most Powerful (zoj 3471 状压dp 点集配对)
- ZOJ - 3471 Most Powerful (状态压缩)
- ZOJ 3471 Most Powerful
- zoj 3471 Most Powerful(状态压缩dp)
- [ZOJ 3471] Most Powerful
- ZOJ 3471 Most Powerful 状压dp
- zoj 3471 Most Powerful (状态压缩dp)
- ZOJ 3471 Most Powerful(状压DP)
- zoj3471 Most Powerful
- zoj 3471 Most Powerful(状态压缩+dp)
- zoj 3471 Most Powerful(状压)