zoukankan      html  css  js  c++  java
  • hdu 4223 排序

    Problem: http://acm.hdu.edu.cn/showproblem.php?pid=4223

    求连续子序列和的绝对值的最小值

    sum[i]储存前 i 个数的和

    sum[y]-sum[x]表示第x+1个数到第y个数的和

    该题要求的就是最小的abs(sum[y]-sum[x])

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    #define MAXN 1001
    int t,n,a,sum[MAXN];
    int main()
    {
        scanf("%d",&t);
        for(int k=1;k<=t;k++){
            scanf("%d",&n);
            for(int i=1;i<=n;i++){
                scanf("%d",&a);
                sum[i]=sum[i-1]+a;
            }
            sort(sum,sum+n+1);
            a=sum[1]-sum[0];
            for(int i=1;i<n;i++)a=min(a,sum[i+1]-sum[i]);
            printf("Case %d: %d
    ",k,a);
        }
        return 0;
    }
    View Code

    程序没什么好解释的.....都懂
    DP该如何运用啊..我是弱渣,不懂

  • 相关阅读:
    设计模式——策略模式
    LeetCode
    平凡世界里的万千思绪
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/cshhr/p/3543634.html
Copyright © 2011-2022 走看看