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

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 狀態壓縮dp 最優配對問題

狀態壓縮dp 最優配對問題

來源:程序員人生   發布時間:2015-06-25 08:54:22 閱讀次數:3468次

在空間中的n(n為偶數)個點,配成n對,然后使得每個點在1個點對中。所有的點對的距離之和最小

#include <cstdio> #include <iostream> #include <algorithm> #include <queue> #include <stack> #include <climits> #include <cstring> #include <cmath> #include <map> #include <set> #define INF 100000000 using namespace std; int n; int x[1000]; int y[1000]; int d[1<< 21]; int dist(int a,int b){ return (x[a] - x[b])*(x[a]-x[b]) + (y[a]-y[b])*(y[a] - y[b]); } int main(){ while(cin >> n){ for(int i = 0;i < n;i++){ cin >> x[i] >> y[i]; } memset(d,0,sizeof(d)); for(int i = 0;i < (1<<n);i++){ d[i] = INF; } d[0] = 0; //順次枚舉不同的集合 for(int s = 0;s < (1<<n);s++){ int i,j; //d[s] = min(|PiPj| + d[s-{i}-{j}]); for(i = 0;i < n;i++){ //枚舉其中1個點 if(s & (1 << i)) break; } for(j = i+1;j < n;j++){ //再找另外1個點 if(s & (1 << j)){ //比較去掉這兩個點的集合最小值的方法 d[s] = min(d[s],dist(i,j)+d[s^(1<<i)^(1<<j)]); } } } printf("%d ",d[(1 << n)⑴]); } return 0; }

覺得的狀態緊縮dp合適于n較小但是狀態異常復雜的dp環境

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文在线播放 | 国产精品成人久久久久久久 | 精品三级内地国产在线观看 | 精品国产成人a在线观看 | 三级性生活视频 | 国产chinesehdxxxxtube | 91精品成人免费国产片 | 日本免费不卡视频一区二区三区 | 亚色最新网址 | 日韩在线一区高清在线 | 亚洲hd| 欧美第5页| 国产婷婷一区二区在线观看 | 亚洲欧美一区二区三区 | 天天天做天天天天爱天天想 | 日本中文字幕在线视频 | 久久大香伊蕉在人线国产昨爱 | 天天在线天天综合网色 | 亚洲特黄大黄一级毛片 | 中文字幕视频一区 | 国产主播福利片在线观看 | 玖玖中文 | 婷婷夜夜躁天天躁人人躁 | tube欧美巨大 | 现代激情校园春色 | 久久综合爱 | 欧美性精品 | 中文字幕一区二区三区永久 | 日本www黄 | 亚洲精品国产福利片 | 成年人在线观看视频网站 | 在线观看的黄色网址 | 男女男精品视频网站在线观看 | 国产精品国产三级国产爱网 | 欧美3d怪物交 | 国产成人免费视频精品一区二区 | 日本久久网 | 最近中文字幕免费完整国语 | 欧美视频 亚洲视频 | 在线亚洲观看 | 性综合网 |