快速 gcd 变换(FGT)
题目:定义 gcd\gcdgcd 卷积如下:A∗BA*BA∗B 的结果为 Ci=∑[gcd(j,k)=i]AjBkC_i=\sum[\gcd(j,k)=i]A_jB_kCi=∑[gcd(j,k)=i]AjBk。求 555555 个长为 N=106N=10^6N=106 的数列卷积的结果。时限 0.6s。记 (A′)i=∑[i∣j]Aj(A')_i=\sum[i|j]A_j(A′)i=∑[i∣j]Aj。则 gcd\gcdgcd 卷积相当于变换后点值相乘。直接枚举的话复杂度是调和级数 O(
原创
2020-05-27 15:49:14 ·
556 阅读 ·
0 评论