CF1883G2 Dances (Hard Version)

Problem - D2 - Codeforces

Dances (Hard Version) - 洛谷

  • Hint1: 对于 C[i] 的答案上界和下界分别是多少?

  • Hint1.1: 记 C[i]1 时的答案 ans,答案范围显然是 [ans,ans+1]

  • Hint2: 答案是否单调递增?

  • Hint2.1: Of course it is.

  • 因此我们可以二分答案在哪个地方开始变化,二分后里面的部分就是跑 Easy Version 的做法,复杂度 O(nlogm)

  • 还有一种方法:我们不妨现设 a1=+,跑一边 Easy Version 可以得到若干个被删除的 bi,记这些 bi 的集合为 S

  • 下面假设 max{x|xS}m,否则我们可以让他和 m+1min。发现如果 a1<max{x|xS},那可以从 S 中抽出最大的和 a1 匹配,答案 1;否则没人和他匹配,答案不变

  • 因此答案为 (ans1)(max{x|xS}1)+ans(mmax{x|xS}+1),可以做到 O(nlogn),瓶颈复杂度在排序

posted @   FOX_konata  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示