zoukankan      html  css  js  c++  java
  • hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)

    题意:

      求解最大递增子序列。

      例如:3 1 3 2

      输入 3  个数 1 3 2

      则递增子序列有 {1} {3} {2} {1 3} {1 2} ,故输出子序列的最大和 4

    解题思路:

      x[n](n个数) 数组存储 输入的数据

      dp[i] 用来记录 前 i+1 {数据从下标为0开始存储}个数的 最大结果

      遍历dp[] 找到最大值即可。

    因 G20 网站暂停提交

    明天测试代码。

    2016.08.27 代码提交成功!

    代码如下:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int x[100002];
     4 int dp[100002];
     5 int main()
     6 {
     7     int n;
     8     while(scanf("%d",&n)!=EOF&&n)
     9     {
    10         int i,j,maxx=0;
    11         for(i=0; i<n; i++)
    12         {
    13             scanf("%d",&x[i]);
    14         }
    15         memset(dp,0,sizeof(dp));
    16         dp[0]=x[0];
    17         for(i=1; i<n; i++)
    18         {
    19             for(j=0; j<i; j++)
    20             {
    21                 if(x[i]>x[j])
    22                     dp[i]=max(dp[j],dp[j]+x[i]);
    23             }
    24             dp[i]=max(dp[i],x[i]);
    25             maxx=max(dp[i],maxx);
    26         }
    27         printf("%d
    ",maxx);
    28     }
    29     return 0;
    30 }
  • 相关阅读:
    Mybatis学习-ResultMap
    MySql模糊查询 concat()函数
    Spring学习-依赖注入
    Struts2学习-struts执行过程简述
    Struts2学习-jsp中超链接传参问题
    Struts2学习-struts.xml文件配置
    第四次作业
    第三次作业
    Django -Ajax
    Django -ORM
  • 原文地址:https://www.cnblogs.com/A--Q/p/5811946.html
Copyright © 2011-2022 走看看