专栏文章

题解:P14109 [ZJCPC 2017] Card Game

P14109题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minr0th9
此快照首次捕获于
2025/12/02 06:56
3 个月前
此快照最后确认于
2025/12/02 06:56
3 个月前
查看原文
不难题。
默认 n,qn,q 同阶。
先把询问离线下来。设 f(x)=min(ri×x+bi)f(x)=\min (r_i\times x+b_i),发现 ff 是凸的,所以可以二分求最大值,现在问题是快速求 ff 值。
我们将式子变型:x×rif(x)=bix\times r_i-f(x)=-b_i,其意义是斜率为 xx 的直线切点 (ri,bi)(r_i,-b_i)最大 横截距,可以把点 (ri,bi)(r_i,-b_i) 的凸包维护出来后二分。
所以我们可以直接对询问分块,设快长为 BB,每 BB 次询问重构,将这 BB 次询问涉及的点标记为特殊点,维护非特殊点的凸包,时间复杂度 O(n2B)O(\frac{n^2}{B});对于询问,先二分,对于非特殊点在凸包上找到二分出最小值,对于特殊点暴力,时间复杂度 O(nBlogn+nlog2n)O(nB\log n+n\log^2n)
B=nlognB=\sqrt\frac{n}{\log n},总时间复杂度为 O(nnlogn+nlog2n)O(n\sqrt{n\log n}+n\log^2n),可以通过。
其实数据很水,把凸包跑出来后暴力即可(

评论

0 条评论,欢迎与作者交流。

正在加载评论...