zoukankan      html  css  js  c++  java
  • hdu 1087

    //本题用DP算法: 从一组数据中找一组递增数列且和为最大,假如我们从最后面往前找,每次都要找出前面比本身的小的数 ,

    //并加上f[j],就是此时f[j]最大的值

    //用f[ ]记下相应的位置的最大和,f[ i ]=max(num[ i ] ,f[ i ]+num[ j ] ),其中0<=j<i且num[ i ]>num[ j ],这样就可以求出从开始到第i

    //个元素,递增数列的和的最大值,最存在f[ i ]中;

    #include<iostream>
    using namespace std;

    int num[1000];
    int s[1000];
    int N;

    int main()
    {
     int i,j,maxSum;
     while(scanf("%d",&N)&&N!=0)
     {  
         maxSum=0;
         for(i=0;i<N;i++)
            scanf("%d",&num[i]);     s[0]=num[0];
        
         for(i=1;i<N;i++)
         {        s[i]=num[i];
               for(j=0;j<=i-1;j++)
                   if(num[i]>num[j]&&num[i]+s[j]>s[i])  s[i]=num[i]+s[j];  //从num[i]的前面找出比num[i]小的num[j]
                         
          
         if(maxSum<s[i]) maxSum=s[i];                      //如果num[i]+s[j]>s[i],则把较大的值赋给s[i];
         }
      
           
         printf("%d ",maxSum);
     }

        return 0;
    }

    //本题用DP算法: 从一组数据中找一组递增数列且和为最大,假如我们从最后面往前找,每次都要找出前面比本身的小的数 ,

    //并加上f[j],就是此时f[j]最大的值

    //用f[ ]记下相应的位置的最大和,f[ i ]=max(num[ i ] ,f[ i ]+num[ j ] ),其中0<=j<i且num[ i ]>num[ j ],这样就可以求出从开始到第i

    //个元素,递增数列的和的最大值,最存在f[ i ]中;

    #include<iostream>
    using namespace std;

    int num[1000];
    int f[1000];
    int N;

    int main()
    {
     int i,j,maxSum;
     while(scanf("%d",&N)&&N!=0)
     {  
         maxSum=0;
         for(i=0;i<N;i++)
            scanf("%d",&num[i]);     f[0]=num[0];
        
         for(i=1;i<N;i++)
         { 
               f[i]=num[i];                                          //首先f[i]第一步先保存自身的值
               for(j=0;j<=i-1;j++)
                   if(num[i]>num[j]&&num[i]+f[j]>f[i])    //从num[i]的前面找出比num[i]小的num[j]
                          f[i]=num[i]+f[j];
          
         if(maxSum<f[i]) maxSum=f[i];                      //如果num[i]+f[j]>f[i],则把较大的值赋给f[i];
         }
      
           
         printf("%d ",maxSum);
     }

        return 0;
    }

  • 相关阅读:
    1001. 害死人不偿命的(3n+1)猜想 (15)
    c语言学习习题
    设计模式随笔(四):单例模式
    设计模式随笔(三):建造者模式
    设计模式随笔(二):抽象工厂模式
    设计模式随笔(一):介绍java中常用的设计模式
    idea导入spring5.x源码编译
    使用idea从git上项目后jar包无法加载
    SFTP文件上传下载以及如何处理异常,页面展现
    Java代理模式
  • 原文地址:https://www.cnblogs.com/2014acm/p/3906905.html
Copyright © 2011-2022 走看看