HDU6265 B. Master of Phi (欧拉函数&狄利克雷卷积)

太菜了,数论太弱了,还需要多做一些习题。

题意:

给定 n n n的质因数分解: p 1 q 1 p 2 q 2 … p m q m = n p_1^{q_1} p_2^{q_2}\dots p_m^{q_m}=n p1q1​​p2q2​​…pmqm​​=n。

求 ∑ d ∣ n φ ( d ) × n d \sum_{d|n}\varphi(d)\times\dfrac{n}{d} ∑d∣n​φ(d)×dn​

前置知识:

狄利克雷卷积: ( f ∗ g ) ( n ) = ∑ d ∣ n f ( d ) × g ( n d ) (f*g)(n)=\sum_{d|n}f(d)\times g(\dfrac{n}{d}) (f∗g)(n)=∑d∣n​f(d)×g(dn​)

两个积性函数的狄利克雷卷积也是积性函数。

因为欧拉函数 φ ( n ) , I d ( n ) = n \varphi(n),Id(n)=n φ(n),Id(n)=n都是积性函数。

所以 h ( n ) = ∑ d ∣ n φ ( d ) × I d ( n d ) h(n)=\sum_{d|n}\varphi(d)\times Id(\dfrac{n}{d}) h(n)=∑d∣n​φ(d)×Id(dn​)

由积性函数的性质可知: h ( n ) = ∏ i = 1 m h ( p i q i ) h(n)=\prod\limits_{i=1}^m h(p_i^{q_i}) h(n)=i=1∏m​h(piqi​​)


所以题意转化为求所有的 h ( p i q i ) h(p_i^{q_i}) h(piqi​​)的乘积。

h ( p q ) = ∑ d ∣ p q φ ( d ) × p q d = ∑ i = 0 q φ ( p i ) × p q − i h(p^q)=\sum_{d|p^q}\varphi(d)\times \dfrac{p^q}{d}\\=\sum\limits_{i=0}^q\varphi(p^i)\times p^{q-i} h(pq)=∑d∣pq​φ(d)×dpq​=i=0∑q​φ(pi)×pq−i

因为 φ ( p i ) = ( p − 1 ) p i − 1 \varphi(p^i)=(p-1)p^{i-1} φ(pi)=(p−1)pi−1

所以 h ( p q ) = φ ( 1 ) × p q + ∑ i = 1 q φ ( p i ) × p q − i = p q + q ( p − 1 ) p q − 1 = p q − 1 ( p + q ( p − 1 ) ) h(p^q)=\varphi(1)\times p^q+\sum\limits_{i=1}^q \varphi(p^i)\times p^{q-i}=p^q+q(p-1)p^{q-1}\\=p^{q-1}(p+q(p-1)) h(pq)=φ(1)×pq+i=1∑q​φ(pi)×pq−i=pq+q(p−1)pq−1=pq−1(p+q(p−1))

然后带入就好了。

时间复杂度: O ( m l o g q ) O(mlogq) O(mlogq)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3 + 5, M = 2e4 + 5, inf = 0x3f3f3f3f, mod = 998244353;
#define mst(a, b) memset(a, b, sizeof a)
#define PII pair<int, int>
#define fi first
#define se second
#define pb push_back
int t, n;
ll ksm(ll a, ll n)
{ll ans = 1;while (n){if (n & 1)ans = ans * a % mod;a = a * a % mod;n >>= 1;}return ans;
}
int main()
{scanf("%d", &t);while (t--){scanf("%d", &n);ll ans = 1;while (n--){ll p, q;scanf("%lld%lld", &p, &q);ll x = ksm(p, q - 1), y = (p + q * (p - 1) % mod) % mod;ans = ans * x % mod * y % mod;}printf("%lld\n", ans);}return 0;
}

