P2350-[HAOI2012]外星人【线性筛】
正题
题目链接:https://www.luogu.com.cn/problem/P2350
题目大意
给出NNN质因数分解之后的结果,求每次N=φ(N)N=\varphi(N)N=φ(N),多少次后N=1N=1N=1。
N=∏i=1mpiqi,1≤m≤2000,1≤pi≤105,1≤qi≤109N=\prod_{i=1}^mp_i^{q_i},1\leq m\leq 2000,1\leq p_i\leq 10^5,1\leq q_i\leq 10^9N=∏i=1mpiqi,1≤m≤2000,1≤pi≤105,1≤qi≤109
解题思路
我是傻逼((((
首先φ(∏i=1mpiqi)=∏i=1m(pi−1)piqi−1\varphi(\prod_{i=1}^mp_i^{q_i})=\prod_{i=1}^m(p_i-1)p_i^{q_i-1}φ(∏i=1mpiqi)=∏i=1m(pi−1)piqi−1
开始想太多了,以为传递的延迟影响很大,后来发现设因为pi−1p_i-1pi−1一定是偶数,所以把pi−1p_i-1pi−1分解后一定有222这个质因子,所以只有在NNN没有222这个质因子的情况下传递的延迟会造成一次的影响,否则都没有影响,因为222还没有抵消延迟就已经结束了。
所以我们只需要考虑每个质数能传递出多少个222,这个用线性筛可以解决因为最后更新一个质数的一定是新增的一个质因子。
code
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5+10,M=1e5+10;
int T,n,cnt,pri[N],f[M],v[M];
void Prime(){f[1]=1;for(int i=2;i<M;i++){if(!v[i])pri[++cnt]=i,f[i]=f[i-1];for(int j=1;j<=cnt&&i*pri[j]<M;j++){v[i*pri[j]]=1;f[i*pri[j]]=f[i]+f[pri[j]];if(i%pri[j]==0)break;}}return;
}
int main()
{Prime();scanf("%d",&T);while(T--){scanf("%d",&n);if(!n)puts("0");long long ans=1;for(int i=1;i<=n;i++){int x,w;scanf("%d%d",&x,&w);if(x==2)ans--;ans+=1ll*f[x]*w;}printf("%lld\n",ans);}return 0;
}
P2350-[HAOI2012]外星人【线性筛】相关推荐
- 题解:P2350 [HAOI2012] 外星人
题目:P2350 [HAOI2012]外星人 . 题意 给出 N 的质因子分解. 令 N=φ(N)N=\varphi(N)N=φ(N) ,求最少进行多少次这样的操作使得 N=1N=1N=1 .(因为 ...
- 洛谷 P2350 [HAOI2012]外星人(素因子分解,欧拉函数)
[HAOI2012]外星人 题目描述 艾莉欧在她的被子上发现了一个数字 NNN,她觉得只要找出最小的 xxx 使得,φx(N)=1\varphi^x(N) = 1φx(N)=1.根据这个 xxx 她就 ...
- Bzoj 2749: [HAOI2012]外星人 欧拉函数,数论,线性筛
2749: [HAOI2012]外星人 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 568 Solved: 302 [Submit][Status ...
- 2749: [HAOI2012]外星人
2749: [HAOI2012]外星人 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 707 Solved: 378 [ Submit][ Stat ...
- 【数学知识】三种方法求 [1,n] 中所有数欧拉函数(线性筛欧拉函数优化至 O(n) )
整理的算法模板合集: ACM模板 ①直接求小于或等于n,且与n互质的数个数(求[1,n]中所有数的欧拉函数时间复杂度:O(nn)O(n\sqrt{n})O(nn)) ②求[1,n]之间每个数的质因数 ...
- 【bzoj2694】Lcm 莫比乌斯反演+线性筛
题目描述 求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m|\mu(gcd(i,j))|lcm(i,j)$,即$gcd(i,j)$不存在平方因子的$lcm(i,j)$之 ...
- [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉
本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉 题目大意 给定n,m,求在1到n!内与m!互质的 ...
- 【bzoj3309】DZY Loves Math 莫比乌斯反演+线性筛
Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0. 给定正整数a,b, ...
- ACM入门之【线性筛】
线性筛模板,时间复杂度O(n) const int N=1e6+10; int prime[N],st[N],cnt,n; void init(int n) {for(int i=2;i<=n; ...
最新文章
- 2021年大数据ZooKeeper(五):ZooKeeper Java API操作
- python管理系统-基于Python实现用户管理系统
- 【s操作】手机移动数据网络问题初级解决方案,论手机运营商网络状况
- 在centos服务器安装MySQL数据库详细步骤
- MongoDB数据库(3.mongodb数据库的高级查询)
- 按键中断异步通知实现
- UOJ59 WC2013 小Q运动季
- 程序员如何避免身体被掏空?
- 2017-10-19 NOIP模拟赛
- 前端JS、Vue实现海康萤石直播预览、回放、云台控制功能
- 写论文、搞科研、读大学必备的28款软件。
- 配置案例|Modbus转Profinet网关连接英威腾Goodrive200A 的配置案例
- 【人工智能算法从图解入手】
- ES6—46:class中getter和setter的设置方法
- 向幼儿群体提供实用的少儿编程
- 标志寄存器的状态标志
- Web开发中软件工程艺术(Web程序员请进来谈谈,特别是有大型门户网站后台开发的程序员)
- 巨控GRM110系列的LORA无线通信模块,短距离无线数据传输,巨控无线433无线通信技术
- Windows系统快速查看文件md5
- 云网融合助力大型企业网络底座布局
热门文章
- java foreach 跳过本次循环_【Java】对foreach循环的思考
- 电脑home键在哪_如何灵活使用电脑键盘上的各个键
- Java并发编程实战_真香!阿里P8耗时半年著作660页Java高并发与网络编程实战总结...
- 系统同传软件_如何戴耳机录制自己的同传练习?
- 计算机语言平均数怎么算,使用python怎么求三个数的平均值
- ef 关联依赖属性_基础巩固之:xmlns属性梳理
- mat opencv 修改roi_设置图片ROI(OpenCV学习笔记之二)
- java调试案例_Spring-boot的debug调试代码实例
- 128位计算机 ps2,64位就是最强电脑?难道就没有128位的电脑吗
- baidumap vue 判断范围_懂一点前端—Vue快速入门