zoukankan      html  css  js  c++  java
  • HDU6624

    题意

    为方便变量命名,这里题意中的变量与原题意不同,请仔细辨认

    多测(T(le 10^5))
    给定(p,b(1<b<p)),求最小的(x),使得(bx\% p<x)
    (3le ple 10^{15},pin prime)

    做法

    (x)合法,及满足(0le bx\%p<x),其等价于(exists y)(s.t.~0le bx-py<x)
    通过简单的变形:(frac{p}{b}le frac{x}{y}<frac{p}{b-1})

    ([frac{p}{b},frac{p}{b-1}))中有整数很容易解决

    下面考虑(y eq 1)的情况

    考虑在Stern-Brocot Tree上定位(frac{p}{b},frac{p}{b-1})的位置

    观察1:这两个节点(a,b)(lca)(lca eq a)(lca eq b)

    证明:
    (3le ple 10^{{15}},1<b<p)

    观察2:最小的(x)(lca)的分子

    (O(logV))定位,(O(logV))寻找(lca)
    总复杂度(O(TlogV))

    但显然,这比std的常数大了几倍,可能要交几遍才能过

  • 相关阅读:
    水仙花数
    Edge browser hosts file
    tt0034583
    JavaScript中的面向对象
    滚动
    无缝滚动
    MySQL(一)
    JavaScript 精粹
    MYSQL新手入门篇
    用github来展示你的前端页面吧
  • 原文地址:https://www.cnblogs.com/Grice/p/14047110.html
Copyright © 2011-2022 走看看