码迷,mamicode.com
首页 > 其他好文 > 详细

【解题报告】[动态规划]RQNOJ - PID82 / 又上锁妖塔

时间:2014-05-09 10:15:50      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   tar   color   

原题地址:http://www.rqnoj.cn/problem/82

解题思路:

  简单的动态规划

  状态表示:DP[i][0]表示当前在第i层,且当前跳跃状态不可用,此时消耗的最短时间。

         DP[i][1]表示当前在第i层,且当前跳跃状态可用,此时消耗的最短时间。

  状态转移方程:

      DP[i][0]=min(DP[i-1][1],DP[i-2][1]);
      DP[i][1]=min(DP[i-1][0],DP[i-1][1])+t[i-1];

  初始状态:

      DP[0][0]=INF

      DP[0][1]=0

解题代码:

bubuko.com,布布扣
 1 #include<stdio.h>
 2 #include<iostream>
 3 using namespace std;
 4 int t[10005],n;
 5 int dp[10005][2];
 6 int min(int x,int y)
 7 {
 8     return x<y?x:y;
 9 }
10 int main()
11 {
12     int i;
13     cin>>n;
14     for(i=0;i<n;i++)
15     {
16         scanf("%d",&t[i]);
17     }
18     dp[0][1]=0;
19     dp[1][0]=0;
20     dp[1][1]=t[0];
21     for(i=2;i<=n;i++)
22     {
23         dp[i][0]=min(dp[i-1][1],dp[i-2][1]);
24         dp[i][1]=min(dp[i-1][0],dp[i-1][1])+t[i-1];
25         //printf("%d  %d\n",dp[i][0],dp[i][1]);
26     }
27     printf("%d\n",min(dp[n][0],dp[n][1]));
28     return 0;
29 }
View Code

 

【解题报告】[动态规划]RQNOJ - PID82 / 又上锁妖塔,布布扣,bubuko.com

【解题报告】[动态规划]RQNOJ - PID82 / 又上锁妖塔

标签:style   blog   class   code   tar   color   

原文地址:http://www.cnblogs.com/syiml/p/3716888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!