[luogu3601]签到题
[luogu3601]签到题
luogu
求$$\sum_{i=l}^ri-\phi(i)$$
一个朴素的想法是枚举l~r,根号求\(\phi\),显然这样是\((r-l)\sqrt r\),时间无法承受
考虑怎么优化求\(\phi\)的时间,
我们知道对于一个数x,超过\(\sqrt x\)的质因子最多只有一个
我们考虑对[l,r]的数开vector记录质因子
我们可以线筛求出\(\sqrt r\)以内的质数,枚举它们的倍数放到相应的[l,r]的vector中
再枚举l~r求\(\phi\)
这样时间和空间都是\((r-l)logr\)
#define ll long long
#include<bits/stdc++.h>
using namespace std;
const int _=1000005;
int mx,cnt,p[100000];
ll l,r,ans;
bool vis[_];
vector<int>v[_];
int main(){
cin>>l>>r;mx=sqrt(r);
for(int i=2;i<=mx;i++){
if(!vis[i])p[++cnt]=i;
for(int j=1;j<=cnt&&p[j]*i<=mx;j++){
vis[p[j]*i]=1;if(i%p[j]==0)break;
}
}
for(int i=1;i<=cnt;i++){
ll k=ceil(1.0*l/p[i])*p[i];
while(k<=r)v[k-l].push_back(p[i]),k+=p[i];
}
for(int i=0;i<=r-l;i++){
ll x=i+l,phi=i+l;
for(int j=0,sz=v[i].size();j<sz;j++){
int k=v[i][j];
phi/=k;phi*=k-1;
while(x%k==0)x/=k;
}
if(x>1)phi/=x,phi*=x-1;
ans=(ans+i+l-phi)%666623333;
}
cout<<ans<<endl;
return 0;
}
[luogu3601]签到题的更多相关文章
- A 洛谷 P3601 签到题 [欧拉函数 质因子分解]
题目背景 这是一道签到题! 建议做题之前仔细阅读数据范围! 题目描述 我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数. 这题作为签到题,给出l和r,要求求. 输入输出格式 ...
- fjwc2019 D3T1 签到题 (贪心)
#184. 「2019冬令营提高组」签到题 每次询问接近O(1).......考虑贪心 怎么贪心呢? 对于相邻的两个数,我们要保证异或x后单调不降 我们找到两个数二进制上最高的相异位 当左边的数相异位 ...
- CTF-练习平台-WEB之 签到题
一.签到题 根据提示直接加群在群公告里就能找到~
- 洛谷P3601签到题(欧拉函数)
题目背景 这是一道签到题! 建议做题之前仔细阅读数据范围! 题目描述 我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数. 这题作为签到题,给出l和r,要求求. 输入输出格式 ...
- 【洛谷九月月赛T1】签到题(bsgs)(快速乘)
说好的签到题呢qwq....怎么我签到题都不会啊qwq 之后看了bsgs才发现貌似不是那么那么难fake!!什么东西... 先贴上部分分做法(也就是枚举1的个数,然后每一步都进行取模(这和最后取模结果 ...
- WEB新手之签到题
写一写web新手赛的题. 这是签到题,开始时需要耐心等待页面中字母全部出现. 字母全部出现后,会跳转到另一个界面,如上图所示.F12没什么特别的地方,这题应该有点难度. 按往常一样,先抓包. 按英文提 ...
- EOJ Monthly 2019.1 唐纳德先生与这真的是签到题吗 【数学+暴力+multiset】
传送门:https://acm.ecnu.edu.cn/contest/126/ C. 唐纳德先生与这真的是签到题吗 单测试点时限: 6.0 秒 内存限制: 1024 MB 唐纳德先生在出月赛的过程中 ...
- HLJU 1221: 高考签到题 (三分求极值)
1221: 高考签到题 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 9 Solved: 4 [Submit][id=1221">St ...
- Different Integers 牛客多校第一场只会签到题
Given a sequence of integers a1, a2, ..., an and q pairs of integers (l1, r1), (l2, r2), ..., (lq, r ...
随机推荐
- Java程序IP v6与IP v4的设置
Java程序IP v6与IP v4的设置 //Prevent to get IPV6 address,this way only work in debug mode //But you can pa ...
- fmt标签的格式化日期使用
声明: <%@ taglib prefix="fmt" uri="/WEB-INF/fmt.tld" %> or <%@ taglib pre ...
- Node.js 网页瘸腿稍强点爬虫再体验
这回爬虫走得好点了,每次正常读取文章数目总是一样的,但是有程序僵住了情况,不知什么原因. 代码如下: // 内置http模块,提供了http服务器和客户端功能 var http=require(&qu ...
- 渗透测试中的文件传输通道1- cmd下下载文件
Set xPost = createObject("Microsoft.XMLHTTP")xPost.Open "GET","http://www.x ...
- A Quick Look at P3P
P3P Made Simple By default, IE will reject cookies coming from 3rd-party contexts. A 3rd-party conte ...
- 通过Navicat for MySQL远程连接的时候报错mysql 1130 的解决方法
用Navicat连接远程MYSQL,提示如下错误,我以为是自己的防火墙问题,但是关了,依然不行. ERROR 1130: Host '192.168.1.3' is not allowed to co ...
- Unix环境部署
http://www.cnblogs.com/chuyuhuashi/p/4423699.html 分布式javahttp://www.cnblogs.com/tangyanbo/p/4499485. ...
- 【转】 IntelliJ IDEA 详细图解最常用的配置 ,适合刚刚用的新人
本文转载于:https://blog.csdn.net/qq_27093465/article/details/52918873 刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便 ...
- <!DOCTYPE>奇葩的问题
作用:<!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本号进行编写的指令. 1.:<!DOCTYPE> 声明没有结束标签. ...
- Cygwin 版本的 Curl 安装,提取,使用笔记
Cygwin 版本的 Curl 安装,提取,使用笔记 Cygwin 版本的 Curl 使其恢复 HTTPS 请求功能Cygwin 版本的 Curl 依赖的 DLL 清单提取 Cygwin 版本的 Cu ...