AT_jsc2022_final_e Circular Sushi 题解
:::::info[题目基本信息] 考察:扩展欧几里得算法,数论,字典树 Trie。
题目简介:
有一个长度为
现在上面有
现在你可以选择一个非负实数
数据范围:
-
1\le n\le 2\times 10^5 -
1\le m\le 30 -
\forall i\in[1,n],0\le a_i<2^m -
\forall i\in[1,n],1\le b_i<2^m -
\forall i\in[1,n],1\le c_i\le 10^9
时空限制:
- 时间限制:4s。
- 空间限制:1GB。
:::::
:::::success[Hint]
::::info[Hint 1]
对于每一个
i 分别考虑,列出t 满足的关系式,考虑转化为可做形式。 :::: ::::info[Hint 2] 考虑缩小最优解t 的范围,直到范围可以满足转化关系式的需求。 :::: ::::info[Hint 3] 观察题目中所给的参量,有没有有特殊性质的量?和t 的范围是否有关系? :::: ::::info[Hint 4] 列出最终的关系式后考虑其本质,考虑使用数据结构快速维护。 :::: ::::: 对于任意i ,考虑列式推导第i 点在坐标为0 的点上时t 需要满足的关系式,先列出最显然的式子:a_i+b_it\equiv 0\pmod{2^m} 由于
t 是实数,所以同余方程不能直接解,考虑将其转化为整数。
显然
设
遇到
取
注意到
虽然和预想中不太一致,但是我们注意到只需要将上一段的方程改写为
那么这时我们在同余方程同乘
移项过去容易得到:
令
同除以
注意到
我们考虑这个东西的实质,实际上是限制了
这样我们就做完了这道题。
时空复杂度均为