多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > hdu 1565 方格取數(1) 狀壓DP

hdu 1565 方格取數(1) 狀壓DP

來源:程序員人生   發布時間:2015-06-01 08:48:36 閱讀次數:2515次

方格取數(1)

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6096    Accepted Submission(s): 2331


Problem Description
給你1個n*n的格子的棋盤,每一個格子里面有1個非負數。
從中取出若干個數,使得任意的兩個數所在的格子沒有公共邊,就是說所取的數所在的2個格子不能相鄰,并且取出的數的和最大。
 

Input
包括多個測試實例,每一個測試實例包括1個整數n 和n*n個非負數(n<=20)
 

Output
對每一個測試實例,輸出可能獲得的最大的和
 

Sample Input
3 75 15 21 75 15 28 34 70 5
 

Sample Output
188
 

Author
ailyanlu
 

鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1565



兩個11不相零的210位 2進制1共有17000個,這題數據比較水,循環兩次 竟然沒超時。

做法:dp[cur][j],cur轉動數組,j表示第j個 符合要求的 2進制數。dp[cur][j]為當前行,j狀態 和的最大值。然后不斷加,然后上下行不排除的轉移下來就能夠了。



#include <stdio.h> #include <stdlib.h> #include <string.h> #include <limits.h> #include <malloc.h> #include <ctype.h> #include <math.h> #include <string> #include <iostream> #include <algorithm> using namespace std; #include <stack> #include <queue> #include <vector> #include <deque> #include <set> #include <map> #define INF 999999999 #define eps 0.00001 #define LL __int64d #define pi acos(⑴.0) vector <int >my; map<int ,int>mp; int dp[2][17711]; int n; int ok(int num) { if(num&(num>>1)) return 0; return 1; } int num[20][20]; int main() { for(int i=0;i<(1<<20);i++) { if(ok(i)) { my.push_back(i); mp[i]=mp.size(); } } //printf("%d %d ",my.size(),(1<<20)); while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { scanf("%d",&num[i][j]); } } memset(dp,0,sizeof dp); int cur=0; for(int i=0;i<n;i++) { cur^=1; memset(dp[cur],0,sizeof dp[cur]); for(int j=0;my[j]<(1<<n);j++) { int tem=0; for(int k=0;k<n;k++) { if(my[j]&(1<<k)) { tem+=num[i][k]; } } for(int k=0;my[k]<(1<<n);k++) { if((my[j]&my[k])==0) dp[cur][j]=max(dp[cur^1][k]+tem,dp[cur][j]); } } } int maxx=0; for(int j=0;my[j]<(1<<n);j++) { maxx=max(maxx,dp[cur][j]); } printf("%d ",maxx); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲一区二区三区国产精品 | 欧美日韩国产高清 | 国产福利不卡视频在免费播放 | 中文字幕最新在线 | 国产大象视频一区二区 | 欧美精品一区二区久久 | 日韩在线a视频免费播放 | 亚洲 欧美 日韩在线 | 黑人和黑人激情一级毛片 | 欧美精品网站 | 亚洲国产欧美在线不卡中文 | 另类图片 亚洲 校园 小说区 | 久久中文字幕日韩精品 | 国产精品2020观看久久 | 亚洲精品国产精品一区二区 | 一本久到久久亚洲综合 | 国产日韩欧美一区 | 在线亚洲网站 | 国产精品久久久久久久午夜片 | h网站免费在线观看 | 羞羞视频日本动漫免费网站 | 日韩欧美国产一区二区三区 | 国产一区二区不卡 | 欧美手机手机在线视频一区 | 91精品一区二区 | 亚洲第一视频在线观看 | 久久综合欧美成人 | 亚洲乱码一二三四区麻豆 | 久久一区不卡中文字幕 | 日韩久久久精品首页 | 激情啪啪精品一区二区 | 久久乐国产综合亚洲精品 | 一区二区三区日韩 | 午夜视频免费观看 | 免费一级毛片在级播放 | 国产一区亚洲二区三区毛片 | 亚洲xxx视频 | 亚洲天堂网站在线 | 久操精品在线观看 | 国产91精品久久久久久 | 免费一级毛片在级播放 |