「BZOJ2721」「LuoguP1445」 [Violet]樱花(数论
题目背景
我很愤怒
题目描述
求方程 $\frac{1}{x}+\frac{1}{y}=\frac{1}{N!}$ 的正整数解的组数,其中$N≤10^6$。
解的组数,应模$1e9+7$。
输入输出格式
输入格式:
输入一个整数N
输出格式:
输出答案
输入输出样例
题解
看到原题面的我也很愤怒。
显然是道数论题,所以我们要去分析它的性质。
$\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}$
$\frac{x+y}{x*y}=\frac{1}{n!}$
$xy-(x+y)*(n!)=0$
$(n!)^2+xy-(x+y)*n!=(n!)^2$
$(x-n!)*(y-n!)=(n!)^2$
设$t=(n!)$
$(x-t)*(y-t)=t^2$
∵$x,y$是正整数,∴$x-t>0$且$y-t>0$
(若要小于0,则$(x-t)$和$(y-t)$中至少要有一个小于$-t$,也就是$x<0$或$y<0$,与题设不符
设$A=(x-t)$,$B=(y-t)$
则有$A*B=t^2=(n!)^2$
所以$A$的方案数就是$(n!)^2$的因子数,也就是一些质因子乘起来的结果。
所以把$(n!)^2$分解质因数,设为$(n!)^2={a_1}^{p_1}*{a_2}^{p_2}...*{a_m}^{p_m}$
则答案为$(p_1+1)*(p_2+1)*...*(p_m+1)$。
qwerta
P1445 [Violet]樱花 Accepted 代码 C++,.54KB
提交时间 -- ::
耗时/内存 86ms, 2692KB
#include<iostream>
#include<cstdio>
using namespace std;
bool sf[];
int p[];
int main()
{
int n;
scanf("%d",&n);
int tos=;
for(int i=;i<=n;++i)
if(!sf[i])
{
p[++tos]=;//因为是(n!)的平方,所以次数+=2
for(int j=;i*j<=n;++j)
{
int x=i*j;
sf[x]=;
while(x%i==)
{
p[tos]+=;
x/=i;
}
}
}
/*
for(int i=2;i<=n;++i)
{
int x=i;
for(int j=1;j<=tos&&x>1;++j)
{
while(x%st[j]==0)
{
p[j]+=2;
x/=st[j];
}
}
}
*/注释掉的是暴力分解2~n的质因数,亲测T上天
long long ans=,mod=1e9+;
for(int i=;i<=tos;++i)
ans=(ans*(p[i]+))%mod;//统计答案
cout<<ans;
return ;
}
「BZOJ2721」「LuoguP1445」 [Violet]樱花(数论的更多相关文章
- Luogu1445 [Violet]樱花 ---- 数论优化
Luogu1445 [Violet]樱花 一句话题意:(本来就是一句话的) 求方程 $\frac{1}{X} + \frac{1}{Y} = \frac{1}{N!}$ 的正整数解的组数,其中$N \ ...
- BZOJ2721或洛谷1445 [Violet]樱花
BZOJ原题链接 洛谷原题链接 其实推导很简单,只不过我太菜了想不到...又双叒叕去看题解 简单写下推导过程. 原方程:\[\dfrac{1}{x} + \dfrac{1}{y} = \dfrac{1 ...
- 众安「尊享e生」果真牛的不可一世么?
近日,具有互联网基因的.亏损大户(成立三年基本没盈利,今年二季度末亏损近4亿,你能指望它多厉害?).财产险公司—众安推出“尊享e生”中高端医疗保险(财险公司经营中高端医疗真的很厉害?真的是中高端医疗险 ...
- XCActionBar 「Xcode 中的 Alfred」
下载地址:https://github.com/pdcgomes/XCActionBar 基本命令: (1)「command+shift+8」或者双击「command」键可以打开「动作输入框窗口」 ( ...
- Git 执行 「fork 出来的仓库」和「最新版本的原仓库」内容同步更新
当我们在 GitHub 上 fork 出一个仓库后,如果原仓库更新了,此时怎样才能保证我们 fork 出来的仓库和原仓库内容一致呢?我们一般关注的是仓库的 master(主干分支)的内容,通过以下步骤 ...
- 【翻译】西川善司的「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,后篇
http://www.4gamer.net/games/216/G021678/20140714079/ 连载第2回的本回, Arc System Works开发的格斗游戏「GUILTY G ...
- 翻译「C++ Rvalue References Explained」C++右值引用详解 Part1:概述
本文系对「C++ Rvalue References Explained」 该文的翻译,原文作者:Thomas Becker. 该文较详细的解释了C++11右值引用的作用和出现的意义,也同时被Scot ...
- 「Windows MFC 」「Edit Control」 控件
「Windows MFC 」「Edit Control」 控件
- 苹果搜索广告后台大揭秘,最全最细致详解,手把手设置教程「后附官方视频」-b
WWDC2016 搜索广告分会视频和 PPT 发布了,ASO100 带开发者第一时间了解 Search Ads 后台设置(文末有原声视频). 首先介绍一下搜索广告的模式和竞价规则 广告模式为 CPT( ...
随机推荐
- 图片压缩CompressUtil解析
CompressUtil 流程图: CompressUtil 类 具体解释 public class CompressUtil { /** * 终于封装的压缩方法 * @param imgPath * ...
- Cocostudio学习笔记(5) Text + TextAtlas + TextBMFont
下午一群大学生到我们公司參观学习,搞得我好紧张.于是滔滔不绝的给他们介绍了怎样开发一款游戏... 今晚研究的控件就是三个label:Text,TextAtlas,TextBMFont 我先在cocos ...
- 安装部署Solrcloud
实验说明: 三台虚拟机做solrcloud集群 安装solr前请确保jdk .tomcat.zookeeper已安装好,否则无法启动 三台虚拟机I ...
- JS——特效秀
0.凛冬将至,用几款特效暖暖身 ①.tab图片切换: ②.索引图片切换: ③.统计图: ④.滚动条分页: 1.Canvas跳动彩球时间动画特效
- spring4 maven3 mybatis
1 新建maven工程 http://www.cnblogs.com/quanyongan/archive/2013/04/21/3033838.html 如果在第三步中出现错误,比如类似: Coul ...
- EF Core 日志跟踪sql语句
EF Core 日志跟踪sql语句 官方文档链接:https://docs.microsoft.com/en-us/ef/core/miscellaneous/logging 1.新增自定义ILogg ...
- EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错
EasyPlayerPro主要基于ffmpeg进行开发,在EasyPlayerPro开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易 ...
- jvm堆查看
jps查看jvm的进程号 jmap -histo:live [进程号] >log.txt dump jvm堆.
- d[k]=eval(k)
lk = ['oid', 'timestamp', 'signals', 'area', 'building', 'city', 'name', 'floor', 'industry', 'regio ...
- ubuntu安装opencv(自己编译)
如果只需要python的,只需pip install opencv-python,然后apt-get一下下面第一点的东东. 1/ sudo apt-get install build-essentia ...