当前位置 : 主页 > 编程语言 > java >

万能欧几里得

来源:互联网 收集:自由互联 发布时间:2022-07-07
​​#6440. 万能欧几里得​​ 计算 万能欧几里得算法:我们做直线 从 开始走,维护一个三元组 ,碰到上边界则将 左乘上 ,碰到左边界就把 右乘上 ,并更新答案 发现这个操作可以构

​​#6440. 万能欧几里得​​

计算 万能欧几里得_定义域

  • 万能欧几里得算法:我们做直线万能欧几里得_定义域_02 从 开始走,维护一个三元组 ,碰到上边界则将 左乘上 ,碰到左边界就把 右乘上 ,并更新答案
  • 发现这个操作可以构成一个序列,形如
    万能欧几里得算法可以将这个序列合并,压缩使得我们能快速得到答案
    令 ,其中 表示我们的一段序列
  • 若,则发现一个 前面一定有 个
    于是我们可以令 ,实现了序列的压缩
  • 万能欧几里得_欧几里得算法_03,我们可以通过变换使其变为 万能欧几里得_元组_04 的情况,这个变换就叫做坐标旋转
    我们考虑求出 万能欧几里得_欧几里得算法_05 的反函数,即为解一个方程
    万能欧几里得_欧几里得算法_06
    那么若实现坐标翻转,某一个特定的 万能欧几里得_定义域_07 可以前可以有
    万能欧几里得_元组_08万能欧几里得_定义域_09,对比前面一个特定的 万能欧几里得_定义域_07前有 万能欧几里得_元组_11,那么新的直线可以写作 万能欧几里得_欧几里得算法_12
    注意分母无论减去多少个分子都不会影响操作序列
    然后这里的定义域要映射成值域,万能欧几里得_欧几里得算法_13 时不能取满所以我们单独计算,所以新的定义域变成了 万能欧几里得_定义域_14,同时定义域后方还有一些点没有算到,同样单独计算
    然后我们就可以递归到 万能欧几里得_欧几里得算法_15 来计算
    万能欧几里得_欧几里得算法_16
  • 既然它是万能的,那么我们可以顺手切掉一道​​【模板】类欧几里得算法​​ 维护一个 5 元组 万能欧几里得_元组_17 合并的时候拆项讨论就做完了
    比类欧几里得好写到哪里去了,不过脑子够笨还是码了好久
    万能欧几里得_欧几里得算法_16


上一篇:Longge's problem[欧拉函数]
下一篇:没有了
网友评论