ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

20251106 正睿

20251106 正睿

B

image

\(n \le 10^6\),答案保留 \(6\) 为小数。

显然可以二分答案 \(p\)

设区间内众数出现 \(c1\) 次,剩下的数共出现 \(c0\) 次,则 \(\frac{c1}{c0 + c1} \ge k\),化简得到 \((1 - k)c1 - kc0 \ge 0\)

\(s_i = (1 - k)c_{x, i} - k(i - c_{x, i})\),则只要判断是否有 \(x, l, r\) 满足 \(r - l \ge k \& s_r \ge s_l\)

枚举每个众数 \(x\),将其作为 \(r\),则 \(l\) 一定是某个 \(x\) 前面的位置或者 \(r - k\),搞个双指针维护一下 \({s_l}_{\min}\) 即可。还有一种情况是 \(l\) 是众数,\(r = l + k\) 的(没判这个 \(100 \rightarrow 10\))。

时间复杂度:\(O(n \log ε)\)

忽略以一种情况,痛失 \(90pts\).

返回列表