zoukankan      html  css  js  c++  java
  • hdu 4223 Dynamic Programming

    http://blog.ac521.org/?p=206

    题意:给你一个序列,求一个连续子序列,使这个连续子序列的和的绝对值最少,输出最小是多少。

    先求出每一个的前n项和,然后排序,找差值最小的就可以了。

    #include <stdio.h>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    int a[1000010];
    int main()
    {
        int i,j,k,l,m,n,max,min;
        int T=1;
        scanf("%d",&n);
        while(n--)
        {
            memset(a,0,sizeof(a));
            scanf("%d",&m);
            a[0]=0;
            for(i=1;i<=m;i++)
            {
                scanf("%d",&l);
                a[i]=a[i-1]+l;
            }
            sort(a,a+m+1);
            max=a[m]-a[0];
            for(i=0,min=10000000;i<m;i++)
            {
                k=a[i+1]-a[i];
                if(min>k)
                min=k;
            }
            printf("Case %d: %d\n",T++,min);
        }
     
    }
  • 相关阅读:
    java例题 汽油检测
    java常用api
    二分搜索法
    java例题
    java基础
    表单验证
    4.10 pm例题
    0805
    0731 框架Mybatis
    小结
  • 原文地址:https://www.cnblogs.com/AkQuan/p/2456782.html
Copyright © 2011-2022 走看看