题目描述 Description

  给定一个长度为n的数列{a1,a2...an},每次可以选择一个区间[l,r],使这个区间内的数都加一或者都减一。
  问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多少种。

输入描述 Input Description

  第一行一个正整数n 
  接下来n行,每行一个整数,第i+1行的整数表示ai。

输出描述 Output Description

  第一行输出最少操作次数
  第二行输出最终能得到多少种结果

样例输入 Sample Input

4
1
1
2
2

样例输出 Sample Output

1
2

数据范围及提示 Data Size & Hint

  对于100%的数据,n=100000,0<=ai<2147483648。

/*典型的差分题目先做一个差分序列b,接下来就是怎么把除了b1之外的所有数都变成0,因为可以进行区间修改,那么对于序列b来说就是一个数加1的同时一个数减1,或一个数加1,或一个数减1。因为要求步数最少,所以要尽可能把加1用在负数上,把减1用在正数上,剩下的只有正数或负数时再单独加1或减1。至于方案数,取决于b1,那么我们要在不影响步数的情况下修改b1,那么只能把单独加1或减1换成修改b1和原来那个数。
*/
#include<cstdio>
#include<iostream>
#define M 100010
#define ll long long
using namespace std;
ll a[M],b[M];int n;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){cin>>a[i];b[i]=a[i]-a[i-1];}ll tot1=0,tot2=0;for(int i=2;i<=n;i++)if(b[i]>0)tot1+=b[i];else tot2-=b[i];cout<<max(tot1,tot2)<<endl<<max(tot1-tot2,tot2-tot1)+1;return 0;
}

View Code

转载于:https://www.cnblogs.com/harden/p/5924953.html

IncDec Sequence(codevs 2098)相关推荐

  1. CF1397B Power Sequence(大胆枚举)

    CF1397B Power Sequence(大胆枚举) ai≤1e9,n≤1e5a_i\le 1e9, n\le1e5ai​≤1e9,n≤1e5 Solution 注意根据本题题意序列可以排序,那么 ...

  2. HDU 1560 DNA sequence(DNA序列)

    HDU 1560 DNA sequence(DNA序列) Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K  ...

  3. 刺激(codevs 1958)

    题目描述 Description saffah的一个朋友S酷爱滑雪,并且追求刺激(exitement,由于刺激过度导致拼写都缺了个字母),喜欢忽高忽低的感觉.现在S拿到了一张地图,试图制定一个最长路径 ...

  4. 军训分批(codevs 2751)

    题目描述 Description 某学校即将开展军训.共有N个班级. 前M个优秀班级为了保持学习优势,必须和3位任课老师带的班级同一批. 问共有几批? 输入描述 Input Description N ...

  5. 火车站(codevs 2287)

    题目描述 Description 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数 ...

  6. C - Recursive sequence (矩阵ksm)

    原题链接:Problem - 5950 Problem Description Farmer John likes to play mathematics games with his N cows. ...

  7. 解题报告 『[Poetize6]IncDec Sequence(差分)』

    原题地址 差分,想到了这个再看看代码应该就很好做了. 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int l ...

  8. CodeForces 438D - The Child and Sequence(线段树)

    At the children's day, the child came to Picks's house, and messed his house up. Picks was angry at ...

  9. 树网的核(codevs 1167)

    题目描述 Description [问题描述] 设 T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我 们称T 为树网(treenetwork),其中V, E分 ...

最新文章

  1. Shell-Scp自动输入密码
  2. 关于辅酶Q10的相关常识与选购要点(转)
  3. HTML比较常用的标签
  4. android关机分区卸载,Android关机重启流程(二)
  5. 一种在智能对话中实现上下文功能的方法
  6. Nachos编译与使用--Nachos配置
  7. 全国计算机三级过关要求,谈三级pc技术——我的30天过关经验
  8. 世界各国浏览器语言代码本地化对照表
  9. 张正友相机标定matlab,张正友标定、Camera Calibration Toolbox for Matlab
  10. 【libnice】艰难的meson+ ninja手动编译过,vs2022 v143 debug
  11. layuiadmin开发文档
  12. linux 6重启网卡,centos 网卡重启方法
  13. android 汉字 转 拼音首字母大写,传入汉字字符串, 返回大写拼音首字母
  14. react-redux多reducer完整实例
  15. 转载maven版本更新
  16. 用mysql编资产负债表_资产负债表如何编制!
  17. Java使用付费代理的两种实现方法
  18. 单词测试通关学英语的软件,学习软件有哪些,给大家推荐一款靠谱的 | 外教英评网...
  19. 人脸识别系统主要包括哪些部分
  20. Camera和Image sensor技术基础笔记(10) -- sensor器件适配需要注意的地方

热门文章

  1. visio 2010 修改 默认字体 字号大小 方法
  2. MySQL01-安装mysql数据库
  3. 小米4c怎么添加语言怎么设置在哪里,小米4c路由器设置教程
  4. 数学建模优化模型简单例题_数学建模之优化模型:存储模型
  5. es6 generator_让我们探索一下ES6 Generators
  6. 2018湖湘杯海选复赛Writeup
  7. 一份整理 | PyTorch是什么,为何选择它
  8. PMP®考试是什么机构
  9. 零基础可以学好UI设计吗
  10. 记录智能指针使用shared_ptr使用错误