题目描述

给定一个长度为N的序列a,对于每一个数都可选或不选,把选出的数有序组成一个新的序列b,使b序列的“和谐数”最大。
一个序列的和谐数如下定义:对于位置i,如果第奇数次选的则加上bi,偶数次选的则减去bi
注意:新的序列b必须是从左到右依次在a序列选择的,即不能打乱顺序。

输入

输入的第一行是一个n,第二行为n个数,即序列a

输出

输出一行一个整数,即表示最大的和谐数

样例输入

5
1 2 3 4 5Sample Input2
6
1 3 5 4 6 8

样例输出

5Sample Output2
9

数据范围限制

对于20%的数据,1<=n<=20
对于50%的数据,1<=n<=1000
对于100%的数据,1<=n<=10000000,1<=Ai<=100

分析

设f[0,i]表示当前这一位是减ai的最大值,得f[0,i]:=max(f[0,i-1],f[1,i-1]-a[i]);

设f[1,i]表示当前这一位是加ai的最大值,得f[1,i]:=max(f[1,i-1],f[0,i-1]+a[i]);

最后输出max(f[0,n],f[1,n])

程序:

uses math;
var
n,i:longint;
a:array[0..10000000]of longint;
f:array[0..1,0..10000000]of longint;
beginreadln(n);for i:=1 to n doread(a[i]);for i:=1 to n dobeginf[0,i]:=max(f[0,i-1],f[1,i-1]-a[i]);f[1,i]:=max(f[1,i-1],f[0,i-1]+a[i]);end;write(max(f[0,n],f[1,n]));
end.

转载于:https://www.cnblogs.com/YYC-0304/p/9500100.html

JZOJ__Day 2:【NOIP普及模拟】和谐数相关推荐

  1. JZOJ__Day 3:【NOIP普及模拟】数数(count)

    题目描述 ftiasch 开发了一个奇怪的游戏,这个游戏的是这样的:一个长方形,被分成N 行M 列的格子,第 i 行第j 列的格子记为(i; j),就是说,左上角的格子是(1; 1),右下角的格子是( ...

  2. JZOJ__Day 1【NOIP普及模拟】MATRIX

    题目描述 总所周知,我们住在一个N*N的方阵(正方形)里面.其中每个小格子中都有一个整数.为了离开这个方阵,我们必须找到 最美丽的子方阵.如果我们定义A为某个方阵主对角线上的和,定义B为某个方阵副对角 ...

  3. JZOJ__Day 1:【NOIP普及模拟】JABUKE

    题目描述 Mirko 最近发现了一个古老的游戏.这个游戏的屏幕有N列.在屏幕的底部,有个占M(M<N)列的船.在玩这个游戏的 过程中,我们可以左右移动这条船,但是这条船必须时刻完整的在屏幕里面. ...

  4. JZOJ__Day 2:【NOIP普及模拟】分数

    题目描述 ProKing来到了家里,忽然发现桌台上有n1个玩偶,每个玩偶上有一个对应的值,而在桌台下也有n2个玩偶,每个玩偶上也有一个对应的值,现在, proking想知道台上的玩偶的默契值除以台下玩 ...

  5. JZOJ__Day 3:【NOIP普及模拟】排序(sort)

    题目描述 ftiasch 和nm 是好朋友.nm 的成绩很差,以至于GPA(平均绩点)在系内倒数.系内一共有N 位 同学,每位同学有自己的GPA,以及已修学分数,定义GPT = GPA 已修学分数.f ...

  6. JZOJ__Day 10:【普及模拟】【USACO】横幅

    题目描述 Bessie结束了国外长途旅游回来.为了迎接她的归来,Farmer John准备在牧场给她挂起一个"Welcome Home"的横幅.横幅会挂在两个柱子间的长度介于L1. ...

  7. JZOJ__Day 10:【普及模拟】【USACO】iCow播放器

    题目描述 被无止境的农活压榨得筋疲力尽后,Farmer John打算用他在MP3播放器市场新买的iCow来听些音乐,放松一下.FJ的iCow里存了N(1 <= N <= 1,000)首曲子 ...

  8. JZOJ__Day 9:【普及模拟】算法学习(sfxx)

    题目描述 自从学习了动态规划后,Famer KXP对动态规划的热爱便一发不可收拾,每天都想找点题做,一天,他找到了一道题,但是不会做,于是,他找到了你.题目如下: 给出N个无序不重复的数,再有M个询问 ...

  9. JZOJ__Day 8:【普及模拟】马农

    题目描述 在观看完战马检阅之后,来自大草原的两兄弟决心成为超级"马农",专门饲养战马.兄弟两回到草原,将可以养马的区域,分为 N*N 的单位面积的正方形, 并实地进行考察,归纳出了 ...

最新文章

  1. 腾讯提结合ACNet进行细粒度分类,效果达到最新SOTA | CVPR 2020
  2. 电子科技大学计算机学院保研夏令营,电子科技大学计算机科学与工程学院网络空间安全保研夏令营...
  3. unity 知道2点计算线段选择角度_影像测量仪实战技巧之角度测量
  4. java发送get post请求_【工具】java发送GET、POST请求
  5. 与指定数字相同的数的个数(信息学奥赛一本通-T1068)
  6. gpu云服务器运行游戏_滴滴云不甘寂寞,国内首发一款GPU云服务器
  7. SpringBoot maven项目如何打包进行发布?
  8. android 程序开发的插件化
  9. java通过反射调用matlab生成的jar包中的方法(1)--java调用matlab的参数个数和类型问题
  10. vb2010 连接mysql,VB连接数据库方式汇总
  11. 数字转成人民币汉字大写(李刚著《疯狂Python讲义》P87,解决小数部分及多个零的问题。学习笔记)
  12. c++勾股定理解直三角形边长
  13. 全息投影特效制作详解
  14. MAVEN配置之SETTING配置
  15. Android Debug Bridge(安卓调试桥) tools
  16. python程序设计与案例教程王小银_《Python程序设计与案例教程》王小银著【摘要 书评 在线阅读】-苏宁易购图书...
  17. 面试系列(二十):金山云 C++开发
  18. Java实现输出水仙花(易懂)
  19. iftop监控网卡实时流量
  20. Mixlab设计黑客Shadow,做客光点TALK

热门文章

  1. MATLAB粒子模拟代码注释
  2. 第16课:项目实战——利用 PyTorch 构建 CNN 模型
  3. const 常量_软件特攻队|const常量,不一样的新玩法
  4. VTK修炼之道24:图像基本操作_单颜色通道图像合成彩色
  5. 常用WebService一览表
  6. 一个简单的插件框架示例
  7. 声明 struct x1 { ...}; 和 typedef struct { ...} x2; 有什么不同?
  8. 在ubuntu上安装wireshark之后提示Couldn't run /usr/bin/dumpcap in child process:权限不够
  9. Navicat设置unique报错
  10. C++ const修饰符和指针