当前位置: 首页 > news >正文

csp信奥赛C++高频考点专项训练之前缀和差分 --【一维差分】:IncDec Sequence

csp信奥赛C高频考点专项训练之前缀和差分 --【一维差分】IncDec Sequence题目描述给定一个长度为n nn的数列a 1 , a 2 , ⋯ , a n {a_1,a_2,\cdots,a_n}a1​,a2​,⋯,an​每次可以选择一个区间[ l , r ] [l,r][l,r]使这个区间内的数都加1 11或者都减1 11。请问至少需要多少次操作才能使数列中的所有数都一样并求出在保证最少次数的前提下最终得到的数列有多少种。输入格式第一行一个正整数n nn。接下来n nn行每行一个整数第i 1 i1i1行的整数表示a i a_iai​。输出格式第一行输出最少操作次数。第二行输出最终能得到多少种结果。输入输出样例 #1输入 #14 1 1 2 2输出 #11 2说明/提示对于100 % 100\%100%的数据n ≤ 100000 n\le 100000n≤1000000 ≤ a i ≤ 2 31 0 \le a_i \le 2^{31}0≤ai​≤231。思路分析本题要求通过区间加减1操作使数组所有元素相等并求最少操作次数及可能的结果种数。关键技巧差分。定义差分数组 (d 1 a 1 d_1 a_1d1​a1​)(d i a i − a i − 1 ( i ≥ 2 ) d_i a_i - a_{i-1}\ (i\ge 2)di​ai​−ai−1​(i≥2))。操作 ([l, r]) 加1 等价于 (d l ← d l 1 , d r 1 ← d r 1 − 1 d_l \leftarrow d_l1,\ d_{r1} \leftarrow d_{r1}-1dl​←dl​1,dr1​←dr1​−1)当 (rn)若 (rn) 则只影响 (d l d_ldl​)。最终所有 (a i a_iai​) 相等 等价于 (d 2 d 3 ⋯ d n 0 d_2d_3\dotsd_n0d2​d3​⋯dn​0)。设 (p ∑ i 2 n max ⁡ ( d i , 0 ) p \sum_{i2}^n \max(d_i,0)p∑i2n​max(di​,0))正数和(q ∑ i 2 n max ⁡ ( − d i , 0 ) q \sum_{i2}^n \max(-d_i,0)q∑i2n​max(−di​,0))负数绝对值和。每次操作可以同时减少一个正数和一个负数配对操作消耗一步单独减少一个正数或单独增加一个负数边界操作使用 ([l,n]) 区间也消耗一步。因此最少操作次数为 (max ⁡ ( p , q ) \max(p,q)max(p,q))。剩下的 ( |p-q| ) 次操作只能单独进行若剩下正数则做 ( |p-q| ) 次减操作若剩下负数则做 ( |p-q| ) 次加操作。每次单独操作可以选择在位置 (1)影响最终值或其它位置不影响。最终 (a 1 a_1a1​) 的改变量有 ( |p-q|1 ) 种可能即最终数列有 ( |p-q|1 ) 种不同的值。代码实现#includebits/stdc.husingnamespacestd;typedeflonglongll;intmain(){intn;cinn;ll a,b;cina;// a 记录前一个数ll p0,q0;for(inti2;in;i){cinb;ll db-a;// 差分if(d0)pd;elseq-d;// d为负累加其绝对值ab;}ll ans1max(p,q);ll ans2abs(p-q)1;coutans1\nans2\n;return0;}功能分析输入处理读取 (n) 和第一个数 (a)循环读入后续 (n-1) 个数实时计算差分。核心计算累加正差分 (p) 和负差分的绝对值 (q)。输出最少操作次数 (max ⁡ ( p , q ) \max(p,q)max(p,q))最终结果种数 (|p-q|1)。时间复杂度O(n)空间 O(1)满足 (n ≤ 10 5 n\le 10^5n≤105) 要求。【完整系列请查看专栏】信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}【秘籍汇总】完整csp信奥赛C学习资料1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转https://edu.csdn.net/course/detail/41081 点击跳转3、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转4、csp信奥赛冲刺一等奖有效刷题题解信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C提高组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转5、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}
http://www.rkmt.cn/news/1404673.html

相关文章:

  • VPKEdit终极指南:免费高效的Valve游戏资源管理器
  • AI问答展示优化服务哪家好?四家服务商技术路径对比分析 - FaiscoJeff
  • 佛山黄金回收靠谱门店怎么挑 长悦领跑本地变现市场 - 专业黄金回收
  • 提升AI问答可见度哪个品牌靠谱?信息资产化视角解读三家方案 - FaiscoJeff
  • 模拟电路噪声入门:从电阻热噪声到MOSFET 1/f噪声,手把手教你噪声分析基础
  • 从自建网关到Discord API:构建高可靠多智能体通信架构的实践
  • 2026-05-26 全国各地响应最快的 BT Tracker 服务器(联通版)
  • 加州拟修正《数字年龄保障法》:Linux等开源系统或豁免年龄验证要求
  • 使用Taotoken聚合API后智能体任务处理的延迟与稳定性观察
  • 终极免费Minecraft启动器:PrismLauncher完整使用指南
  • 别再只会用barplot画基础柱状图了!R语言ggplot2/plotly实战:从生信富集图到交互式报表
  • CVE-1999-0524:被误读的ICMP越权漏洞原理与实战加固
  • 主流土壤/水质离心机品牌对比:质量稳定性、售后响应与性价比分析 - 品牌推荐大师1
  • Pixelle-Video:AI全自动短视频生成终极指南,三步完成专业视频创作
  • 卖粉末涂料怎么找客户?下游工厂都在哪里
  • 观察Taotoken用量看板如何帮助个人开发者清晰掌握API消耗
  • P9129 [USACO23FEB] Piling Papers G
  • Simple Runtime Window Editor:如何轻松调整游戏窗口尺寸的终极指南
  • WebAssembly入门——从C++到.wasm的编译与集成实战
  • 精准匹配:为RStudio选择兼容的R语言版本
  • 2026年最新保康县黄金回收白银回收铂金回收靠谱店铺权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 莘州文化
  • 3个步骤快速上手:用代码生成专业UML图的在线编辑器
  • 别再手动建模了!CST Studio Suite里这个‘一键加厚’功能,让Sheet秒变3D模型
  • 别再手动改代码了!用Modbus指令在线修改STM32波特率(附HAL库/标准库两种方法)
  • 机器学习算法系列(四)- 岭回归算法(Ridge Regression):从多重共线性到模型稳定
  • 2026年最新红安县黄金回收白银回收铂金回收靠谱店铺权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 莘州文化
  • LuaJIT字节码逆向分析:LJD反编译工具全面指南
  • 侧信道攻击实战:基于四阶矩预处理与改进策略的3DES密钥恢复
  • 企业级人力资源管理系统部署指南:5种专业方案助力高效实施
  • 基于深度学习与软体机器人技术的仿人抓取系统设计与实现