168E
ARC168E
题面 给定长度为 \(n\) 的数列 \(\{a_i\}\) 和两个参数 \(k, s\),将 \(\{a_i\}\) 划分成 \(k\) 段,最大化 和 \(\geq s\) 的段数。 \(1 \leq k \leq n \leq 250000, 1 \leq A_i \leq 10^9, 1 \ ......
[ARC168E] Subsegments with Large Sums
题目链接 看到严格选 \(k\) 个,不难想到 WQS二分。定义 \(f(x)\) 为分成 \(x\) 段,最多有多少个超过 \(S\) 的。然后你会发现他不是凸的。因为他有很多平段,比如把两个很小的合并不改变答案。 换个方向? 考虑定义 \(f(x)\) 为有 \(x\) 个超过 \(S\) 的段 ......
[ARC168E] Subsegments with Large Sums
有点意思的简单题。 答案有可二分性。合并两段,显然仍然合法。 考虑如何 check。因为答案可以被二分,我们尝试求恰好 \(x\) 段就行了。 恰好,这是 wqs 二分的内容。如何设计一个与 \(x\) 有关的凸函数呢? 这个函数大概是 \(\sum_{i=1}^x w(l_i, r_i)\) 的形 ......