最优配对问题

UvaOJ10911


  这个题首先要明确  1.二进制的枚举特点

                                  2. ^ 运算符的特点



   1. 二进制枚举较多见,书上的代码是这样的

       递推 是由 dp[ S ]  是 0 到 log S + 1(以2 为底) 个点集合组成的最小距离。

       S  表示的是 点 i ,j 的组合种类  转换成二进制表示为 S = (1<(1<

      所以通过枚举 S 就 能确定  i,j 的组合是那种。

      dp[s] = min(dp[s] , dist(i,j) + dp[s ^ (1<


    2.   ^ 表示异或, 0^1 = 1, 1^1 = 0 , 相异为1

          则 a^a = 00000

          同理 S本身枚举的就是两个点的之和, s^(1<(1<(1<(1<

       

for(s = 1;s< (1<

  

#include
#include
#include
#define min(a,b) a

     http://www.cnblogs.com/pangblog/archive/2013/09/21/3331303.html

    这位大神用的是深搜 感觉也不错!                

你可能感兴趣的:(动态规划,uva,C,递推,acm)