bzoj 1408 [Noi2002]Robot(欧拉函数)
【题目链接】
http://www.lydsy.com/JudgeOnline/problem.php?id=1408
【题意】
求m的所有约数中,满足可以分解成(奇数个不同素数/偶数个不同素数/其他)的所有的phi之和。
【思路】
ans1表示目前为止有偶数个奇质因子的欧拉函数的前缀和
ans2表示目前为止有奇数个奇质因子的欧拉函数的前缀和。
注意2不是奇质因子,需要去掉。
第三种可以由m-1减去前两种,减1为去掉1,1不是老师。
【代码】
#include<cstdio>
#include<cstring>
using namespace std; const int N = 2e3+;
const int MOD = ; int pow(int a,int p,int mod)
{
int ans=;
while(p) {
if(p&) ans=(ans*a)%mod;
a=(a*a)%mod; p>>=;
}
return ans;
} int ans1,ans2,ans3,n,m,p,e; int main()
{
scanf("%d",&n);
m=;
for(int i=;i<=n;i++)
{
scanf("%d%d",&p,&e);
m=(m*pow(p,e,MOD))%MOD;
if(p==) continue;
int t1=(ans1+ans2*(p-))%MOD;
int t2=(ans2+(ans1+)*(p-))%MOD;
ans1=t1,ans2=t2;
}
ans3=((m--ans1-ans2)%MOD+MOD)%MOD;
printf("%d\n%d\n%d\n",ans1,ans2,ans3);
return ;
}
bzoj 1408 [Noi2002]Robot(欧拉函数)的更多相关文章
- BZOJ 1408: [Noi2002]Robot
1408: [Noi2002]Robot Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 510 Solved: 344[Submit][Status][ ...
- bzoj 2818 GCD 数论 欧拉函数
bzoj[2818]Gcd Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Output 如题 Samp ...
- bzoj 2190 仪仗队(欧拉函数)
2190: [SDOI2008]仪仗队 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 2245 Solved: 1413[Submit][Statu ...
- BZOJ 2818 GCD 【欧拉函数 || 莫比乌斯反演】
传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=2818 2818: Gcd Time Limit: 10 Sec Memory Limit ...
- BZOJ 2190仪仗队【欧拉函数】
问题的唯一难点就是如何表示队长能看到的人数?如果建系,队长所在的点为(0,0)分析几组数据就一目了然了,如果队长能看到的点为(m,n),那么gcd(m,n)=1即m n 互质或者是(0,1),(1,0 ...
- bzoj 2818 Gcd(欧拉函数 | 莫比乌斯反演)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2818 [题意] 问(x,y)为质数的有序点对的数目. [思路一] 定义f[i]表示i之 ...
- Bzoj 2749: [HAOI2012]外星人 欧拉函数,数论,线性筛
2749: [HAOI2012]外星人 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 568 Solved: 302[Submit][Status][ ...
- BZOJ 2818 GCD(欧拉函数)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=37161 题意:gcd(x, y) = 质数, 1 <= x, ...
- BZOJ 2190: [SDOI2008]仪仗队( 欧拉函数 )
假设C君为(0, 0), 则右上方为(n - 1, n - 1). 一个点(x, y) 能被看到的前提是gcd(x, y) = 1, 所以 answer = ∑ phi(i) * 2 + 2 - 1 ...
随机推荐
- Spring + JMS + ActiveMQ实现简单的消息队列(监听器异步实现)
首先声明:以下内容均是在网上找别人的博客综合学习而成的,可能会发现某些代码与其他博主的相同,由于参考的文章比较多,这里对你们表示感谢,就不一一列举,如果有侵权的地方,请通知我,我可以把该文章删除. 1 ...
- GuessFist
import java.util.Scanner; import java.util.Random; /** *跟电脑玩石头剪刀布,需要从控制台输入信息, *然后去判断,然后给予反馈信息 */ pub ...
- CentOS环境下Java开发环境的搭建
------------------------------------------------------- 安装Jdk 1.查询系统默认JDK CentOS系统默认会安装JDK,一般建议卸载后安装 ...
- 223. Rectangle Area
题目: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defin ...
- Android 清除canvas 笔迹代码
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); canvas.drawLine(pointX, , event.getX(), ...
- C Socket Programming for Linux with a Server and Client Example Code
Typically two processes communicate with each other on a single system through one of the following ...
- sql 2005 同义词
--> Title : SQL Server2005 Synonym的使用 --> Author : wufeng4552 --> Date : 2009-10-30 1.Sy ...
- [POJ2828]Buy Tickets(线段树,单点更新,二分,逆序)
题目链接:http://poj.org/problem?id=2828 由于最后一个人的位置一定是不会变的,所以我们倒着做,先插入最后一个人. 我们每次处理的时候,由于已经知道了这个人的位置k,这个位 ...
- poj 3790 Recursively Palindromic Partitions (递推)
题目 题意:求输入的数字的递归回文. 思路:答案等于这个数字一半之前的所有的 之和. #include <iostream> #include <cstdio> #includ ...
- ASCII码常用值
大写字母 A~Z 65~90 小写字母a~z 97~122 数字0~9 48~ 57