紫皮各种……

1.最优配对问题

d(i,S) = min{|Pi,Pj| + d(i-1,S-i-j) | j在S中};

空间 n 个点,配成n/2对使两点的距离之和尽量少

for(int i = 1;i <= n;i++){
        for(int S = 0;S < (1 << n);S++){
            d[i][S] = INF;
            for(int j = 0;j < n;j++){
                if(S & (1<< j)){ /// 如果j能参与配对
                    d[i][S] = min(d[i][S],dist(i,j) + d[i-1][S^(1<<i)^(1<<j)]);
                }
            }
        }
    }
View Code

相关文章:

  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
  • 2021-12-12
  • 2022-12-23
  • 2021-12-12
  • 2021-08-19
  • 2021-08-12
猜你喜欢
  • 2021-09-10
  • 2022-01-07
  • 2022-12-23
  • 2021-12-02
  • 2021-12-12
  • 2021-11-13
相关资源
相似解决方案