【BZOJ2721】[Violet 5]樱花 线性筛素数
【BZOJ2721】[Violet 5]樱花
Description
.gif)
Input
.gif)
Output
.gif)
Sample Input
2
Sample Output
3
HINT
.gif)
题解:
,所以就是求(n!)2的约数个数
又有一个结论,若n=Πpi^ei,那么n的约数个数就是Π(ei+1),所以我们只需要筛出1-n 的所有素数,再分别计算每个素数的贡献就行了。
#include <cstdio>
#include <cstring>
#include <iostream>
#define mod 1000000007
using namespace std;
typedef long long ll;
const int maxn=1000010;
bool np[maxn];
int num;
int pri[maxn/10];
ll n,ans,sum;
int main()
{
scanf("%lld",&n);
ll i,j;
for(i=2;i<=n;i++)
{
if(!np[i]) pri[++num]=i;
for(j=1;j<=num&&i*pri[j]<=n;j++)
{
np[i*pri[j]]=1;
if(i%pri[j]==0) break;
}
}
ans=1,sum=0;
for(i=1;i<=num;i++)
{
for(sum=0,j=pri[i];j<=n;j=j*pri[i]) sum=(sum+n/j)%mod;
ans=ans*(2*sum+1)%mod;
}
printf("%lld",ans);
return 0;
}
【BZOJ2721】[Violet 5]樱花 线性筛素数的更多相关文章
- 洛谷P3383 【模板】线性筛素数
P3383 [模板]线性筛素数 256通过 579提交 题目提供者HansBug 标签 难度普及- 提交 讨论 题解 最新讨论 Too many or Too few lines 样例解释有问题 ...
- 洛谷 P3383 【模板】线性筛素数
P3383 [模板]线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范 ...
- ACM-ICPC 2018 南京赛区网络预赛 J题Sum(线性筛素数)
题目链接:https://nanti.jisuanke.com/t/30999 参考自博客:https://kuangbin.github.io/2018/09/01/2018-ACM-ICPC-Na ...
- [Luogu]A%BProblem——线性筛素数与前缀和
题目描述 题目背景 题目名称是吸引你点进来的[你怎么知道的] 实际上该题还是很水的[有种不祥的预感..] 题目描述 区间质数个数 输入输出格式 输入格式: 一行两个整数 询问次数n,范围m接下来n行, ...
- 欧拉函数O(sqrt(n))与欧拉线性筛素数O(n)总结
欧拉函数: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. POJ 2407.Relatives-欧拉函数 代码O(sqrt(n)): ll euler(ll n){ ll ans=n; ...
- 洛谷 P3383 【模板】线性筛素数-线性筛素数(欧拉筛素数)O(n)基础题贴个板子备忘
P3383 [模板]线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范 ...
- leetcode 204. Count Primes(线性筛素数)
Description: Count the number of prime numbers less than a non-negative number, n. 题解:就是线性筛素数的模板题. c ...
- [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉
本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉 题目大意 给定n,m,求在1到n!内与m!互质的 ...
- C++ 线性筛素数
今天要写一篇亲民的博客了,尽力帮助一下那些不会线性筛素数或者突然忘记线性筛素数的大佬. 众所周知,一个素数的倍数肯定不是素数(废话).所以我们可以找到一个方法,普通的筛法(其实不算筛,普通的是判断一个 ...
随机推荐
- vue - check-version
描述:check-versions.js,vue-cli中检查版本的js文件 使用:
- 悟道—位IT高管20年的职场心经(读书笔记三)
悟道--一位IT高管20年的职场心经 第三章 世事洞明皆学问 职场就是你的大半个世界 是你一辈子也读不完的一大本书 想明确一个道理. 看明确一件事儿, 你就向成功迈进了一步. 1.1 "四 ...
- Vue webpack配置文件
一.代码地址 github:https://github.com/MengFangui/VueWebpackConfig 二.配置说明 1.命令 (1)npm i 安装依赖包 (2)num run d ...
- 使用history.pushState()和popstate事件实现AJAX的前进、后退功能
上一篇文章中.我们使用location.hash来模拟ajax的前进后退功能.使用location.hash存在以下几个问题: 1.使用location.hash会导致地址栏的url发生变化.用户体验 ...
- c++ vector容器的使用,序列倒叙reverse(),容器底部插入一个数值push_back()
问题:程序实现将que[i]添加到que2最后,再将que2反转输出. 例如: 输入 4 1 2 3 4 输出 4 2 1 3 #include<iostream> #include< ...
- ReferenceError: Promise is not define
尽管加入了babel-polyfill ,依然出现 [ReferenceError: Promise is not define]的问题.目前只在三星.金立手机出现这种问题.没办法,只能强行修复了. ...
- poj2184 Cow Exhibition(p-01背包的灵活运用)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:id=2184">http://poj.org/problem?id=2184 Descrip ...
- [: ==: unary operator expected 解决方法
之前在写脚本时遇到了这样的错误 “[: ==: unary operator expected” 这是由于做判断的变量值为空导致的. 谷歌出解决方案: 在变量之后加任意字符.例如,要判断变量un是否为 ...
- 李洪强-CALayer4-自定义层
自定义层,其实就是在层上绘图,一共有2种方法,下面详细介绍一下. 一.自定义层的方法1 方法描述:创建一个CALayer的子类,然后覆盖drawInContext:方法,使用Quartz2D API进 ...
- 谱聚类python实践
聚类后: # -*- coding: utf-8 -*-"""Created on 09 05 2017 @author: similarface"" ...