BNU 2012 Summer Selection Contest I A题 Fragile Bridges

题意:给定N个点和i-i+1点的边权,没经过一次边,边权减1,ans加1。给定n-1条边的边权,求最大的ans。

思路:dp[i][0]从i点出发到0-i最大ans,dp[i][1]为从i经过0-i回到i的最大ans。dp[i][2]从i点出发到i-n-1最大ans,dp[i][3]为从i经过i-n-1回到i的最大ans。

   状态转移方程为dp[i][1]=dp[i-1][1]+a[i-1]/2*2(a[i-1]>1)

          dp[i][1]=0(a[i-1]<2)

          dp[i][0]=dp[i-1][0]+a[i-1](a[i-1]奇数)

          dp[i][0]=max(dp[i][1],dp[i-1][0]+a[i-1]-1)(a[i-1]偶数)

   dp[i][2]dp[i][3]同理。

  最后遍历i,ans=max(dp[i][0],dp[i][2],dp[i][1]+dp[i][2],dp[i][0]+dp[i][3])。

                                                         Q

posted on 2012-07-29 19:01  miao11621  阅读(129)  评论(0编辑  收藏  举报

导航