标签:要花 AC 20210724 log 单点 回合 求值 操作 P4754
连续自闭一周后,短暂的快乐周末,然而上海在台风,不能出去快乐了。
(上一周欠的之后慢慢补吧
心路历程
因为小B的操作确定了,小A的操作可以直接贪,就还比较简单。
思路
二分小B操作了多少个回合。小B操作的越多,小A操作数非降,满足单调性。
验证就是小B操作了这么多回合之后,小A至少要花的回合数小于下一次小B操作的回合。
对于小A的操作,肯定是从最左或者最右开始操作,遇到要操作的地方就操作,这样很容易得到至少要花的回合数。
具体其实就是区间加,单点求值。可以线段树,可以树状数组,这样是\(O(n\log n\log m )\)的。
但是其实做到\(O( n \log n)\),就检查的时候可以线性:左端点加,右端点减,记录前缀增量,把他加到当前元素上,就可以做到区间加和单点求值。
最后再算一次至少要花的回合数。
标签:要花,AC,20210724,log,单点,回合,求值,操作,P4754 来源: https://www.cnblogs.com/zengzk/p/15054868.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。