樱花

link

不要看原题面,不然你会被情侣虐成狗。看我的简述就行。

题面

人话 :
求方程 1 x + 1 y = 1 n ! \frac{1}{x}+\frac{1}{y}=\frac{1}{n!} x1​+y1​=n!1​ 的正整数解,答案对 1 0 9 + 7 10^9+7 109+7 取模。其中 n ∈ [ 1 , 1 0 6 ] n\in[1,10^6] n∈[1,106] 。

做法

注:以下所有 x , y , n ∈ Z + x,y,n\in Z^+ x,y,n∈Z+
我们先来对式子处理一下。可变为:
n ! ( x + y ) = x y n!(x+y)=xy n!(x+y)=xy
但我们又知道 求得 x , y x,y x,y 其中之一就可以求出这一组正整数解,所以我们可以用函数的形式来表示出来:
y ( x − n ! ) = n ! x y(x-n!)=n!x y(x−n!)=n!x
还可以变 :
y = n ! x x − n ! y=\frac{n!x}{x-n!} y=x−n!n!x​
但是这样看不出来什么,我们可以再化简,除去分子上的 x x x ,可得:
y = n ! + ( n ! ) 2 x − n ! y=n!+\frac{(n!)^2}{x-n!} y=n!+x−n!(n!)2​
如果要有正整数解,那么需要满足:
{ x − n ! > 0 x − n ! ∣ ( n ! ) 2 \begin{cases}x-n!>0\\x-n!\mid (n!)^2\end{cases} {x−n!>0x−n!∣(n!)2​
如果我们求得满足上面式子 x − n ! x-n! x−n! 的个数,那么我们就求得了 x x x 的个数,我们也就求得了 ( x , y ) (x,y) (x,y) 正整数解的个数。
我们又知道 x − n ! ∣ ( n ! ) 2 x-n!\mid (n!)^2 x−n!∣(n!)2 所以说我们就是要求 ( n ! ) 2 (n!)^2 (n!)2 的约数个数,直接套公式即可:
设 c c c 为 ( n ! ) 2 (n!)^2 (n!)2 的约数个数,满足:
( n ! ) 2 = ∑ i = 1 k p i c i (n!)^2=\sum\limits_{i=1}^{k}{{p_i}^{c_i}} (n!)2=i=1∑k​pi​ci​ 即可。

代码

#include<cstdio>
typedef long long LL;
#define NUMBER1 1000000
#define P(A) A=-~A
#define fione_i(begin,end) for(register int i=begin;i<=end;P(i))
const LL mod=1e9+7;
int prime[NUMBER1+5],n,cnt(0);
bool pd[NUMBER1+5];
inline void PRIME(){fione_i(2,n){if(!pd[i])prime[++cnt]=i;for(int j=1;prime[j]*i<=n;P(j)){pd[prime[j]*i]=true;if(!(i%prime[j]))break;}}
}
signed main(){LL p;scanf("%d",&n);PRIME();LL ans(1);fione_i(1,cnt){p=0;for(int j=n;j;j/=prime[i])p+=j/prime[i];ans=ans*((p<<1)+1)%mod;}printf("%lld",ans);return 0;
}

luogu1445 樱花相关推荐

  1. 1624 Violet 5 樱花(Bzoj2721 LOJ10202 LUOGU1445 提高+/省选-) 交叉相乘 阶乘质因数分解技巧 约数个数计算

    总目录 在线测评地址(ybt) 在线测评地址(LOJ) 在线测评地址(LUOGU) 1.交叉相乘 阶乘质因数分解技巧 约数个数计算 ybt 通过 测试点 结果 内存 时间 测试点1 答案正确 604K ...

  2. ikbc机械键盘打字出现重复_抖音开啤酒小姐姐同款面具,ikbc白无垢樱花机械键盘开箱体验...

    现如今机械键盘同质化越来越严重,就跟智能手机领域一样,不看看背面的LOGO的话,还真没法认出是哪家的.目前,对于绝大多数人来说,还是属于颜值党的,总之,帅就完事了.外设圈很小,愿意掏几百块买一把键盘的 ...

  3. 在plsql里面怎么去掉空行_盐渍樱花怎么做?详细做法告诉您,一年都不会坏,学会再也不用买...

    盐渍樱花怎么做?详细做法告诉您,一年都不会坏,赶紧收藏学会它!樱花季说的就是现在,虽然到了飘落的季节,但是还是到处可见的樱花朵朵.俗话说:花无百日红.真的是啊,每年的三四月是最美丽的季节,到处花儿朵朵 ...

  4. 武大学生用python敲出樱花开放(附视频源码)

    来源:凹凸数据 整理:朱小五 本文约1000字,建议阅读5分钟 武大信管院的朱永春同学,用python敲出樱花开放. 今年的武汉大学没有了往年的人山人海,但是美丽的樱花依然在春天里独自绽放. 武汉大学 ...

  5. 用python画动态樱花_利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白...

    利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白 此处感谢知乎大佬 小白练手 练习一下比较流行的turtle(海龟库) 画一棵漂亮的樱花树,效果如下: ps: 是动态 ...

  6. python樱花树画法图片_用Python敲出樱花绽放 | 附代码

    今年武汉大学的樱花依然开得灿烂,但受疫情影响,少了很多去赏花的朋友. (图源 武汉大学微博) 为了让大家看到樱花开放,各路高手纷纷亮出了自己的绝技.要说最秀的,当属用Python让樱花开放. 一时间, ...

  7. python turtle画彩虹-python绘制樱花,彩虹旋等

    1.樱花树 效果:图一 樱花树 代码: import turtle import random from turtle import * from time import sleep # 画樱花的躯干 ...

  8. 用python画烟花-python 实现漂亮的烟花,樱花,玫瑰花

    //两个canvas var tree = document.getElementById("tree"); tree.width = window.innerWidth; tre ...

  9. python turtle画圣诞树-Python画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)

    作者:草yang年华 来源:CSDN博客 最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确 ...

最新文章

  1. 数学之美系列14(转帖)
  2. 《LeetCode力扣练习》第121题 买卖股票的最佳时机 Java
  3. Java 开发提升十倍生产力:idea 远程一键部署 springboot 到 Docker
  4. mysql将权限分为几个层级_MySQL多层级结构-区域表使用树详解
  5. 使用tesseract-ocr破解网站验证码
  6. 自己移植Asterisk1.8到OpenWRT下
  7. liunx立即关机命令是什么?
  8. 分时问候并显示不用图片案例
  9. 联邦学习在光大科技的落地应用
  10. VTK读取rawdata
  11. 《Sanmill 直棋游戏》创作之旅
  12. mysql监控工具:zabbix+MPM(Performance Monitor for MySQL)
  13. 如何在ppt中生成柱状图_在PPT中怎么制作图表?PPT制作图表的方法
  14. 应重视物联网的负面影响
  15. rman的conver方法拷贝ASM文件
  16. “壮士断腕”无人驾驶能够拯救苹果的内忧外困吗?
  17. [MySQL]超市购物管理系统
  18. 小程序中的axio——flyio的使用
  19. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第02章 获得文本语料和词汇资源
  20. OSDU(Open Group Open Subsurface Data Universe)数据平台研究笔记

热门文章

  1. 12个关于移动 H5 开发的采坑问题汇总
  2. 命令式编程与函数式编程
  3. 如何在AidLearning中快速开发人脸识别APP
  4. 破解root用户密码
  5. python结巴分词 换行_python中文分词,使用结巴分词对python进行分词
  6. 计算机关了 屏幕没关 怎么设置,怎么设置电脑不关屏幕?
  7. 中心计算机集中控制方式必须方式,DS6-K5区域计算机联锁.ppt
  8. 字符集与编码五之代码单元及length方法
  9. 分布java开发_java分布服务:我打赌,没人可以这么精短的讲出分布服务架构吧...
  10. p5js码绘笔刷如何嵌入到Web前端(python+Django框架)