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

P4105 [HEOI2014] 南园满地堆轻絮 题解

P4105 [HEOI2014] 南园满地堆轻絮

Description

给你一个长度为 \(n\) 的正整数序列 \(a\),让你构造一个单调不降的正整数序列 \(b\),使得下面式子的值尽量小。

\[\max_{i=1}^{n} |a_i-b_i| \]

其中 \(n\le 5\times 10^6\)

Solution

注意到经典的“最小值最大”,考虑二分。

我们从对比 \(a_i\)\(b_i\) 的角度来看,\(|a_i-b_i|\) 其实就是指你构造出的 \(b_i\)\(a_i\)偏差值,我们要让这个东西最小。

假设对于一对 \(a_i\)\(b_i\),我们有一个符合条件且最小的偏差值 \(x\),那么 \(x+1\) 一定符合条件,因此有单调性,可以二分。

然后就好搞了。对于每一个 \(i\) ,我们二分 \(a_i\) 的最小偏差值。如果减去最小偏差值后得到的 \(b_i\) 不能满足条件(让 \(b\) 序列单调不降),那就让 \(b_i=b_{i-1}\),如果可行那就直接赋值。

复杂度为 \(O(n\log n)\),可以通过。

#include<bits/stdc++.h>
using namespace std;
long long n,Sa,Sb,Sc,Sd,mod,a[5000005],b[5000005];
inline long long calc(int x){return (((Sa*x%mod*x%mod*x%mod+Sb*x%mod*x%mod)%mod+Sc*x%mod)%mod+Sd)%mod;
}
inline bool check(int x){for(int i=1;i<=n;i++){b[i]=a[i];}for(int i=1;i<=n;i++){if(b[i]+x<b[i-1]){return 0;}if(b[i]<b[i-1]){b[i]=b[i-1];}else{b[i]=max(b[i-1],b[i]-x);}}return 1;
}
signed main(){cin>>n>>Sa>>Sb>>Sc>>Sd>>a[1]>>mod;for(int i=2;i<=n;i++){a[i]=(calc(a[i-1])+calc(a[i-2]))%mod;}int l=0,r=6e9;int minx=INT_MAX;while(l<=r){int mid=(l+r)/2;if(check(mid)){r=mid-1;minx=min(minx,mid);}else{l=mid+1;}}cout<<minx<<endl;return 0;
}
http://www.jsqmd.com/news/69430/

相关文章:

  • 【树莓派】【v4l2】在树莓派环境下取流-编码-存储
  • Daily Report — Day 4 (Beta)
  • [ABC241D] Sequence Query 题解
  • Prometheus + Grafana 原理和用法
  • 2025年度不锈钢板直销优质厂家TOP榜单盘点,不锈钢中厚板/201不锈钢板/不锈钢热轧板/不锈钢板现货批发哪家好 - 品牌推荐师
  • 12.09
  • 2025年市场技术好的不锈钢热轧板生产厂家怎么选择,304不锈钢冷热轧板材/316L不锈钢冷热轧板材定制加工有哪些 - 品牌推荐师
  • 完整教程:浏览器工作原理大揭秘:从输入网址到看到页面的奇妙旅程
  • 什么是API?一文让你彻底搞明白! - 智慧园区
  • mysql优化
  • Troubleshooting一定要逻辑严谨与逻辑自洽
  • 企业微信相关文档
  • 实用指南:【鸿蒙生态共建】鸿蒙6适配-API变化与兼容(2.UI交互与基础能力篇)--《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
  • 2026考研政治肖秀荣 408真题教材 资料提供
  • 告别选择困难!SAT辅导机构大揭秘 - 品牌测评鉴赏家
  • 2025.12.9博客
  • ubuntu docker运行大模型
  • 【自荐】OneClip—— 一款简单专业的 macOS 剪贴板管理工具
  • igbt模块的栅极驱动芯片,栅极电阻计算
  • zfk_蓝桥杯C++学习_递归及时空复杂度
  • 托福一对一机构怎么选?高性价比推荐+避坑指南,2025备考党必看! - 品牌测评鉴赏家
  • 构建高准确率、可控、符合规范的政务数据库审计和监测方案
  • 疫苗的“设计图纸”如何变成现实?浅谈重组蛋白技术
  • 数据脱敏:在数据价值与隐私安全之间构建平衡
  • TK: 计算三角形的面积
  • SAT 辅导机构怎么选?2025 年高性价比机构测评指南(附避坑攻略) - 品牌测评鉴赏家
  • SAT 辅导机构怎么选?2025 年高性价比机构测评与避坑指南(附收费标准与选课攻略) - 品牌测评鉴赏家
  • 公式怎么写
  • 2025春季 PTA 中国大学MOOC上面的数据结构测试第三题 待修正中
  • 完整教程:C如何调用Go