鏈€鐭璈amilton璺緞

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鏈€鐭璈amilton璺緞相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/%e7%8a%b6%e6%80%81%e5%8e%8b%e7%bc%a9dp' title='鐘舵€佸帇缂ヾp'>鐘舵€佸帇缂ヾp   std   鍩虹   ide   inf   data   opened   

棰樼洰鎻忚堪

缁欏畾涓€寮?n(n鈮?0) 涓偣鐨勫甫鏉冩棤鍚戝浘锛岀偣浠?0~n-1 鏍囧彿锛屾眰璧风偣 0 鍒扮粓鐐?n-1 鐨勬渶鐭璈amilton璺緞銆?Hamilton璺緞鐨勫畾涔夋槸浠?0 鍒?n-1 涓嶉噸涓嶆紡鍦扮粡杩囨瘡涓偣鎭板ソ涓€娆°€?/div>

 

杈撳叆

绗竴琛屼竴涓暣鏁皀銆?br> 鎺ヤ笅鏉琛屾瘡琛宯涓暣鏁帮紝鍏朵腑绗琲琛岀j涓暣鏁拌〃绀虹偣i鍒癹鐨勮窛绂伙紙涓€涓笉瓒呰繃10^7鐨勬鏁存暟锛岃涓篴[i,j]锛夈€?br> 瀵逛簬浠绘剰鐨剎,y,z锛屾暟鎹繚璇?a[x,x]=0锛宎[x,y]=a[y,x] 骞朵笖 a[x,y]+a[y,z]>=a[x,z]銆?br>

 

杈撳嚭

涓€涓暣鏁帮紝琛ㄧず鏈€鐭璈amilton璺緞鐨勯暱搴︺€?/div>

 

鏍蜂緥杈撳叆

4
0 2 1 3
2 0 2 1
1 2 0 1
3 1 1 0

 

鏍蜂緥杈撳嚭

4

 

鎻愮ず

浠?鍒?鐨凥amilton璺緞鏈変袱鏉★紝0-1-2-3鍜?-2-1-3銆傚墠鑰呯殑闀垮害涓?+2+1=5锛屽悗鑰呯殑闀垮害涓?+2+1=4

鍩虹鐨勭姸鎬佸帇缂〥P
姣忎釜鐐规湁涓ょ鐘舵€侊紝鍙互鏀惧拰涓嶅彲浠ユ斁锛屽彲浠ユ斁鐗х敤1琛ㄧず锛屽惁鍒欑敤0琛ㄧず銆?/div>
銆愮姸鎬併€戙€愪綅缃€?/div>
鎵€浠ュ叡鏈?5绉嶇姸鎬?浠?鍑哄彂锛屾墍浠ュ垵濮嬫槸dp[i][j]=mapp[0][j];
鐘舵€佽浆绉伙細dp[i][j]=min(dp[i][j],dp[i-temp][k]+mapp[k][j]);
鎶€鏈垎浜浘鐗? id=
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int mapp[25][25];
int dp[1<<20][25];
const int inf=1e9;
int main(){
    ios::sync_with_stdio(false);
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++) cin>>mapp[i][j];
    }
    int sum=(1<<n)-1;
    for(int i=1;i<=sum;i++){
        for(int j=0;j<n;j++){
            int temp=(1<<j);
            if(i&temp){
                if(i==temp){
                    dp[i][j]=mapp[0][j];
                }
                else{
                    dp[i][j]=inf;
                    for(int k=0;k<n;k++){
                        if(i&(1<<k)&&j!=k) dp[i][j]=min(dp[i][j],dp[i-temp][k]+mapp[k][j]);
                    }
                }
            }
        }
    }
    cout<<dp[sum][n-1]<<endl;
    return 0;
}
View Code

 

以上是关于鏈€鐭璈amilton璺緞的主要内容,如果未能解决你的问题,请参考以下文章

phpstom 閰嶇疆xdebug

銆恉jango銆慺orm

jmeter-SMTP Sampler

[mybatis]鑷姩閫嗗悜宸ョ▼

oracle 淇敼鏁版嵁鏂囦欢璺緞