zoukankan      html  css  js  c++  java
  • 时空穿梭

    今天早上考了个mobius反演,我以前做了很多和mobius反演有关的题目,但是今天由于推错公式+忘记杜教筛获得了1分的好成绩。所以要复习一下mobius反演。

    枚举相邻最远的两点的坐标差,设为向量t,则满足这个坐标差的向量组数是

    在向量t对应的线段上,有gcd(t1,t2,...tn)+1个整点,因为首尾固定,所以内部的点共有

    种选法。

    所以答案就是

    用c代替c-2,mobius反演一下,得到

    看上去化简不了,但是因为乘法分配律,如果枚举v[i]的值,则可以提取公因式,得到

    实际上,这个式子后面展开以后就是原来的式子。

    枚举de得到

    实际上,后面的公因式可以提取出来。变成两个独立的部分。设为g_c

    后面的c关于d是个固定的单变量函数。可以对每个c进行预处理。

    前面的式子设为F_i,如果把高斯求和化简得到

    当floor(m[i]/d)固定时,n个线性函数的乘积是个不超过n次的多项式

    根据莫反的知识,向量

    的取值是nsqrt(m)的。设

    所以

    处理出gc(x)x^i的前缀和。这样子在计算的时候可以使用多项式单点求值O(n)计算。

  • 相关阅读:
    撕衣服的简易实现
    简易的画画板的实现
    图片简易处理
    在内存中创建原图的副本
    缩放图片并加载到内存中
    加载大图片的OOM异常
    计算机表示图形的形式
    虚拟短信
    ContentProvider 共享数据
    内容观察者
  • 原文地址:https://www.cnblogs.com/cszmc2004/p/12995556.html
Copyright © 2011-2022 走看看