首页 > TAG信息列表 > P5495
P5495
Dirichlet 前缀和 复健一下子。。。 直接暴力枚举因数是 \(O(n \ln n)\) 的,这里卡的很紧,基本过不掉。 我们类似埃氏筛的方法来做前缀和即可,时间复杂度是 \(O(n\ln \ln n)\) 的,就能过了。 代码: #include<iostream> #include<cstdio> #define ll long long #define uint unsigned in【luogu P5495】Dirichlet 前缀和(高维前缀和)
Dirichlet 前缀和 题目链接:luogu P5495 题目大意 给你一个数组,要你求它狄利克雷卷积数组的异或和。 思路 考虑那些位置会被贡献给 \(x\)。 先拆分:\(p_1^{k_1}p_2^{k_2}...p_{m}^{k_{m}}\) 然后就是所有的 \(p_1^{k_1'}p_2^{k_2'}...p_{m}^{k_{m}'}\) 满足所有 \(k'_i\leq k_i\)。【洛谷 P5495】【数学】Dirichlet 前缀和
【洛谷 P5495】【数学】Dirichlet 前缀和 题目 解题思路 如果求出每一个数的因子然后累加必定TLE 可以先用埃氏筛求出质数 然后质数x对其的倍数y,a[y]+=a[y/x] 因为是从小到大,累加过去的,就能累加到所有除x的因子的数 代码 #include<iostream> #include<cstdio> using name