日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

狀態壓縮dp 最優配對問題

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

在空間中的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環境

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产福利二区 | 中文字幕精品一区久久久久 | 国产亚洲综合性久久久影院 | 国产福利精品视频 | 精国品产一区二区三区有限公司 | 亚洲一区久久久 | 国产欧美精品一区二区 | 一区二区三区黄色 | 中文字幕精品一区久久久久 | 国产精品一区二区三区久久 | 99re久久| 91久久精品国产 | 一区二区三区福利 | 国产精品第二页 | 亚洲精品二 | 中国一级特黄真人毛片 | 成人免费网站在线观看 | 男人天堂网在线观看 | 岛国一区 | 久久亚洲影视 | 精品性高朝久久久久久久 | 日日日日日 | 看a黄大片| 在线观看日韩精品 | 国产精品视频99 | 久久久无码精品亚洲日韩按摩 | 亚洲欧美综合久久 | 国产精品视频在线观看 | 成人av在线一区二区 | 污视频免费在线观看 | 久久精品视频在线 | 亚洲高清在线播放 | 成人教育av | 午夜视频黄色 | 播五月婷婷 | 日韩在线视频一区 | 日本在线免费播放 | 2019中文字幕在线视频 | 国产1区2区 | 亚洲精品色综合av网站 | 亚洲成人中文 |