洛谷P3601签到题(欧拉函数)
题目背景
这是一道签到题!
建议做题之前仔细阅读数据范围!
题目描述
我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数。
这题作为签到题,给出l和r,要求求。
输入输出格式
输入格式:
一行两个整数,l、r。
输出格式:
一行一个整数表示答案。
输入输出样例
233 2333
1056499
2333333333 2333666666
153096296
说明
对于30%的数据,。
对于60%的数据,。
对于100%的数据,,
。
qiandao(x)=x-phi(x),转化为求欧拉函数,而x只可能有一个大于n^0.5的素因子,所以只要求到n^0.5的素数就行了。还是批量处理欧拉函数的值,否则TLE啊。
program rrr(input,output);
const
cs=;
var
a:array[..]of boolean;
f,c:array[..]of int64;
i,j,n:longint;
l,r,k,ans:int64;
begin
assign(input,'r.in');assign(output,'r.out');reset(input);rewrite(output);
readln(l,r);
n:=trunc(sqrt(r));
fillchar(a,sizeof(a),true);
k:=l;while k<=r do begin f[k-l]:=k;c[k-l]:=k;inc(k); end;
for i:= to n do
if a[i] then
begin
k:=l div i*i;if k<l then k:=k+i;
while k<=r do
begin
f[k-l]:=f[k-l] div i*(i-);
while c[k-l] mod i= do c[k-l]:=c[k-l] div i;
k:=k+i;
end;
j:=i<<;while j<=n do begin a[j]:=false;j:=j+i; end;
end;
k:=l;while k<=r do begin if c[k-l]> then f[k-l]:=f[k-l] div c[k-l]*(c[k-l]-);inc(k); end;
ans:=;
k:=l;while k<=r do begin ans:=(ans+k-f[k-l]) mod cs;inc(k); end;
write(ans);
close(input);close(output);
end.
洛谷P3601签到题(欧拉函数)的更多相关文章
- A 洛谷 P3601 签到题 [欧拉函数 质因子分解]
题目背景 这是一道签到题! 建议做题之前仔细阅读数据范围! 题目描述 我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数. 这题作为签到题,给出l和r,要求求. 输入输出格式 ...
- 洛谷 P3601 签到题
https://www.luogu.org/problemnew/show/P3601 一道关于欧拉函数的题. 读完题目以后我们知道所谓的$aindao(x)=x- \phi (x) $. 对于x小的 ...
- 洛谷P3601 签到题
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- 洛谷P2158 [SDOI2008]仪仗队 欧拉函数的应用
https://www.luogu.org/problem/P2158 #include<bits/stdc++.h> #define int long long using namesp ...
- 洛谷P3764 签到题 III
题目背景 pj组选手zzq近日学会了求最大公约数的辗转相除法. 题目描述 类比辗转相除法,zzq定义了一个奇怪的函数: typedef long long ll; ll f(ll a,ll b) { ...
- 洛谷3794 签到题IV
题目描述 给定一个长度为n的序列$a_1,a_2...a_n$,其中每个数都是正整数. 你需要找出有多少对(i,j),$1 \leq i \leq j \leq n$且$gcd(a_i,a_{i+1} ...
- 【poj2478-Farey Sequence】递推求欧拉函数-欧拉函数的几个性质和推论
http://poj.org/problem?id=2478 题意:给定一个数x,求<=x的数的欧拉函数值的和.(x<=10^6) 题解:数据范围比较大,像poj1248一样的做法是不可行 ...
- 洛谷UVA12995 Farey Sequence(欧拉函数,线性筛)
洛谷题目传送门 分数其实就是一个幌子,实际上就是求互质数对的个数(除开一个特例\((1,1)\)).因为保证了\(a<b\),所以我们把要求的东西拆开看,不就是\(\sum_{i=2}^n\ph ...
- 洛谷P2568 GCD (欧拉函数/莫比乌斯反演)
P2568 GCD 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 输入 ...
随机推荐
- 20155325 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结 封装就是将数据与相关行为包装在一起以实现信息就隐藏. 多态是指不同的类对象调用同一个签名的成员方法时将执行不同代码的现象.多态是面向对象程序设计的灵活性和可扩展性的基础. 以封装为基 ...
- SublimeText 改变 tab的距离
view -> Indentation -> Tab width ……
- ES6 localStorage 类库
无意中看到的,记录下. 用到了es6语法.支持在js中写构造函数 class CovLocalDB { constructor (name) { this.LS = null this.name = ...
- 【MYSQL权限】数据库权限部署
背景:没有划分数据库权限,所有人共用一个账号 本人公司现有的数据库账号分布情况: 所有人用一个账号(包括程序里面访问数据库的的配置文件里面的账号),该账号除删库权限,其他权限大部分都有. 这样非数据库 ...
- lua 中的 loadfile、dofile和require的调用
文件 hello.lua print("hello") function say() print("hello world") end 1. 介绍: dofil ...
- 求两个字符串的最长公共子串——Java实现
要求:求两个字符串的最长公共子串,如“abcdefg”和“adefgwgeweg”的最长公共子串为“defg”(子串必须是连续的) public class Main03{ // 求解两个字符号的最长 ...
- PostgreSQL9.6主从配置
参考文档: 备机日志传送:https://www.postgresql.org/docs/9.6/static/warm-standby.html 英文文档:https://www.postgresq ...
- 剑指offer-数值的整数方
数值的整数方 一.问题描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 二.算法思路 按照指数Exp的情况进行讨论. Exp> ...
- AJAX学习2
作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不正确的地方,欢迎批评指正. 本文学习内容:https://www. ...
- 3D打印产业链全景图