题目链接

\(Description\)

  q次询问,每次给定r,n,求\(F_r(n)\)。
\[ f_0(n)=\sum_{u\times v=n}[(u,v)=1]\\ f_{r+1}(n)=\sum_{u\times v=n}\frac{f_r(u)+f_r(v)}{2}\]

\(Solution\)

  首先将\(f_r\)的式子化为
\[ f_{r+1}(n)=\sum_{d|n}f_r(d)\]
  即\(f_{r+1}(n)\)为\(f_r(n)\)与\(g(n)=1\)的狄利克雷卷积。
  因为n的所有质因子之间对\(f_0(n)\)的贡献是独立的,所以显然\(f_0(n)\)为积性函数(为什么我还是不懂。。),那么\(f_r(n)\)也为积性函数。
  于是可以对每个质因子单独计算,这样狄利克雷卷积就可以化成求和
\[ f_{r+1}(p^k)=\sum_{i=0}^kf_r(p^i) \]
  (\(p^k\)的所有因子即\(p^i,i=0,1,\ldots,k\))
  同时可以发现\(f_0(p^k)=[k\neq 0]+1\),即\(f_0(p^k)\)的值与因子p无关,只与次数有关。
  那么DP,用\(dp[i][j]\)表示\(f_i(p^j)\),则\(dp[i][j]=\sum_{k=0}^jdp[i-1][k]\)。
  询问时对\(n\)分解质因数即可。

#include<cmath>
#include<cstdio>
#include<cctype>
#define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EOF:*SS++)
const int N=1e6+3,M=21,mod=1e9+7,MAXIN=1<<18;int r,n,f[N+3][21],Primes[100000],cnt;
char IN[MAXIN],*SS=IN,*TT=IN;
bool Not_Prime[N+3];inline int read()
{int now=0,f=1;register char c=gc();for(;!isdigit(c);c=gc()) if(c=='-') f=-1;for(;isdigit(c);now=now*10+c-'0',c=gc());return now*f;
}
#define Mod(a) (a>=mod)?a-=mod:0
void Init()
{
//  Not_Prime[1]=1;for(int i=2;i<N;++i){if(!Not_Prime[i]) Primes[++cnt]=i;for(int j=1;j<=cnt&&Primes[j]*i<N;++j){Not_Prime[i*Primes[j]]=1;if(!(i%Primes[j])) break;}}f[0][0]=1;//f_r(p^0)=1for(int i=1;i<M;++i) f[0][i]=2;for(int sum=0,i=1;i<N;++i,sum=0)for(int j=0;j<M;++j){sum+=f[i-1][j], Mod(sum);f[i][j]+=sum, Mod(f[i][j]);}
}
int Solve(int r,int n)
{int ans=1,m=sqrt(n+0.5);for(int i=1;i<=cnt&&Primes[i]<=m;++i){if(n%Primes[i]) continue;int t=0;while(!(n%Primes[i])) n/=Primes[i],++t;ans=1LL*ans*f[r][t]%mod;}if(n>1) ans=1LL*ans*f[r][1]%mod;//本身是个质数 return ans;
}int main()
{
//#ifndef   ONLINE_JUDGE
//  freopen("757.in","r",stdin);
//#endifInit();int t=read(),r,n;while(t--)r=read(),n=read(),printf("%d\n",Solve(r,n));return 0;
}

转载于:https://www.cnblogs.com/SovietPower/p/8324134.html

Codeforces757E.Bash Plays With Functions(积性函数 DP)相关推荐

  1. (Codeforce 757)E. Bash Plays with Functions(积性函数)

    题目: 样例输入: 5 0 30 1 25 3 65 2 5 4 48 样例输出: 8 5 25 4 630 题意: 我们先来分析r=0的情况,假如我们现在求f0(n),n=p1^a1*p2^a2*- ...

  2. CodeForces 757 E.Bash Plays with Functions(积性函数+dp)

    Description 定义f0(n)f_0(n)为满足p⋅q=n,gcd(p,q)=1p\cdot q=n,gcd(p,q)=1的有序对(p,q)(p,q)对数,定义fr+1(n)=∑u⋅v=nfr ...

  3. [CodeForces757E]Bash Plays with Functions

    题意: 定义函数fr(n)fr(n)f_r(n)在r=0r=0r=0时为整数对(p,q)(p,q)(p,q)满足p∗q=np∗q=np*q=n且gcd(p,q)=1gcd(p,q)=1gcd(p,q) ...

  4. [Codeforces757E]Bash Plays with Functions数学

    这题推一吨东西出来就能做了 首先发现 F0(x) F_0(x)是 2质因子个数 2^{质因子个数} 这个东西是完全积性函数,当然也是非完全积性函数 把式子化简,就能得到 Fr(x) F_r(x)也是非 ...

  5. 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  6. 【数学专题】莫比乌斯反演与积性函数

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的模板整合计划 目录 莫比乌斯反演 AcWing 2702. problem b AcWing 1358. 约数个数和(莫 ...

  7. 积性函数、狄利克雷卷积、莫比乌斯反演

    狄利克雷卷积 定义: f∗g(n)=∑d∣nf(d)g(nd)f*g(n)=\sum_{d|n}f(d)g(\frac nd)f∗g(n)=d∣n∑​f(d)g(dn​) 计算的时候可以把枚举约数转换 ...

  8. HDU-1452 因子和 积性函数性质

    详见代码: #include <cstdio> #include <cstring> #include <cstdlib> #define MOD 29 using ...

  9. 【算法专题】积性函数

    [参考] ★浅谈一类积性函数的前缀和 by skywalkert 任之洲数论函数.pdf 论逗逼的自我修养之寒假颓废记 by jiry_2 杜教筛 [学习笔记][更新中] by Candy? [变化技 ...

最新文章

  1. 【C++】【三】单向链表
  2. 库克在白宫网络峰会中再次反对加密后门
  3. 100. Same Tree 相同的树
  4. python里x.pow2_带有Python示例的math.pow()方法
  5. editor.md国产markdown编辑器使用实例
  6. Nacod服务注册与发现(AP架构)、心跳检查机制
  7. 冒泡排序算法详解之C语言版
  8. 信息系统管理工程师记忆口诀
  9. javascript简单介绍总结(二)
  10. 【Java EE 学习第21天 使用易宝支付接口实现java网上支付功能】
  11. 什么是 Cookie Session 和 JWT
  12. 判断二叉树是否是平衡二叉树
  13. 怎么定位门面位置_如何选择店面位置
  14. 计算机网络教程第五版|微课版 - 第五章 运输层 - 习题【补充】
  15. 什么是rootkit
  16. 直播播控和分发基础架构
  17. 倚天屠龙记君临天下_战斗系统
  18. 安规之电气间距和爬电距离
  19. python opencv根据颜色进行目标检测
  20. 一阶差分序列garch建模_最全:ARCH, GARCH等模型家族是什么?软件如何做?怎么解释?...

热门文章

  1. RBAC用户角色权限设计方案
  2. WPF ValidationRule的特点(默认目标-源才校验)
  3. C# VS中类的开头自动生成
  4. HashSet的简单实现
  5. SPL--Serializable
  6. SQL--数据库性能优化详解
  7. How To Open An URL In Android’s Web Browser
  8. linux unshare 命令,Linux ip netns 命令
  9. leetcode算法题--Gas Station
  10. leetcode算法题--飞机座位分配概率