信息
- ID
- 1111
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 39
- 已通过
- 7
- 上传者
由于我们只需要关心长度在 2n 以上的子序列,说明任取两个位置在答案序列里的概率是 41。
随机 50 次,每次随机 pos,用 aposapos+1 和 aposapos+2 作为公比 q 计算这样的子序列长度。已知公比和某两项位置,计算长度可以使用贪心解决。
需要使用费马小定理和快速幂求解某个数的逆元。由于瓶颈不是求逆元所以使用经典的 O(n+logp) 的捆绑处理逆元方式不必要。复杂度 O(kn)。其中 k 是随机次数。这个做法的出错概率是 (43)k。当 k 取到 50 的时候概率约为 5×10−7。如果你错了建议去买彩票。
注册一个 CZOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。