zoukankan      html  css  js  c++  java
  • 类欧问题复习:

    经典类欧:

    (F(n,a,b,c)=sum_{x=0}^n lfloor frac{ax+b}{c} floor)

    (age c~or~bge c)时,(F(n,a,b,c)=F(n,a\%c,b\%c,c)+lfloor frac{b}{c} floor*(n+1)+lfloor frac{a}{c} floor*n*(n+1)/2)

    (m=lfloor frac{an+b}{c} floor)
    (sum_{x=0}^n lfloor frac{ax+b}{c} floor)
    (sum_{x=0}^n sum_{j=1}^m [lfloor frac{ax+b}{c} floor ge j])
    (sum_{x=0}^n sum_{j=0}^{m-1} [lfloor frac{ax+b}{c} floor ge j+1])
    (sum_{x=0}^n sum_{j=0}^{m-1} [ ax ge jc+c-b])
    (sum_{x=0}^n sum_{j=0}^{m-1} [ ax > jc+c-b-1])
    (sum_{x=0}^n sum_{j=0}^{m-1} [ x > lfloor frac{jc+c-b-1}{a} floor])
    (sum_{j=0}^{m-1} n-lfloor frac{jc+c-b-1}{a} floor)
    (=nm-f(c,c-b-1,a,m-1))

    边界(m=0)时,return 0;

    经典类欧应用:

    • (lfloor frac{x}{2^k} floor-2lfloor frac{x}{2^{k+1}} floor)来表示二进制第(k)位。

    • (ax\% p<c(xin[0,n]))的数量,(=F(n,a,p,c)-F(n,a,p-c,c))

    变体类欧:

    (G(l,r,x,p))表示最小的数(a)满足(lle ax\%ple r)

    因为(ax\% p)能表示的数形如(k*gcd(x,p)),所以当(lceil frac{l}{gcd(x,p)} ceil *gcd(x,p)>r)时无解。

    (lceil frac{l}{x} ceil *x le r)时,答案显然就是:(lceil frac{l}{x} ceil)

    否则:
    (lle ax\%ple r)
    (lle ax - bp le r)
    (-r le bp - ax le -l)

    因为此时(r\%x > l\%x),所以相当于:

    (-r \% xle bp \% x le -l \%x)
    注意这个(\% x)的值域在([0,x))

    调用(b=G(-r \% x,-l \%x,p \% x,x))

    (a=lfloor frac{bp}{x} floor + lfloor frac{-r\%x+r}{x} floor)

  • 相关阅读:
    SpringSecurity 框架学习 3
    SpringSecurity 框架学习 项目创建
    nginx 限制ip访问
    nginx 负载均衡,后端服务获取不到域名问题
    Linux 安装 Nginx
    Linux 常用命令
    springcloud 服务追踪
    Hystrix 服务容错
    Scrum立会报告+燃尽图(十二月十日总第四十一次):用户推广
    Final发布:文案+美工展示博客
  • 原文地址:https://www.cnblogs.com/coldchair/p/13100578.html
Copyright © 2011-2022 走看看