正题

题目链接:https://www.luogu.com.cn/problem/P4552


题目大意

给出nnn个数,每次可以选择一个区间加一或减一,求最少操作使得所有数相等,并且求可能的最终序列个数。


解题思路

在差分数组上操作,那么操作变为将差分数组上一个数+1+1+1且一个数−1-1−1(当然当l=1l=1l=1或r=nr=nr=n时就是只改变一个数)。所以最少操作数就是正数的和和负数的绝对值和的最大值。

序列种数,假设正数和zzz大于负数和fff,那么其实对于f∼zf\sim zf∼z这个范围内的我们都可以选择是让l=1l=1l=1来修改或者r=nr=nr=n来修改,所以个数和就是abs(f−z)+1abs(f-z)+1abs(f−z)+1


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll n,a[1100000],z,f;
int main()
{scanf("%lld",&n);for(ll i=1;i<=n;i++){scanf("%lld",&a[i]);ll x=a[i]-a[i-1];if(i==1)continue;z+=(x>0)*x;f-=(x<0)*x;}printf("%lld\n%lld",max(z,f),abs(z-f)+1);
}

P4552-[Poetize6]IncDec Sequence【差分】相关推荐

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

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

  2. [Poetize6] IncDec Sequence

    Description 有一个长度为\(n(n\leq 100000)\)的数列,每次可以给一个区间\([l,r]\)加1或者减1.问要多少次操作让整个数列一样,并求出最少操作的前提下,最终得到的数列 ...

  3. CH - 0304 IncDec Sequence(差分+思维)

    题目链接:点击查看 题目大意:给定一个长度为 n(n≤10^5 ) 的数列 {a_1,a_2,-,a_n},每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一.求至少需要多少次操 ...

  4. BZOJ 3043 IncDec Sequence:反向差分

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3043 题意: 给定一个长度为n的数列a[i],每次可以选择一个区间[l,r],使这个区间内 ...

  5. IncDec Sequence(codevs 2098)

    题目描述 Description 给定一个长度为n的数列{a1,a2...an},每次可以选择一个区间[l,r],使这个区间内的数都加一或者都减一. 问至少需要多少次操作才能使数列中的所有数都一样,并 ...

  6. 题解 guP4552 IncDec Sequence

    这道题是一道差分的题目 差分数组p即p[i]=a[i]-a[i-1] 如果我们把一个区间[l,r]里的数+1,那么我们不难发现p[l]'=a[l]+1-a[l-1]=p[l]+1,p[r+1]'=a[ ...

  7. 前缀和+差分+ 树状数组

    前缀和+差分的理论知识 前缀和相关题: 「USACO16JAN」子共七 Subsequences Summing to Sevens 定理:若两个数相减 mod k == 0,那么这两个数mod k ...

  8. 正睿OI补题(递归与递推,前缀和与差分)

    目录: P1255 数楼梯 P4552 [Poetize6] IncDec Sequence P2280 [HNOI2003]激光炸弹 P1350 车的放置 P1255 数楼梯 数楼梯 - 洛谷 递推 ...

  9. 基础算法——基本思想

    一.枚举:通过从可能的集合中枚举答案,判断题目的条件是否成立. 1.确定枚举的范围,减少枚举的空间. 2.选择合适的枚举顺序. 二.构造:从形式上来看,问题的答案往往具有某种规律性,使得在问题规模迅速 ...

最新文章

  1. mxnet deepspeech网络结构打印
  2. BTree,B-Tree,B+Tree,B*Tree
  3. Linux基础系列(六)Linux系统定时任务Crond
  4. 新项目新工作空间新仓库新setting文件
  5. AIR720串口2收发数据问题
  6. Java GregorianCalendar computeTime()方法与示例
  7. Spring MVC 安全示例
  8. 用事件驱动编程解救臃肿的代码
  9. ios 企业证书 ipa 重新签名发布
  10. 基于matlab的谱估计,基于MATLAB的功率谱估计实验.doc
  11. 15款最佳的响应式 Web 设计测试工具
  12. Excel 2010 VBA 入门 126 批量设置控件属性
  13. Kali系统安装Visual Studio Code
  14. FFmpeg —— 为视频添加文字水印(完美解决中文乱码,无需编译)
  15. 当你对未来迷茫的时候,请打开这个锦囊
  16. 【独行秀才】macOS Big Sur 11.6.5正式版(20G517)原版镜像
  17. response.buffer用法
  18. 改变el-input框的样式(去掉边框),及scoped实现原理
  19. flutter 保存图片或者视频到相册
  20. 通过虚拟机下载Debian全量镜像,并保存至本地

热门文章

  1. docker 启动mysql root用户_Docker-Compose搭建Wordpress博客系统
  2. python3默认的代码编码是什么-Python3 到底什么是字符编码
  3. java读取图片缩略方法_java 图片缩略图的两种方法
  4. yml php,使用 docker-compose.yml 快速搭建php开发环境
  5. 用户登录查全表好还是用用户名好_外贸人/货代人不要为海运难过了:请看如何查运价和调配舱位解决缺箱!...
  6. org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the
  7. 69. Sqrt(x)010(二分法求解+详解注释)
  8. [JavaWeb-MySQL]SQL基本概念,通用语法,分类
  9. [蓝桥杯2017初赛]跳蚱蜢-map标记+bfs+环形数组
  10. java写dnf外掛_dnf卡盟_Java的泛型详解(一)