dp[0][i][j]表示从i点出发,走最多j步返回i点的最优解。dp[1][i][j]表示从i点出发,走最多j步不返回i点的最优解。因此有:dp[0][u][j+2]=max(dp[0][u][j+2],dp[0][v][p]+dp[0][u][j-p]); //从u点出发,分配p步给子节点v走且返回到v,分配j-p给u点走且回到u,用2步来回u和v。dp[1][u][j+2]=max(dp[1][u][j+2],dp[0][v][p]+dp[1][u][j-p]);dp[1][u][j+1]=max(dp[1][u][j+1],dp[1][v][p]+dp[0][u][j-p]);dp[. Read More
posted @ 2013-10-25 21:48 MoriMiya Views(147) Comments(0) Diggs(0)