【HDU5586 BestCoder Round 64 (div1)A】【贪心 最大连续子串】Sum 区间函数值变换使得数列权值和最大
来源:互联网 发布:彩虹六号排位怎么算法 编辑:程序博客网 时间:2024/04/30 22:08
#include<stdio.h>#include<string.h>#include<ctype.h>#include<math.h>#include<iostream>#include<string>#include<set>#include<map>#include<vector>#include<queue>#include<bitset>#include<algorithm>#include<time.h>using namespace std;void fre(){freopen("c://test//input.in","r",stdin);freopen("c://test//output.out","w",stdout);}#define MS(x,y) memset(x,y,sizeof(x))#define MC(x,y) memcpy(x,y,sizeof(x))#define MP(x,y) make_pair(x,y)#define ls o<<1#define rs o<<1|1typedef long long LL;typedef unsigned long long UL;typedef unsigned int UI;template <class T1,class T2>inline void gmax(T1 &a,T2 b){if(b>a)a=b;}template <class T1,class T2>inline void gmin(T1 &a,T2 b){if(b<a)a=b;}const int N=1e5+10,M=0,Z=1e9+7,ms63=1061109567;int casenum,casei;int a[N];int b[N];int n,x;inline int f(int x){return (1890*x+143)%10007;}int main(){while(~scanf("%d",&n)){int sum=0;for(int i=1;i<=n;++i){scanf("%d",&x);sum+=x;a[i]=f(x)-x;}int maxv=0;int tmp=0;for(int i=1;i<=n;++i){tmp+=a[i];if(tmp<0)tmp=0;gmax(maxv,tmp);}printf("%d\n",sum+maxv);}return 0;}/*【题意】给你一个长度为n(1e5)的数串,我们可以把一个区间段的数由x变成f(x),让你选择一个区间段做变换或不变换,使得这个数列之和尽可能大,并输出【类型】贪心 最大连续子串。【分析】我们要选择怎么样的一个区间段做变换呢?我们考虑变前与变后的差异,存在a[]中,然后求出一个最大连续子序列。如果变换,肯定是这个区间段做变换,于是更新输出答案即可。【时间复杂度&&优化】O(n)*/
0 0
- 【HDU5586 BestCoder Round 64 (div1)A】【贪心 最大连续子串】Sum 区间函数值变换使得数列权值和最大
- hdu5586 & BestCoder Round #64 (div.2) 1002(最大连续子序列和)
- HDU5586:Sum(最大连续字段和)
- HDU5586 - Sum (最大子列和)
- HDU 5586 Sum(最大连续子序列和)——BestCoder Round #64(div.1 div.2)
- 最大连续子数列和
- 最大连续子数列和
- hdu1003 Max Sum (求连续子区间最大和)
- HDU1003 Max Sum(最大连续子序和、贪心、DP)
- 【HDU5646 BestCoder Round 76 (div1)A】【贪心】DZY Loves Partition n个数拆分k个最大乘积
- 最大连续子数列
- bestcoder#64div21002Sum【最大连续子序列】
- Maximum Subsequence Sum最大连续数列和
- 【贪心\最大连续区间和】游览路线
- 最大连续子数列和问题
- 最大连续子数列和问题
- 最大连续子数列和 模板
- 数列最大连续子数组和
- 宏定义和高级指针
- (转载一些资料) Android打开各种类型的文件方法总结..........
- Ubuntu15.10 安装MySQL 5.7.9
- 模拟聊天窗口的消息实现
- Go语言条件变量的两个例子
- 【HDU5586 BestCoder Round 64 (div1)A】【贪心 最大连续子串】Sum 区间函数值变换使得数列权值和最大
- ubuntu 14.04 安装flash插件
- HDU2043密码
- CentOS7下让MySQL支持中文
- Linux查看程序 安装路径、运行路径,以MySQL为例
- 蓝桥杯OJ刷题日记——01-基础练习 闰年判断
- python操作符重载
- Python连接Mysql数据库遇到的一系列问题
- Linux下V4L2拍照测试用例