题目

注意一下空间限制。

令\(f(n)=\prod\limits_{i=1}^n\prod\limits_{j=1}^nij,g(n)=\prod\limits_{i=1}^n\prod\limits_{j=1}^n(i,j)\)

那么答案就是\(f(n)g(n)^{-2}\).

显然\(f(n)=(n!)^{2n}\)。

而\(g(n)=\prod\limits_{d=1}^nd^{\sum\limits_{i=1}^{\lfloor\frac nd\rfloor}\sum\limits_{j=1}^{\lfloor\frac nd\rfloor}[(i,j)=1]}=\prod\limits_{d=1}^nd^{\sum\limits_{i=1}^{\lfloor\frac nd\rfloor}2\varphi(i)-1}\)。

然后就可以直接做了。

注意一下由于Euler定理指数部分的要对\(P-1\)取模。

#include<bits/stdc++.h>
using namespace std;
const int N=1000007,P=104857601,M=104857600;
int pr[N>>3],m,phi[N];bool f[N];
int inc(int a,int b){return a+=b,a>=M? a-M:a;}
int dec(int a,int b){return a-=b,a<0? a+M:a;}
int mul(int a,int b){return 1ll*a*b%P;}
int sqr(int a){return mul(a,a);}
int power(int a,int k){int r=1;for(;k;k>>=1,a=mul(a,a))if(k&1)r=mul(a,r);return r;}
int fac(int n){int s=1;for(;n;--n)s=mul(s,n);return s;}
int inv(int a){return power(a,P-2);}
int cal1(int n){return power(fac(n),n<<1);}
int cal2(int n)
{
phi[1]=f[1]=1;int ans=1;
for(int i=2,j,x;i<=n;++i)
{
if(!f[i]) pr[++m]=i,phi[i]=i-1;
for(j=1;j<=m&&i*pr[j]<=n;++j)
{
f[x=i*pr[j]]=1;
if(i%pr[j]) phi[x]=phi[i]*phi[pr[j]];
else {phi[x]=phi[i]*pr[j];break;}
}
}
for(int i=2;i<=n;++i) phi[i]=inc(phi[i-1],phi[i]);
for(int i=1;i<=n;++i) phi[i]=dec(inc(phi[i],phi[i]),1);
for(int i=1;i<=n;++i) ans=mul(ans,power(i,phi[n/i]));
return ans;
}
int main(){int n;cin>>n,cout<<mul(cal1(n),sqr(inv(cal2(n))));}

最新文章

  1. Linux学习日记-(一)
  2. Android Shape自定义纯色圆角按钮
  3. Android如何通过shareduserid获取系统权限
  4. 【转】linux下memcached安装以及启动
  5. GNU make 升级
  6. (转)SQL对Xml字段的操作
  7. ubuntu /etc/profile和/etc/environment的比较
  8. Codeforces Round #211 (Div. 2)
  9. SQL Server2005使用CTE实现递归
  10. 仿async/await(一)and Gulp:新一代前端构建利器
  11. iTOP-iMX6开发板-Android-can测试例程介绍
  12. 服务端渲染时无法获得环境变量的值,一直是undefined
  13. Qt creator使用笔记
  14. 本地设置VirtualBox虚拟机
  15. python list中append()方法和extend()方法区别
  16. Javascript-涨工资案例
  17. java提高篇之详解内部类
  18. 通用性站点管理后台(Bee OPOA Platform) (5)- 【扩展】基于WebSocket的监视Sql执行功能
  19. element-ui学习
  20. POJ-2251-Dungeon Master(3D迷宫,BFS)

热门文章

  1. Spring——注解
  2. [CSP-S模拟测试]:那一天我们许下约定(DP+组合数学)
  3. How to Fix Grub error: no such partition Grub Rescue
  4. LeetCode 137. 只出现一次的数字 II(Single Number II)
  5. 黑马vue---10-11、Vue实现跑马灯效果
  6. redux异步
  7. kernel hacking的一些网站
  8. python内存泄露memory leak排查记录
  9. EDM数据营销之电商篇| 六大事务性邮件,环环相扣打造极致用户体验!
  10. Struts2常量_Action配置路径_通配符