HDU6265 Master of Phi (欧拉函数狄利克雷卷积)
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 p1q1p2q2…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∣nf(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∏mh(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 (欧拉函数狄利克雷卷积)相关推荐
- 欧拉函数+狄利克雷卷积+莫比乌斯函数+莫比乌斯反演+整除分块+杜教筛
Powered by:NEFU AB-IN 文章目录 欧拉函数 狄利克雷卷积 莫比乌斯函数 莫比乌斯反演 P3455 [POI2007]ZAP-Queries 整除分块 P2522 [HAOI2011 ...
- Master of Phi (欧拉函数 + 积性函数的性质 + 狄利克雷卷积)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6265 题目大意:首先T是测试组数,n代表当前这个数的因子的种类,然后接下来的p和q,代表当前这个数的因 ...
- matlab狄利克雷函数,数论入门1——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛...
数论入门1 一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数$\mu(n)$为: 当n有平方因子时,$\mu(n)=0$. 当n没有平方因子时,$\mu(n)=(-1)^{\omega(n)} ...
- CCPC-2017 杭州站B丨HDU - 6265丨数论丨积性函数 丨欧拉函数丨狄利克雷卷积丨思维变换
[参考博客]@WJHKDGHP ccpc2017杭州站 B [参考博客]@灬从此以后灬 2017 CCPC 杭州 HDU6265B 积性函数 特别感谢以上两位博主,让我看懂了许多细节. 交题网址(HD ...
- 专题·莫比乌斯函数与欧拉函数【including 整除分块,积性函数,狄利克雷卷积,欧拉函数,莫比乌斯函数,莫比乌斯反演
初见安~又是好久没写博客了--加上CSP才炸了一波. 目录 一.整除分块 题解 二.积性函数 三.狄利克雷卷积 四.欧拉函数 五.莫比乌斯函数(mu) 六.莫比乌斯反演 一.整除分块 看个例题:洛谷P ...
- (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 ...
- 容斥原理与欧拉函数与莫比乌斯函数,狄利克雷卷积与莫比乌斯变换,反演
莫比乌斯函数可以看成是一种被内化了的容斥原理,许多数论上的结论定理根据容斥原理和数学归纳法可以推导出来,但是有关容斥原理的表达式的构造往往并不容易,运气不好很难找到,而莫比乌斯函数则是巧妙的把容斥原理 ...
- 欧拉函数phi值的计算模板
求小于n且与n互质的整数的个数.告诉你n的唯一分解式 我们可以运用容斥原理,先分别减去是p1,p2,p3..pn的倍数,再加上同时是他们素因子的个数,再减去3个--以此类推即可. 我们可以化简一下公式 ...
- 费马定理中值定理_数论-欧拉函数、欧拉定理
欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...
最新文章
- 网吧母盘制作(精华)
- GNS3错误7200:无法开始Dynamips于端口7200
- java 端写的list 前端页面获取方法
- Fabric环境搭建
- Linux初学(CnetOS7 Linux)之切换命令模式和图形模式的方法
- 字符串的前缀与后缀和简单示例程序win32版
- 学习css3中的动画
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现按部门组织机构设置权限...
- Tinkpad W540 BIOS bug ,中招了,中了一次还送了一次
- 2020年第十八届西电程序设计竞赛网络预选赛之Problem B 祖玛 1
- 同盟与对抗:谈《少女杜拉的故事》中的治疗关系(转)
- Bootstrap datepicker 在弹出窗体modal中不工作
- Java浅克隆和深克隆
- 高级php程序员,php高级程序员该学什么
- Web Service(二):cxf 实现
- codejock toolkit pro 19.2 for MFC
- docker配置网易云镜像
- Excel VBA Dictionary excel vba 字典大全
- 工作流(activiti7)-简单的介绍和使用(一)
- 解锁用户 修改用户登录尝试次数无限