neu 1694 Primorial vs LCM 数论
1694: Primorial vs LCM
时间限制: 4 Sec 内存限制: 128 MB
[提交][状态][讨论版]
题目描述
输入
输出
样例输入
10
2
3
4
5
6
7
8
9
10
1000
样例输出
Case 1: 1
Case 2: 1
Case 3: 2
Case 4: 2
Case 5: 2
Case 6: 2
Case 7: 4
Case 8: 12
Case 9: 12
Case 10: 744593350
思路:显然是求小于一个素数的n次方小于N的贡献为那个素数的n-1次方;
因为一次方是没用的,所以素数打表到sqrt(e14);
求出前缀积,二分查找位置;
注意超内存跟,得到贡献那里必须要double;
#include<bits/stdc++.h>
using namespace std;
#define ll unsigned long long
#define mod 1000000007
#define inf 100000000000005
#define MAXN 10000010
//#pragma comment(linker, "/STACK:102400000,102400000")
int scan()
{
int res = , ch ;
while( !( ( ch = getchar() ) >= '' && ch <= '' ) )
{
if( ch == EOF ) return << ;
}
res = ch - '' ;
while( ( ch = getchar() ) >= '' && ch <= '' )
res = res * + ( ch - '' ) ;
return res ;
}
vector<pair<ll ,ll > >v;
vector <ll>ans;
ll prime[MAXN],cnt;
bool vis[MAXN];
void Prime()
{
cnt=;
memset(vis,,sizeof(vis));
v.push_back(make_pair(1LL,1LL));
for(ll i=;i<MAXN;i++)
{
if(!vis[i])
{
prime[cnt++]=i;
for(double j=(double)i*i;j<inf;j*=i)
v.push_back(make_pair((ll)j,i));
}
for(ll j=;j<cnt&&i*prime[j]<MAXN;j++)
{
vis[i*prime[j]]=;
if(i%prime[j]==)
break;
}
}
sort(v.begin(),v.end());
ans.push_back(1LL);
for(int i=;i<v.size();i++)
ans.push_back((ans[i-]*v[i].second)%mod);
}
int main()
{
ll x,y,z,i,t;
Prime();
int T,cs=;
scanf("%d",&T);
while(T--)
{
scanf("%llu",&x);
ll st=;
ll en=v.size()-;
while(st<en)
{
ll mid=(st+en)/;
if(v[mid].first>x)
en=mid;
else
st=mid+;
}
if(x>=v[st].first)
printf("Case %d: %llu\n",cs++,ans[st]%mod);
else if(x>=v[st-].first)
printf("Case %d: %llu\n",cs++,ans[st-]%mod);
}
return ;
}
neu 1694 Primorial vs LCM 数论的更多相关文章
- HDU 4497 GCD and LCM (数论)
题意:三个数x, y, z. 给出最大公倍数g和最小公约数l.求满足条件的x,y,z有多少组. 题解:设n=g/l n=p1^n1*p2^n2...pn^nk (分解质因数 那么x = p1^x1 * ...
- 2015多校第8场 HDU 5382 GCD?LCM! 数论公式推导
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5382 题意:函数lcm(a,b):求两整数a,b的最小公倍数:函数gcd(a,b):求两整数a,b的最 ...
- UVA11388 GCD LCM(数论)
题目链接. 题意: 给定两个数,一个G,一个L,找出两个数a,b(a<=b),使得这两个数的最大公约数为G,最小公倍数为L,且(a最小). 分析: 当a,b存在时,a一定为G. 自己证了一下,数 ...
- 简单数论总结1——gcd与lcm
并不重要的前言 最近学习了一些数论知识,但是自己都不懂自己到底学了些什么qwq,在这里把知识一并总结起来. 也不是很难的gcd和lcm 显而易见的结论: 为什么呢? 根据唯一分解定理: a和b都可被分 ...
- 数论入门2——gcd,lcm,exGCD,欧拉定理,乘法逆元,(ex)CRT,(ex)BSGS,(ex)Lucas,原根,Miller-Rabin,Pollard-Rho
数论入门2 另一种类型的数论... GCD,LCM 定义\(gcd(a,b)\)为a和b的最大公约数,\(lcm(a,b)\)为a和b的最小公倍数,则有: 将a和b分解质因数为\(a=p1^{a1}p ...
- Pairs Forming LCM (LightOJ - 1236)【简单数论】【质因数分解】【算术基本定理】(未完成)
Pairs Forming LCM (LightOJ - 1236)[简单数论][质因数分解][算术基本定理](未完成) 标签: 入门讲座题解 数论 题目描述 Find the result of t ...
- Least Common Multiple (HDU - 1019) 【简单数论】【LCM】【欧几里得辗转相除法】
Least Common Multiple (HDU - 1019) [简单数论][LCM][欧几里得辗转相除法] 标签: 入门讲座题解 数论 题目描述 The least common multip ...
- GCD and LCM HDU 4497 数论
GCD and LCM HDU 4497 数论 题意 给你三个数x,y,z的最大公约数G和最小公倍数L,问你三个数字一共有几种可能.注意123和321算两种情况. 解题思路 L代表LCM,G代表GCD ...
- [HDOJ5584]LCM Walk(数论,规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5584 给一个坐标(ex, ey),问是由哪几个点走过来的.走的规则是x或者y加上他们的最小公倍数lcm ...
随机推荐
- django的serializers
views.py # get所需的 from snippets.serializers import SnippetSerializer from rest_framework.views impor ...
- oj2892(字典树)
一改时间以后WA了,我就知道这题是考字典树,可惜代码怎么也不会敲了,郁闷. #include <stdio.h>#include <string.h>#include < ...
- 使用node.js 进行服务器端JavaScript编程
node.js 入门 node.js 可以运行在 Linux.Windows 和 Macintosh 等主流的操作系统上.在 Windows 平台上运行 node.js ...
- [LeetCode] 183. Customers Who Never Order_Easy tag: SQL
Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL qu ...
- [LeetCode] 675. Cut Off Trees for Golf Event_Hard tag: BFS
You are asked to cut off trees in a forest for a golf event. The forest is represented as a non-nega ...
- try except else
try except 语句还有一个可选的else子句,如果使用这个子句,那么必须放在所有的except子句之后.这个子句将在try子句没有发生任何异常的时候执行.例如: for arg in sys. ...
- Firefox及我使用的firefox扩展
什么数字安全浏览器,什么极速浏览器,现在都取代不了Firefox在我心中的位置.你想想,一款浏览器老是弹呀弹的,时不时问我换不换桌面,问我请不清理垃圾,真是的,这些关它浏览器鸟事. 喜欢Firefox ...
- Linux命令: 向文件写内容,编辑文件,保存文件,查看文件,不保存文件
1.找到要编辑的文件 2.敲 vi t1.txt ,显示文件内容(vim命令) 3.敲 i,最下面变成INSERT 4.编辑自己想要的内容 5a.敲ESC:wq回车 5b.如果不想保存文件在时敲ES ...
- [转载]ASP.NET-----Repeater数据控件的用法总结
一.Repeater控件的用法流程及实例: 1.首先建立一个网站,新建一个网页index.aspx. 2.添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中. 3 ...
- djando 项目用django自己服务器在局域网中被访问设置
这是一个相当操蛋的东西,害老子搞了那么久,其实嘞,也用不着那么恨,都是自己做的孽!! -----------------人工分割线----------------------------------- ...