[Violet 5]樱花

Time Limit: 5 Sec  Memory Limit: 128 MB
Submit: 671  Solved: 395
[Submit][Status][Discuss]

Description

Input

Output

Sample Input

 

Sample Output

 

HINT

题解:

   上面废话许多。

  

  设n!=z,y=z+d

  1/x+1/y=1/z

  1/x+1/(z+d)=1/z

  (x+z+d)/(x*z+dx)=1/z

  z(x+z+d)=x*z+dx

  z^2+dz=dx

  x=z^2/d+z 

  发现就是求z^2的约数个数

很有道理

 #include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm> #define mod 1000000007
#define ll long long
#define N 1000007
using namespace std;
int read()
{
int x=;char ch=getchar();
while(ch<''||ch>'')ch=getchar();
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x;
} int n,cnt;
ll ans=;
int pri[N],mn[N],num[N];
bool flag[N]; void getpri()
{
for(int i=;i<=n;i++)
{
if(!flag[i])pri[++cnt]=i,mn[i]=cnt;
for(int j=;pri[j]*i<=n&&j<=cnt;j++)
{
flag[pri[j]*i]=;mn[pri[j]*i]=j;
if(i%pri[j]==)break;
}
}
}
void cal(int x)
{
while(x!=)
{
num[mn[x]]++;
x/=pri[mn[x]];
}
}
int main()
{
n=read();
getpri();
for(int i=;i<=n;i++)cal(i);
for(int i=;i<=cnt;i++)
ans=ans*(num[i]*+)%mod;
printf("%lld\n",ans);
}

bzoj 2721[Violet 5]樱花 数论的更多相关文章

  1. [BZOJ 2721] [Violet 5] 樱花 【线性筛】

    题目链接:BZOJ - 2721 题目分析 题目大意:求出 1 / x + 1 / y = 1 / n! 的正整数解 (x, y) 的个数. 显然,要求出正整数解 (x, y) 的个数,只要求出使 y ...

  2. BZOJ 2721: [Violet 5]樱花

    (X-N)(Y-N)=N^2 #include<cstdio> using namespace std; const int mod=1e9+7; int n,cnt,isprime[10 ...

  3. 【BZOJ 2721】 2721: [Violet 5]樱花 (筛)

    2721: [Violet 5]樱花 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 599  Solved: 354 Description Input ...

  4. 2721: [Violet 5]樱花

    2721: [Violet 5]樱花 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 547  Solved: 322[Submit][Status][D ...

  5. 【bzoj2721】[Violet 5]樱花 数论

    题目描述 输入 输出 样例输入 2 样例输出 3 题解 数论 设1/x+1/y=1/m,那么xm+ym=xy,所以xy-xm-ym+m^2=m^2,所以(x-m)(y-m)=m^2. 所以解的数量就是 ...

  6. 2721: [Violet 5]樱花|约数个数

    先跪一发题目背景QAQ 显然x,y>n!,然后能够设y=n!+d 原式子能够化简成 x=n!2d+n! 那么解的个数也就是n!的因子个数,然后线性筛随便搞一搞 #include<cstdi ...

  7. 二分+最短路判定 BZOJ 2709: [Violet 1]迷宫花园

    BZOJ 2709: [Violet 1]迷宫花园 Sample Input 5 ######### # # # # # # # #S# # ##### # # ## # # # ### ### ## ...

  8. BZOJ_2721_[Violet 5]樱花_数学

    BZOJ_2721_[Violet 5]樱花_数学 Description Input Output $\frac{1}{x}+\frac{1}{y}=\frac{1}{m}$ $xm+ym=xy$ ...

  9. 【BZOJ2721】[Violet 5]樱花 线性筛素数

    [BZOJ2721][Violet 5]樱花 Description Input Output Sample Input 2 Sample Output 3 HINT 题解:,所以就是求(n!)2的约 ...

随机推荐

  1. C#的WinForm中Label透明一例

    很久之前開發的一個MIS系統,里面有個登錄界面,採用了PictureBox做背景,上面放了一些Label,試了很多方面不能實現透明,如下圖: 這次重新啟用該系統,看了一下原因,很簡單,原來Label的 ...

  2. expect下命令不能解析通配符*的问题

    曾遇到这样一段代码:(Bash脚本) 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/expect -f set HOST "192.168.102.1" ...

  3. Android Studio V4 V7 包冲突的问题

    最近被包冲突的问题搞奔溃了,特别是V4,V7 V4和V7包冲突的解决方式就是!版本要一致!! 比如我的一个项目中应用本来是这样引用包的 compile 'com.android.support:sup ...

  4. Oracle创建用户及权限设置

    oracle用户创建及权限设置 权限: create session create table unlimited tablespace connect resource dba 例: #sqlplu ...

  5. Devops 技术图谱

  6. Django 你需要了解的入门操作

    创建一个django project   (我的版本是1.11.11) django-admin startproject mysite cd mysite 当前目录下会生成mysite的工程,目录结 ...

  7. Element UI tree 回显问题

    Part.1 问题 写项目时遇到一个棘手的问题,在做关于权限功能时,点击修改需要显示角色原本对应的权限.涉及到了 tree 组件回显,但是有一个很尴尬的问题:tree 组件只要父节点选中,那么子节点就 ...

  8. New Arrival MB SD Connect Compact 5 (MB SD C4) Star Diagnosis

    MB SD Connect Compact 5 has same function as SD C4 but with new design, support both cars and trucks ...

  9. centos nginx uwsgi django

    doc link uwsgi link video link

  10. Node.js实现简单的爬取

    学习[node.js]也有几天时间了,所以打算写着练练手:索然我作为一个后端的选手,写起来还有那么一丝熟悉的感觉.emmm~~  ‘货’不多讲 ,开搞........ 首先是依赖选择: 代码块如下: ...