数论——洛谷 P1445 没占到1444的愤怒
来源:互联网 发布:linux 安装万兆网卡 编辑:程序博客网 时间:2024/05/16 09:09
https://www.luogu.org/problem/show?pid=1445
本来想考考fop_zz的,结果他直接A了哇..
大佬题解http://blog.csdn.net/fop_zz/article/details/73551108
1/x+1/y=1/n!
先通分
(x+y)/xy=1/n!
再化整数
xy-(x+y)*n!=0
然后配平
(n!)^2-(x+y)*n!+xy=(n!)^2
最后
(x-n!)*(y-n!)=(n!)^2
然后我们发现x,y都要是正整数;
所以原题可以变为
A*B=(n!)^2;
当A*B为正整数的时候x,y显然也是正整数;
然后我们考虑x的取值,显然,若一个质数p有k个,那么x可以取p^0,p^1….p^k
共(k+1)种情况
乘法原理乘起来就可以了
而且显然,x确定后,y必然也会被确定
那么我们先可以欧拉筛;
求出每个数的最小质因数然后大力就好了;
#include<bits/stdc++.h>#define Ll long longusing namespace std;const int N=1e6+5;bool com[N];int pri[N],tot,g[N],cnt[N];int n,m,mo=1e9+7;Ll ans;void make(){ for(int i=2;i<=n;i++){ if(!com[i])pri[++tot]=i,g[i]=tot; for(int j=1;j<=tot;j++){ if(pri[j]*i>n)break; com[pri[j]*i]=1; g[pri[j]*i]=j; if(i%pri[j]==0)break; } }}int main(){ scanf("%d",&n); make(); for(int i=2;i<=n;i++) for(int x=i;x!=1;x/=pri[g[x]])cnt[g[x]]++; for(int i=1;i<=tot;i++)cnt[i]*=2; ans=1; for(int i=1;i<=n;i++)ans=ans*(cnt[i]+1)%mo; printf("%d",ans);}
阅读全文
2 0
- 数论——洛谷 P1445 没占到1444的愤怒
- 洛谷 P1445 没占到1444的愤怒
- 洛谷P1445:没占到1444的愤怒 (数学推导+线性筛)
- LUOGU1445——没占到1444的愤怒 数学
- 精简版—愤怒的小鸟
- 数论的题目pku2504,又是一个WA,愤怒了!
- 洛谷 P2831 愤怒的小鸟
- 洛谷p2831愤怒的小鸟
- 洛谷2831 愤怒的小鸟
- android——DOS命令(例安装愤怒的小鸟)
- Matlab游戏——愤怒的小鸟0.00001版程序
- 第七届蓝桥杯决赛——愤怒的小鸟
- 蓝桥杯决赛真题—愤怒的小鸟
- 洛谷P1445(数学+画柿子+线性筛)
- 【NOIP2016】洛谷2831 愤怒的小鸟
- 洛谷P2831 [Noip2016]愤怒的小鸟
- NOIP2016愤怒的小鸟(洛谷2831)
- 洛谷P2831 愤怒的小鸟 (NOIp2016)
- Tensorflow安装
- PMP
- 量子计算入门-第二部分
- exit函数和_exit函数之间的区别
- MongoDB一个基于分布式文件存储的数据库(介于关系数据库和非关系数据库之间的数据库)
- 数论——洛谷 P1445 没占到1444的愤怒
- sql语句中select……as的用法
- Struts2框架action传入页面list对象集合,修改对象集合数据后提交给action
- For input string:"name"
- Spring4 Mybatis3 的开发配置
- java常用数据结构---线性表---链式存储
- 小光棍数
- 75. Sort Colors
- 第二十三天H5进阶