[数论 反演] BZOJ 4833 最小公倍佩尔数
来源:互联网 发布:linux apache cgi 编辑:程序博客网 时间:2024/06/05 06:41
当时比赛时灵机一动 把
然后就找到了 233 就是这个咯
然后就水过去了
题解?题解我还没看 先挖个坑
UPD:跟这个题是一毛一样的咯
#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;typedef long long ll;const int N=1000005;int P;inline ll Pow(ll a,int b){ ll ret=1; for (;b;b>>=1,a=a*a%P) if (b&1) ret=ret*a%P; return ret;}int n;ll f[N],g[N];#define read(x) scanf("%d",&(x))int main(){ int Q; freopen("t.in","r",stdin); freopen("t.out","w",stdout); read(Q); while (Q--){ read(n); read(P); f[0]=0; f[1]=g[1]=1; for (int i=2;i<=n;i++) f[i]=((f[i-1]<<1)%P+f[i-2])%P,g[i]=f[i]; for (int i=1;i<=n;i++){ ll inv=Pow(g[i],P-2); for (int j=i+i;j<=n;j+=i) g[j]=g[j]*inv%P; } ll lcm=1,ans=0; for (int i=1;i<=n;i++) lcm=lcm*g[i]%P,ans+=lcm*i%P; printf("%lld\n",ans%P); } return 0;}
0 0
- [数论 反演] BZOJ 4833 最小公倍佩尔数
- BZOJ 2671(Calc-数论反演)
- bzoj 4176: Lucas的数论 (反演)
- BZOJ 4176 Lucas的数论 莫比乌斯反演
- bzoj 4176 Lucas的数论 莫比乌斯反演
- [数论][莫比乌斯反演] BZOJ 4816: 数字表格
- [数论 反演] HDU6053. TrickGCD
- BZOJ 3601 一个人的数论 莫比乌斯反演+高斯消元
- bzoj 3601: 一个人的数论 高斯消元&莫比乌斯反演
- bzoj 4174 tty的求助 数论 莫比乌斯反演
- [莫比乌斯反演 高斯消元 数学技巧] BZOJ 3601 一个人的数论
- BZOJ 4176: Lucas的数论 莫比乌斯反演 杜教筛
- [数论][莫比乌斯反演][杜教筛] BZOJ 3512: DZY Loves Math IV
- 4833: [Lydsy2017年4月月赛]最小公倍佩尔数 数论变换
- 【数论】Mobius反演学习笔记
- bzoj 2693: jzptab (反演)
- bzoj 2694: Lcm (反演)
- bzoj 4659: Lcm (反演)
- 字符串基础算法
- 单例模式
- 腾讯前端面试题
- 栈的实现
- 宏观把握SpringMVC框架
- [数论 反演] BZOJ 4833 最小公倍佩尔数
- 设计模式
- HDU 6008
- php 判断操作系统位数
- C语言实现汉诺塔
- The language of learning
- kali漏洞利用之BeeF
- 安装Python
- hdu 1176 免费馅饼 dp