【LG1445】樱花

题面

洛谷

题解

\[\frac 1x+\frac 1y=\frac 1{n!}\\
\frac{x+y}{xy}=\frac 1{n!}\\
n!(x+y)=xy\\
xy-n!(x+y)=0\\
(n!)^2+xy-n!(x+y)=(n!)^2\\
(x-n!)(y-n!)=(n!)^2
\]

设\(a=x-n!,b=y-n!\)

\[ab=(n!)^2
\]

枚举约数就好啦

代码

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const int Mod = 1e9 + 7;
const int MAX_N = 1e6 + 5;
void pls(int &x, int y) { x += y; if (x >= Mod) x -= Mod; }
bool is_prime[MAX_N];
int N = 1e6, prime[MAX_N], num, ans = 1;
void sieve() {
for (int i = 1; i <= N; i++) is_prime[i] = 1;
is_prime[1] = 0;
for (int i = 2; i <= N; i++) {
if (is_prime[i]) prime[++num] = i;
for (int j = 1; prime[j] * i <= N && j <= num; j++) {
is_prime[i * prime[j]] = 0;
if (!(i % prime[j])) break;
}
}
}
int main () {
sieve();
cin >> N;
for (int i = 1; i <= num; i++) {
if (prime[i] > N) break;
int cnt = 0;
for (long long j = prime[i]; j <= N; j = j * prime[i]) pls(cnt, 1ll * N / j);
pls(cnt, cnt), pls(cnt, 1);
ans = 1ll * ans * cnt % Mod;
}
printf("%d\n", ans);
return 0;
}

【LG1445】樱花的更多相关文章

  1. [BZOJ4027][HEOI2015] 兔子与樱花

    Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接 ...

  2. 玉渊潭赏樱花有感:从无到有写一个jQuery开源插件

    “玉渊潭公园樱花节”是每年樱花绽放时,都会在玉渊潭公园樱举办樱花节,游客前往玉渊潭公园,可以欣赏到20个品种2000株樱花.2016玉渊潭樱花节时间:3月中旬-4月中旬观赏最佳,2016年3月23日开 ...

  3. 【BZOJ-2721】樱花 线性筛 + 数学

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

  4. 【bzoj4027】[HEOI2015]兔子与樱花

    题目描述 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它 ...

  5. BZOJ4027: [HEOI2015]兔子与樱花 贪心

    觉得是贪心,但是一开始不太肯定...然后就A了 一个点对它的父亲的贡献就是自己的权值加儿子的个数 #include<bits/stdc++.h> using namespace std; ...

  6. 【BZOJ】【4027】【HEOI2015】兔子与樱花

    贪心 树上贪心问题……跟APIO2015练习赛的C很像啊…… 我的思路是:从叶子向上考虑,令a[x]表示x这个节点上樱花数量与儿子个数的和(即对于任意的x,都有$a[x]\leq m$)每次从儿子的a ...

  7. 樱花的季节,教大家用canvas画出飞舞的樱花树

    又到了樱花的季节,教大家使用canvas画出飞舞的樱花树效果. 废话少说,先看效果. 演示效果地址:http://suohb.com/work/tree4.htm 查看演示效果 第一步,我们先画出一棵 ...

  8. 兔子与樱花[HEOI2015]

    题目描述 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它 ...

  9. [HEOI2015]兔子与樱花

    Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接 ...

随机推荐

  1. centos 7.0 查看selinux状态|关闭|开启

    Linux在安装好之后通常SELinux都是出于默认开启的状态,开启的情况下会导致一些服务的安装不成功. 在不需要的情况下完全可以关闭掉,下面是在centos 7.0里面如何查看,关闭selinux. ...

  2. Java50道经典习题-程序21 求阶乘

    题目:求1+2!+3!+...+20!的和分析:使用递归求解 0的阶乘和1的阶乘都为1 public class Prog21{ public static void main(String[] ar ...

  3. rand7生成rand10,rand1生成rand6,rand2生成rand5(包含了rand2生成rand3)

    这种题要分两步,第一步是“插空儿”,第二步是“筛” 1.rand7生成rand10 只要是10的倍数就好 int rand10() { int num; do{ num = (rand7() - ) ...

  4. [转].NET设计模式系列文章

    最初写探索设计模式系列的时候,我只是想把它作为自己学习设计模式的读书笔记来写,可是写到今天,设计模式带给我的震撼,以及许多初学者朋友的热心支持,让我下定决心要把这个系列写完写好,那怕花上再多的时间也无 ...

  5. ERDAS IMAGINE 2014 32位 破解安装

    1.        安装Install ERDAS Foundation 2014 2.        安装ERDAS IMAGINE 2014  32位 3.        安装Intergraph ...

  6. Exp6 信息收集与漏洞扫描 20164314

    一.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 二.实践内容 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务 ...

  7. 多线程系列 - 基础篇01 - 线程基本概念 & 线程优先级 & 守护线程 60%

    1.什么是线程 将线程理解为轻量级进程,它与进程的最大的区别是: 多个线程共享一个进程资源: 对于OS的许多资源的分配和管理(如内存)通常都是进程级别的,线程只是os调度的最小单位: 相对于进程来说更 ...

  8. Visual Studio 2017 安装过程问题解决

    VS已经发布了两三天了,我也着手安装,但是折腾了两个晚上,怎么都到不了安装界面(选择模块的界面),各种尝试,各种重启,也并不顶什么卵用~ 后来经过各种查LOG,发现我电脑访问不了https://dow ...

  9. ElasticSearch优化系列六:索引过程

    大家可能会遇到索引数据比较慢的过程.其实明白索引的原理就可以有针对性的进行优化.ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用tranlog进行各节点之间的数据平衡. ...

  10. 一条常用的 Sql

    select  *   from  table  where  条件1 .... group  by  字段......  Having  条件1.....Limit 0,10; 1. 根据where ...