双调欧几里得旅行商问题 Bitonic_TSP poj 2677

//定义状态f[i][j]为1->i和1->j的两条路径,其中i>j,由对称性可减少一半的计算

//其他见下图:

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int MAX=55,INF=1<<30;
struct Point{
    double x,y;
};
int n;
Point p[MAX];
double dis[MAX][MAX];
double f[MAX][MAX];

inline
double Distance(const double &X,const double &Y){
    return sqrt(X*X+Y*Y);
}

double bitonicTSP(){
    for(int i=2;i<=n;i++)
        f[i][1]=dis[i][1];//intit

    for(int i=2;i


 

你可能感兴趣的:(双调欧几里得旅行商问题 Bitonic_TSP poj 2677)