zoukankan      html  css  js  c++  java
  • HDU 1003 解题报告

    问题描述:求最大连续字串

    分析:一道简单的DP,状态转移方程是d[i] = ( d[i-1]+a[i] > a[i] ) ? d[i-1]+a[i] : a[i]

             d[i]表示以第i个数字结尾的连续字串的最大值,限制条件是 d[0]=0

             题目要求找出最大连续字串的首尾序号,尾序号显然是d[i]的下标 i ,首序号用数组start[i]保存,point是保存首序号的临时量,注意point初值是1

             还有一点,最后一组数据输出完换行后不能再打印空行,否则会判 Presentation Error

     1 #include<cstdio>
     2 
     3 int a[100005],start[100005],d[100005],T;
     4 int main()
     5 {
     6     scanf("%d",&T);
     7     int t=0;
     8     while(++t<=T)
     9     {
    10         printf("Case %d:
    ",t);
    11         int n;
    12         scanf("%d",&n);
    13         for(int i=1;i<=n;i++)
    14             scanf("%d",&a[i]);
    15         int point=1;
    16         d[0]=0;
    17         for(int i=1;i<=n;i++)
    18         {
    19             if(d[i-1]+a[i]>a[i])
    20             {
    21                 d[i]=d[i-1]+a[i];
    22                 start[i]=point;
    23             }
    24             else
    25             {
    26                 d[i]=a[i];
    27                 start[i]=point=i;
    28             }
    29         }
    30         int max=d[1],ins=1;
    31         for(int i=2;i<=n;i++)
    32         {
    33             if(d[i]>max)
    34             {
    35                 max=d[i];ins=i;
    36             }
    37         }
    38         printf("%d %d %d
    ",max,start[ins],ins);
    39         if(t<T) printf("
    ");
    40     }
    41 }
  • 相关阅读:
    falsk简单项目示例
    bootstrap基础
    flask models循环使用和migrate迁移脚本
    flask-script
    flask 钩子函数
    flask get和post请求使用
    flask SQLALchemy外键及约束
    flask SQLAlchemy
    关于虚拟机端口转发的一次理解和记录
    记录一次VMware与xshell远程链接的总结
  • 原文地址:https://www.cnblogs.com/sage-blog/p/3646252.html
Copyright © 2011-2022 走看看