最大子串和

#include<cstdio>
#include<cstring>const int maxn=100000+10;
int n;
int x[maxn];
int fx[maxn];
int a[maxn];
int sum[maxn];
int L[maxn],R[maxn];const int INF=0x7FFFFFFF;int max(int a,int b)
{if(a>b) return a;return b;
}
int main()
{int N;while(~scanf("%d",&N)){int SS=0;for(int i=1;i<=N;i++){scanf("%d",&x[i]);SS=SS+x[i];}for(int i=1;i<=N;i++)fx[i]=(1890*x[i]+143)%10007;for(int i=1;i<=N;i++) a[i]=fx[i]-x[i];sum[1]=a[1]; L[1]=1;R[1]=1;for(int i=2;i<=N;i++){if(sum[i-1]+a[i]>=a[i]){sum[i]=sum[i-1]+a[i];L[i]=L[i-1];R[i]=i;}else{sum[i]=a[i];L[i]=i;R[i]=i;}}int Max=-INF;for(int i=1;i<=N;i++)if(sum[i]>Max) Max=sum[i];int ans=max(SS,SS+Max);printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/zufezzt/p/5003605.html

HDU 5586 Sum相关推荐

  1. HDU 5586 Sum (预处理 + 动态规划)

    题目链接:传送门 题意:给你n个数字,然后你可以对这n个数组的任意一个子区间进行一个操作,\(f(x)=(1890x+143)mod10007\),或者不进行操作,问你怎样操作能使得加和最大解题思路: ...

  2. HDU.1001 Sum Problem

    原题 HDU.1001 Sum Problem 分类 杂题 题意 计算从1到正整数n的累加和. 输入/输出 要求与格式 输入内容 每行输入一个正整数 输出结果 结果为累加和 输出格式 每个输出结果独占 ...

  3. hdu 1258 Sum It Up(回溯算法)

    题意:从给定的n个正整数中选出m个数(m <= n)使得这m个数的和为给定的total 解法:回溯 /* Author: ACb0y Date: 2010-11-11 ProblemId: hd ...

  4. hdu 5586(最大连续子序列和)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5586 官方题解: 令A i =f(A i )−A i  ,然后求一遍最大连续子序列和就能知道最多能增加 ...

  5. hdu 4676 Sum Of Gcd 莫队+phi反演

    Sum Of Gcd 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4676 Description Given you a sequence of ...

  6. HDU 1258 Sum It Up

    这题郁闷了,排序过不了,后来仔细想想不用排序, 于是果断删了,没想到删了再杭电能过,在北大不能过,真郁闷了 这题是以简单DFS,在搜到时把结果存起来,然后再暴力搜索,看是否已存在这样的sum,最后一次 ...

  7. hdu 4407 Sum

    http://acm.hdu.edu.cn/showproblem.php?pid=4407 题意:给定初始n个数1..n,两个操作,①1 x y p  询问第x个数到第y个数中与p互质的数的和; ② ...

  8. hdu 3022 Sum of Digits

    http://acm.hdu.edu.cn/showproblem.php?pid=3022 题意: 最多不超过10000组数据,每组数据给定两个数n,m,求一个最小的数,使得该数每一位之和等于n,每 ...

  9. HDU 5776 sum (BestCoder Round #85 A) 简单前缀判断+水题

    分析:就是判断简单的前缀有没有相同,注意下自身是m的倍数,以及vis[0]=true; #include <cstdio> #include <cstdlib> #includ ...

  10. hdu max sum

    这题跟求最大连续数列一样的,稍微不同的是只要把值改为标号就可以了. #include<stdio.h> #include<string.h> #include<stdli ...

最新文章

  1. Java设计模式-桥接模式 理论代码相结合
  2. 百度SEO EBCMS(易贝管理系统) v1.2.0
  3. 北航博士,研究所月入两万,是一种什么体验?
  4. 终端操作MySQL数据库
  5. 十个利用矩阵解决的经典题目
  6. PyTorch学习笔记——语言模型
  7. c语言输入括号配对成功输出1,用数组实现括号配对检查,输出不正确,请大家指点解决办法...
  8. Java String startsWith()方法
  9. win11虚拟桌面如何使用 Windows11虚拟桌面的使用方法
  10. october php,php – 如何调用组件内的组件[OctoberCMS]
  11. lr0文法分析表示例_LR0分析表
  12. linux--shell基础
  13. spring cloud、gradle、父子项目、微服务框架搭建---搭建Eureka注册中心(一)
  14. 蝶衣王究竟怎么样?来和大家聊一聊
  15. 该如何学习,学习的意义?(更新中)
  16. 怎样使用markdown做笔记、python入门小白
  17. (ICCV-2017)使用伪 3D 残差网络学习时空表示
  18. Tensorflow深度学习入门(1)——Tensorflow环境搭建
  19. 智慧消防正助力大学校园走向平安校园、智慧校园
  20. 缺口将达230万!大数据人才求职需要注意这些

热门文章

  1. 七周七语言——Prolog(二)
  2. Oracle数据把持和控制言语详解-1
  3. 20个非常棒的Jquery实用工具
  4. Leetcode 363.矩形区域不超过k的最大数值和
  5. vue 数组中嵌套的对象添加新属性--页面更新
  6. iOS 开发之 GCD 不同场景使用
  7. spark源码阅读之network(2)
  8. 日更第4期-2015-1-19-openFrameworks系列第三讲-面向对象的小球们
  9. _splitpath / _wsplitpath 将绝对路径分割为盘符、路径、文件名、扩展名。
  10. php字符编码转换问题