HDU6265 Master of Phi (欧拉函数狄利克雷卷积)相关推荐

  1. 欧拉函数+狄利克雷卷积+莫比乌斯函数+莫比乌斯反演+整除分块+杜教筛

    Powered by:NEFU AB-IN 文章目录 欧拉函数 狄利克雷卷积 莫比乌斯函数 莫比乌斯反演 P3455 [POI2007]ZAP-Queries 整除分块 P2522 [HAOI2011 ...

  2. Master of Phi (欧拉函数 + 积性函数的性质 + 狄利克雷卷积)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6265 题目大意:首先T是测试组数,n代表当前这个数的因子的种类,然后接下来的p和q,代表当前这个数的因 ...

  3. matlab狄利克雷函数,数论入门1——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛...

    数论入门1 一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数$\mu(n)$为: 当n有平方因子时,$\mu(n)=0$. 当n没有平方因子时,$\mu(n)=(-1)^{\omega(n)} ...

  4. CCPC-2017 杭州站B丨HDU - 6265丨数论丨积性函数 丨欧拉函数丨狄利克雷卷积丨思维变换

    [参考博客]@WJHKDGHP ccpc2017杭州站 B [参考博客]@灬从此以后灬 2017 CCPC 杭州 HDU6265B 积性函数 特别感谢以上两位博主,让我看懂了许多细节. 交题网址(HD ...

  5. 专题·莫比乌斯函数与欧拉函数【including 整除分块,积性函数,狄利克雷卷积,欧拉函数,莫比乌斯函数,莫比乌斯反演

    初见安~又是好久没写博客了--加上CSP才炸了一波. 目录 一.整除分块 题解 二.积性函数 三.狄利克雷卷积 四.欧拉函数 五.莫比乌斯函数(mu) 六.莫比乌斯反演 一.整除分块 看个例题:洛谷P ...

  6. (hdu step 7.2.1)The Euler function(欧拉函数模板题——求phi[a]到phi[b]的和)

    题目: The Euler function Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...

  7. 容斥原理与欧拉函数与莫比乌斯函数,狄利克雷卷积与莫比乌斯变换,反演

    莫比乌斯函数可以看成是一种被内化了的容斥原理,许多数论上的结论定理根据容斥原理和数学归纳法可以推导出来,但是有关容斥原理的表达式的构造往往并不容易,运气不好很难找到,而莫比乌斯函数则是巧妙的把容斥原理 ...

  8. 欧拉函数phi值的计算模板

    求小于n且与n互质的整数的个数.告诉你n的唯一分解式 我们可以运用容斥原理,先分别减去是p1,p2,p3..pn的倍数,再加上同时是他们素因子的个数,再减去3个--以此类推即可. 我们可以化简一下公式 ...

  9. 费马定理中值定理_数论-欧拉函数、欧拉定理

    欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...

最新文章

  1. 网吧母盘制作(精华)
  2. GNS3错误7200:无法开始Dynamips于端口7200
  3. java 端写的list 前端页面获取方法
  4. Fabric环境搭建
  5. Linux初学(CnetOS7 Linux)之切换命令模式和图形模式的方法
  6. 字符串的前缀与后缀和简单示例程序win32版
  7. 学习css3中的动画
  8. 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现按部门组织机构设置权限...
  9. Tinkpad W540 BIOS bug ,中招了,中了一次还送了一次
  10. 2020年第十八届西电程序设计竞赛网络预选赛之Problem B 祖玛 1
  11. 同盟与对抗:谈《少女杜拉的故事》中的治疗关系(转)
  12. Bootstrap datepicker 在弹出窗体modal中不工作
  13. Java浅克隆和深克隆
  14. 高级php程序员,php高级程序员该学什么
  15. Web Service(二):cxf 实现
  16. codejock toolkit pro 19.2 for MFC
  17. docker配置网易云镜像
  18. Excel VBA Dictionary excel vba 字典大全
  19. 工作流(activiti7)-简单的介绍和使用(一)
  20. 解锁用户 修改用户登录尝试次数无限

热门文章

  1. wii7桌面上的计算机不见了,不该就这样消失的7个应在Switch重启的Wii-U游戏
  2. python语法认为条件x小于y小于z是合法的_Python初识——基础篇
  3. 【数据库】悲观锁与乐观锁的理解和实现
  4. MoveNet复现,轻量级人体姿态估计模型的修炼之路
  5. 线性变化与矩阵向量相乘的本质
  6. stm32 cubemx RCT 闹钟 待机模式唤醒
  7. vue 动态添加html属性,vue.set如何添加属性?
  8. 暑假第六次周赛--阿福场
  9. 解决vue打包后提示文件过大的警告
  10. hdu 1667:The Rotation Game