传送门
假设 \(f^k(i)\) 就是 \(f(i)\)
莫比乌斯反演得到
\[ans=\sum_{i=1}^{N}\lfloor\frac{N}{i}\rfloor^2\sum_{d|i}f(d)\mu(\frac{i}{d})\]
令 \(g(N)=\sum_{i=1}^{N}(f\times \mu)(i)\)
而 \((f\times \mu)\times 1=f\times (\mu\times 1)=f\)
所以
\[\sum_{i=1}^{N}f(i)=\sum_{i=1}^{N}(f\times \mu \times 1)(i)=\sum_{i=1}^{N}g(\lfloor\frac{N}{i}\rfloor)\]
\[g(N)=\sum_{i=1}^{N}f(i)-\sum_{i=2}^{N}g(\lfloor\frac{N}{i}\rfloor)\]
类似 \(UOJ188:sanrd\) 一样筛出 \(f\) 的和即可

# include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned int uint;const int maxn(1e6 + 5);inline uint Pow(uint x, int y) {register uint ret = 1;for (; y; y >>= 1, x = x * x) if (y & 1) ret = ret * x;return ret;
}int pr[maxn], tot, id1[maxn], id2[maxn], d, cnt, k;
bitset <maxn> ispr;
uint n, f[maxn], val[maxn], prk[maxn], g[maxn];inline void Sieve(int mx) {register int i, j;for (i = 2, ispr[1] = 1; i <= mx; ++i) {if (!ispr[i]) pr[++tot] = i, prk[tot] = Pow(i, k);for (j = 1; j <= tot && pr[j] * i <= mx; ++j) {ispr[pr[j] * i] = 1;if (!(i % pr[j])) break;}}
}# define ID(x) (x) <= d ? id1[x] : id2[n / (x)]uint Calc(uint x, int m) {if (x <= 1 || pr[m] > x) return 0;register uint i, t, ret = 0;for (i = m; i <= tot && (ll)pr[i] * pr[i] <= x; ++i)for (t = pr[i]; (ll)pr[i] * t <= x; t *= pr[i])ret += Calc(x / t, i + 1) + (f[ID(x / t)] - i + 1) * prk[i];return ret;
}inline void Init(uint _n) {register uint i, j;for (cnt = 0, d = sqrt(n = _n), i = 1; i <= n; i = j + 1) {j = n / (n / i), val[++cnt] = n / i;val[cnt] <= d ? id1[val[cnt]] = cnt : id2[n / val[cnt]] = cnt;f[cnt] = val[cnt] - 1;}for (i = 1; i <= tot && (ll)pr[i] * pr[i] <= n; ++i)for (j = 1; j <= cnt && (ll)pr[i] * pr[i] <= val[j]; ++j)f[j] -= f[ID(val[j] / pr[i])] - i + 1;
}inline uint Solve(uint r) {if (~g[ID(r)]) return g[ID(r)];register uint ret = Calc(r, 1) + f[ID(r)], i, j;for (i = 2, j; i <= r; i = j + 1) j = r / (r / i), ret -= Solve(r / i) * (j - i + 1);return g[ID(r)] = ret;
}int main() {memset(g, -1, sizeof(g));scanf("%u%d", &n, &k), Sieve(sqrt(n)), Init(n);register uint i, j, ans = 0, lst = 0, cur;for (i = 1; i <= n; i = j + 1) {j = n / (n / i), cur = Solve(j);ans += (n / i) * (n / i) * (cur - lst);lst = cur;}printf("%u\n", ans);return 0;
}

转载于:https://www.cnblogs.com/cjoieryl/p/10150718.html

