专栏文章
题解:P11677 [USACO25JAN] Shock Wave P
P11677题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minl9wvj
- 此快照首次捕获于
- 2025/12/02 04:15 3 个月前
- 此快照最后确认于
- 2025/12/02 04:15 3 个月前
下文默认 1-index。
注意到对于 的位置,至多进行一次操作。证明就是考虑若选了两个非 位置 进行操作,会发现不如操作 优。令最终 操作了 次, 操作了 次。我们先二分出只用 操作的答案,随后 check 下答案能否通过非 操作取到 即可。
二分出仅用 操作的答案是容易的。令 ,分别讨论 可以得到 的下界,判断两个下界加起来是否小于等于 即可。注意这里要特判分母为 的情况。下文令这个二分出来的答案为 。
现在我们加上中间的操作 ,重新写一下上面 check 的式子,会多出来一项 。暴力做是平方老哥级别的,无法通过。注意到下界的分母是 这启示我们考虑本质不同的下界取值,注意到其只有 种,因此我们用两个优先队列(里面放 与当前下界)维护当前最严格的下界限制,每次暴力更新下界即可,复杂度 。注意这里由于分母的正负性,需要从左至右以及从右至左跑两遍。
说下实现细节。
-
需要开
__int128,注意下你的不等式是不是写错了,个别题解的不等式也存在着一些问题。 -
可以不关心除法精度问题,直接向上取整即可。
-
注意优先队列中不能放入使分母为 的那个位置( 为奇数时就是 )
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...