《基于连通性状态压缩的动态规划问》》由会员分享,可在线阅读,更多相关《基于连通性状态压缩的动态规划问》(7页珍藏版)》请在金锄头文库上搜索。
基于连通性状态压缩的动态规划问题,n*m的方格 n+m=18 每个格子的状态是0 1 2 3 中的一个 1代表障碍 0代表空格 在空格中通过不相交的两条线 将两个2 两个3 连接, 求两条线之和最小是多少,Poj 3133,几个概念,插头:一个格子某个方向上的插头存在 表示这个格子和相应方向上的格子连接一条线,轮廓线:已决策的格子和未决策的格子的分界线,轮廓线的长度是 m+1 所以轮廓线上的插头数为0- m+1个,轮廓线上可以存在插头的数量有m+1个,插头的种类有2种, 所以可以用一个m+1位的三进制数来表示整个轮廓线上的插头的状态。,Fijk 表示决策到 坐标为(i,j) 个格子的时候后,轮廓线上插头状态为k 的最短路径。 我们取出轮廓线上 (i,j) 旁边的两段,通过计算得到三进制数的两位,w1和w2(如图的w1=2 w2=0,状态转移方程,令k为k的w1 w2变为w1 w2时的值 aij=0时 如果w1= 0 w2=0 w1=0 w2=0 Fijk=fij-1k w1=1 w2=1 Fijk=fij-1k+1 w1=2 w2=2 Fijk=fij-1k+1,状态转移方程,