LOJ572: Misaka Network 与求和相关推荐

  1. [LOJ572] Misaka Network 与求和 [杜教筛+Min25]

    传送门 首先 g 可以整除分块,然后杜教筛处理 g 考虑如何用 Min25 筛出 f,一个 d 有 f(d) ^ k 的贡献,当且仅当有一个 >= 它的质数在它前面 所有的方案数就是 >= ...

  2. [LOJ572]Misaka Network 与求和

    题目 传送门 to LOJ 思路 答案为 ∑i=1nf(i)k[2∑j=1⌊ni⌋φ(j)−1]\sum_{i=1}^{n}f(i)^k\left[2\sum_{j=1}^{\lfloor{n\ove ...

  3. 「LibreOJ Round #11」Misaka Network 与求和(杜教筛 + Min_25)

    #572. 「LibreOJ Round #11」Misaka Network 与求和 推式子 ∑i=1n∑j=1nf(gcd(i,j))k∑d=1nf(d)k∑i=1nd∑j=1nd[gcd(i,j ...

  4. 【LOJ#572】Misaka Network 与求和(莫比乌斯反演/杜教筛/min_25筛)

    [LOJ#572]Misaka Network 与求和 https://www.cnblogs.com/cjyyb/p/10170630.html 看到次大质因子就可以想到是min_25筛了,然后只需 ...

  5. [LibreOJ Round #11]Misaka Network 与求和

    Misaka Network 与求和 题解 敢信,笔者第一眼把misaka看出了mikasa,如果不是后面还有个network 一看到这道题就知道是一道很烦人的数学题. 先应该很容易想到莫比乌斯反演. ...

  6. LOJ572. 「LibreOJ Round #11」Misaka Network 与求和 [莫比乌斯反演,杜教筛,min_25筛]

    传送门 思路 (以下令\(F(n)=f(n)^k\)) 首先肯定要莫比乌斯反演,那么可以推出: \[ ans=\sum_{T=1}^n \lfloor\frac n T\rfloor^2\sum_{d ...

  7. Loj #572. 「LibreOJ Round #11」Misaka Network 与求和(莫比乌斯反演 + 杜教筛 + min_25筛(递推版))

    直接反演一下:∑i=1n∑i=1nf(gcd(i,j))k\sum_{i = 1}^n\sum_{i = 1}^nf(gcd(i,j))^ki=1∑n​i=1∑n​f(gcd(i,j))k=∑d=1n ...

  8. Loj#572. 「LibreOJ Round #11」Misaka Network 与求和

    题目 有生之年我竟然能\(A\) 这个题求的是这个 \[\sum_{i=1}^n\sum_{j=1}^nf(gcd(i,j))^k\] \(f(i)\)定义为\(i\)的次大质因子,其中\(f(p)= ...

  9. [LOJ]#572. 「LibreOJ Round #11」Misaka Network 与求和 min_25筛+杜教筛

    Solution 推一下式子,容易得到一个线性做法:∑d=1nfk(d)((2∑i=1⌊ni⌋φ(i))−1)\sum_{d=1}^nf^k(d)((2\sum_{i=1}^{\lfloor{n\ov ...

最新文章

  1. Linux系统备份策略探讨
  2. mysql检查备份数据脚本并在zabbix上告警
  3. InnoDB锁机制之Gap Lock、Next-Key Lock、Record Lock解析
  4. GitFlow 工作流和Code Review教程
  5. spark mongo java_Spark Mongodb集成 - Python版
  6. PowerDesigner V16.5 安装教程以及汉化(数据库建模)
  7. Python DearPyGui 多线程与异步
  8. php出来了 不知道做什么,PHP也做好好多年了,最近在看laravel框架,但是面对如此丰富的文档,我却不知道在讲什么,完全看不懂,请问我是哪里出了问题?...
  9. PyQt5(designer)入门教程
  10. 练字和平时写字完全不一样怎么办?
  11. UE4GamePlay框架
  12. 琴生Jensen不等式,条件期望
  13. 智能(个性化)推荐系统全流程落地实施方案
  14. excel常用快捷键excel快捷键汇总
  15. Rolan 1.3.8 屏蔽强制更新
  16. java实现微信退款
  17. UEditor富文本编辑器不显示问题
  18. Word中的图文框和文本框
  19. 全球与中国铜杀菌剂市场深度研究分析报告
  20. 51单片机—基于PT100温度变送器的温度检测装置(ADC0804)

热门文章

  1. 约瑟夫问题、圆桌问题
  2. Android 渐变背景色
  3. 关于win11桌面出现桌面、音乐、文档、下载、图片、视频图标的问题
  4. 向量的内积(点乘)与 向量的外积(叉乘)
  5. Ansys Zemax | 如何在序列模式下模拟分光棱镜
  6. 【python入门第二十二天】python函数-匿名函数
  7. 深入理解js中实现继承的原理和方法
  8. 微信常见错误码及解决方案
  9. django学习-武沛齐教程【day4】
  10. hive-diea-ETL数据截取split,嵌套SQL查询,ETL-SQL表查询中间件解析