bzoj4835 找规律+莫比乌斯反演
来源:互联网 发布:名模a穆雅斓的淘宝真假 编辑:程序博客网 时间:2024/06/05 00:36
4833: [Lydsy2017年4月月赛]最小公倍佩尔数
Time Limit: 8 Sec Memory Limit: 128 MBSubmit: 125 Solved: 57
[Submit][Status][Discuss]
Description
令(1+sqrt(2))^n=e(n)+f(n)*sqrt(2),其中e(n),f(n)都是整数,显然有(1-sqrt(2))^n=e(n)-f(n)*sqrt(2)。令g(
n)表示f(1),f(2)…f(n)的最小公倍数,给定两个正整数n和p,其中p是质数,并且保证f(1),f(2)…f(n)在模p意义
下均不为0,请计算sigma(i*g(i)),1<=i<=n.其在模p的值。
Input
第一行包含一个正整数 T ,表示有 T 组数据,满足 T≤210 。接下来是测试数据。每组测试数据只占一行,包含
两个正整数 n 和 p ,满足 1≤n≤10^6,2≤p≤10^9+7 。保证所有测试数据的 n 之和不超过 3×10^6 。
Output
对于每组测试数据,输出一行一个非负整数,表示这组数据的答案。
Sample Input
5
1 233
2 233
3 233
4 233
5 233
1 233
2 233
3 233
4 233
5 233
Sample Output
1
5
35
42
121
首先根据给的两个式子,可以算出f(n),然后就可以找到规律,f(i)=f(i-1)*2+f(i-2)....然后就交给题解了。。。推出h(n),,然后得到g(n)。。
5
35
42
121
首先根据给的两个式子,可以算出f(n),然后就可以找到规律,f(i)=f(i-1)*2+f(i-2)....然后就交给题解了。。。推出h(n),,然后得到g(n)。。
#include<bits/stdc++.h>using namespace std;typedef long long ll;ll f[1000010],g[1000010],p;ll qpow(ll a,ll b){ ll ans=1; while(b) { if(b&1) ans=(ans*a)%p; b>>=1; a=(a*a)%p; }return ans;}int main(){ int t;scanf("%d",&t); while(t--) { int n;scanf("%d%lld",&n,&p);f[1]=1;f[0]=0; for(int i=2;i<=n;i++){f[i]=(f[i-1]*2%p+f[i-2])%p;} for(int i=1;i<=n;i++) { ll inv=qpow(f[i],p-2); for(int j=i+i;j<=n;j+=i) f[j]=(f[j]*inv)%p; } ll lcm=1,ans=0; for(int i=1;i<=n;i++) { lcm=lcm*f[i]%p; ans=(ans+(lcm*i%p))%p; } printf("%lld\n",ans); } return 0;}
阅读全文
1 0
- bzoj4835 找规律+莫比乌斯反演
- 二项式反演,莫比乌斯反演。
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- 莫比乌斯反演
- .so问题
- ipmi 的初始化,其作用是和BMC通信
- ArcGIS Pro点云LAS数据相关系列---简介
- IIS 403.14
- 20170601Link
- bzoj4835 找规律+莫比乌斯反演
- 深入理解Java并发之synchronized实现原理
- crontab循环定时任务
- LoadRunner 脚本
- 怎么使用stm32写IAP的bootloader和APP
- stanford nlp库提供的nlp之外的分类、语义图、图最短路径功能
- java基础
- 当你输入网址时都发生了什么(1)——URL解析与DNS
- Windows下搭建TensorFlow环境5(CPU版本)