洛谷P1445(数学+画柿子+线性筛)
来源:互联网 发布:天猫抢购软件 编辑:程序博客网 时间:2024/04/29 17:42
这题kscla课间给我的,我依然一天想不出来。
题面
题意:给定n,求有多少对正整数(x,y)满足
一步一步化简,有
接着
然后掏出祖传的初中数学——因式分解,变成了
由于x,y都是正整数,故问题变成了
若将
则
根据现学kscla的套路,我们可以枚举质数i,i在n!中出现的次数为
然后就线性筛把素数找出来就搞定了,嘟嘟噜!
kscla大佬自己想到了一个炫酷的做法,点这里
#include <iostream>#include <fstream>#include <algorithm>#include <cmath>#include <ctime>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define mmst(a, b) memset(a, b, sizeof(a))#define mmcp(a, b) memcpy(a, b, sizeof(b))typedef long long LL;const int N=1001000;const LL mo=1000000007;LL n;LL prime[N],num;bool b[N];LL ans=1ll;int main(){ cin>>n; for(LL i=2;i<=n;i++) { if(!b[i]) prime[++num]=i; for(int j=1;j<=num&&prime[j]*i<=n;j++) { b[i*prime[j]]=1; if(i%prime[j]==0) break; } } for(int i=1;i<=num;i++) { LL k=0; LL tu=prime[i],hy=prime[i]; while(tu<=n) { k=(k+n/tu)%mo; tu=tu*hy; } ans=ans*(2*k+1)%mo; } cout<<ans<<endl; return 0;}
阅读全文
0 0
- 洛谷P1445(数学+画柿子+线性筛)
- 洛谷P1445:没占到1444的愤怒 (数学推导+线性筛)
- bzoj4555(数学推导+画柿子+NTT)
- cogs2287(组合数学+画柿子+NTT)
- 洛谷3678:简单的数学题(画柿子+杜教筛)
- [BZOJ2742]-[HEOI2012]Akai的数学作业-画柿子
- 洛谷 P1445 没占到1444的愤怒
- bzoj3456/jzoj3303:城市规划(画柿子+多项式逆元+NTT)
- 数论——洛谷 P1445 没占到1444的愤怒
- 数学,线性筛——洛谷P1390 公约数的和
- smoj2009(线性筛+数学求卡特兰数)
- 程序员是这样炼成的(2)-选择成熟的柿子还是生柿子
- [BZOJ4872]-[Shoi2017]分手是祝愿-期望DP+画柿子
- 摘柿子
- 校内互测 数学作业 (线性筛求约数个数)
- 【bzoj 十连测】[noip2016十连测第八场]Problem A: 神炎皇(数学相关:线性筛)
- bzoj 2813: 奇妙的Fibonacci 数学+线性筛
- CF402D Upgrading Array(贪心+数学+线性素数筛)
- CF B. Working out dp 递推
- 28、数据结构笔记之二十八数组之矩阵
- zoj-2110-Tempter of the Bone-DFS-剪枝-java
- swift学习记录(1)两种textfield隐藏键盘的方法
- springCloud(八)
- 洛谷P1445(数学+画柿子+线性筛)
- JZOJ 5377. 【NOIP2017提高A组模拟9.19】开拓
- 总线基础--USB
- hdu 6208 hash字符串水题
- 《统计学习方法》-第二章-感知机
- Servlet的三种开发方法
- selenium之开发登录脚本_maven版本二(加入Properties)
- Git 连接 GitHub
- 后缀自动机的一些简单题目