2017.6.15 数字表格 思考记录
来源:互联网 发布:网络情缘一线牵表情包 编辑:程序博客网 时间:2024/06/05 10:55
利用gcd相同数相乘,可以比较基础的化到
然后就是设T=ij,利用除法了
但这个西格玛在指数上,怎么办呢?
其实是不影响的,只要保证约数、倍数关系对好就行了
易错点:
1、大量取模逆元快速幂
2、m/i *n/i 要取模P-1、
3、赋初值为1
码:
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;#include<cstring>#define P 1000000007#define N 1000005#define ll long longint su[N],tot,mu[N],T;ll sum[N],ny[N],x,y,n,m,i,j,fny[N],f[N];bool he[N];ll ksm(ll a,ll b){ll daan=1;while(b){if(b%2==1)daan=(daan*a)%P;b/=2;a=(a*a)%P;}return daan;}void exgcd(ll a,ll b){if(!b){x=1;y=0;return;}exgcd(b,a%b);ll t=y;y=x-(a/b)*y;x=t;}void eular(){ll i,j;mu[1]=1;sum[1]=1;sum[0]=1;for(i=2;i<=N-5;i++){sum[i]=1;if(!he[i]){su[++tot]=i;mu[i]=-1;}for(j=1;j<=tot&&su[j]*i<=N-5;j++){he[i*su[j]]=1;if(i%su[j]==0){mu[su[j]*i]=0;break;}else mu[su[j]*i]=-mu[i];}} // for(i=1;i<=N-5;i++){for(j=1;j*i<=N-5;j++) { if(mu[j]==1) { //cout<<sum[i*j]<<" "; sum[i*j]=sum[i*j]*f[i]%P; //cout<<sum[i]<<endl;}if(mu[j]==-1){sum[i*j]=sum[i*j]*fny[i]%P;} }}//cout<<i<<" ";//sum[0]=1;for(i=1;i<=N-5;i++){sum[i]=(sum[i]*sum[i-1])%P;exgcd(sum[i],P); ny[i]=x; }// //cout<<"p";//for(i=1;i<=1000;i++)cout<<sum[i]<<" ";}ll work(){ll ans=1,lin=0,i;for(i=1;i<=n;i=lin+1){lin=min(n/(n/i),m/(m/i));ans=ans*ksm(sum[lin]*ny[i-1]%P,(n/i)*(m/i)%(P-1))%P;}return ((ans+P)%P);}int main(){ny[0]=1;fny[0]=1;f[0]=0;f[1]=1;fny[1]=1;for(i=2;i<=N-5;i++){f[i]=(f[i-1]+f[i-2])%P;exgcd(f[i],P);fny[i]=x;}//for(i=1;i<=100;i++)cout<<fny[i]<<" ";eular();scanf("%d",&T);while(T--){scanf("%lld%lld",&n,&m);if(n>m)swap(n,m);printf("%lld\n",work());}}
阅读全文
0 0
- 2017.6.15 数字表格 思考记录
- 2017.6.12 crash的数字表格 思考记录
- 2017.3.14 不重复数字 思考记录
- 2017.5.5 小朋友的数字 思考记录
- 2017.6.6 数表 思考记录
- 2017.6.23 染色 思考记录
- 2017.6.26 旅行 思考记录
- 2017.6.3 完全平方数 思考记录
- 2017.6.21 大都市meg 思考记录
- 2017.6.27 树上操作 思考记录
- 2017.6.28 文艺平衡树 思考记录
- 2017.3.15 审查(黄金) 思考记录
- 2017.5.14-15 CPU监控 思考记录
- 2017.5.15 项链工厂 思考记录
- 2017.9.15 最大数maxnumber 思考记录
- 数字记录
- 数字、发言与思考
- 数字迷宫思考-上
- 关联规则应用场景实例十则
- [POJ2826]An Easy Problem?!(计算几何)
- jdk1.7和jdk1.8区别
- Combination Sum II问题及解法
- Linux 软件看门狗 watchdog 喂狗
- 2017.6.15 数字表格 思考记录
- jdk1.5、1.6、1.7新特性详细介绍(整理)
- [BZOJ2741][FOTILE模拟]L(分块+可持久化Trie)
- 使用TensorFlow基于阿里云AI实现图像识别技术(HR)
- Java PHP 开发常用软件以及前端开发ps dw软件Office2007百度网盘打包下载
- 【正一专栏】希望才是深深让人绝望的东西-论国足
- HDU2161 Primes【筛选法+打表】
- Java 8新特性终极指南
- C strtok C中字符串分割