BZOJ_1408_[Noi2002]Robot_数学

时间:2022-09-09 09:06:07

Description

BZOJ_1408_[Noi2002]Robot_数学

Input

BZOJ_1408_[Noi2002]Robot_数学

Output

BZOJ_1408_[Noi2002]Robot_数学

Sample Input

3
2 1
3 2
5 1

Sample Output

8
6
75

HINT

90号机器人有10个老师,加上它自己共11个。其中政客只有15号;军人有3号和5号;学者有8个,它们的编号分别是:2,6,9,10,18,30,45,90。


$\sum\limits_{d|n}\phi(d)=n$

因此总和为n。

只需要求约数中$\mu$为1的$\varphi$和,$\mu$为-1的$\varphi$和。

这样,我们每个质因子只有一次贡献。

这次贡献会把之前的$\mu$从1变到-1,从-1变到1。

又因为phi是积性函数,每次都需要乘上$\varphi(p)=p-1$。

要注意2不是奇质数。一个数的约数不考虑1。

代码:

#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
using namespace std;
#define mod 10000
int n,m,p,k,f[1050],g[1050];
int qp(int x,int y) {
int re=1;
while(y) {
if(y&1) re=re*x%mod;
x=x*x%mod;
y>>=1;
}
return re;
}
int main() {
scanf("%d",&n);
m=1;
int i;
f[0]=1;
for(i=1;i<=n;i++) {
scanf("%d%d",&p,&k); m=m*qp(p,k)%mod;
if(p!=2) {
f[i]=(f[i-1]+g[i-1]*(p-1)%mod)%mod;
g[i]=(g[i-1]+f[i-1]*(p-1)%mod)%mod;
}else {
f[i]=f[i-1];
g[i]=g[i-1];
}
}
f[n]=(f[n]-1+mod)%mod;
printf("%d\n%d\n%d\n",f[n],g[n],((m-f[n]-g[n]-1)%mod+mod)%mod);
}
BZOJ_1408_[Noi2002]Robot_数学

BZOJ_1408_[Noi2002]Robot_数学的更多相关文章

  1. 【BZOJ1408】&lbrack;Noi2002&rsqb;Robot DP&plus;数学

    [BZOJ1408][Noi2002]Robot Description Input Output Sample Input 3 2 1 3 2 5 1 Sample Output 8 6 75 HI ...

  2. 【数学 exgcd】bzoj1407&colon; &lbrack;Noi2002&rsqb;Savage

    exgcd解不定方程时候$abs()$不能乱加 Description Input 第1行为一个整数N(1<=N<=15),即野人的数目. 第2行到第N+1每行为三个整数Ci, Pi, L ...

  3. P1516 青蛙的约会和P2421 &lbrack;NOI2002&rsqb;荒岛野人

    洛谷 P1516 青蛙的约会 . 算是手推了一次数论题,以前做的都是看题解,虽然这题很水而且还交了5次才过... 求解方程\(x+am\equiv y+an \pmod l\)中,\(a\)的最小整数 ...

  4. 数学思想:为何我们把 x&&num;178&semi;读作x平方

    要弄清楚这个问题,我们得先认识一个人.古希腊大数学家 欧多克索斯,其在整个古代仅次于阿基米德,是一位天文学家.医生.几何学家.立法家和地理学家. 为何我们把 x²读作x平方呢? 古希腊时代,越来越多的 ...

  5. 速算1&sol;Sqrt&lpar;x&rpar;背后的数学原理

    概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...

  6. MarkDown&plus;LaTex 数学内容编辑样例收集

    $\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{R ...

  7. 深度学习笔记——PCA原理与数学推倒详解

    PCA目的:这里举个例子,如果假设我有m个点,{x(1),...,x(m)},那么我要将它们存在我的内存中,或者要对着m个点进行一次机器学习,但是这m个点的维度太大了,如果要进行机器学习的话参数太多, ...

  8. Sql Server函数全解&lt&semi;二&gt&semi;数学函数

    阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...

  9. &ast;HDU 2451 数学

    Simple Addition Expression Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

随机推荐

  1. mysql实战之 批量update

    mysql实战之批量update 现阶段我们的业务量很小,要对admin_user表中的relationship字段进行更新,指定id是409.已知409是公司内的一服务中心,需要把该服务中心放到区代 ...

  2. 【好文要转】HTTP图解(大牛必经之路)

    http://www.cnblogs.com/aylin/p/6221436.html

  3. SQL—大话函数依赖与范式

    说明:数据库中的某些概念真的很让人头疼,概念的东西本来就是很枯燥的,再加上枯燥的学习,那就更加枯燥了.概念这东西,你不理解也能生产东西,经验多了就行,但是为了更深入的学习,你还必须理解.这里,我抛开书 ...

  4. 服务器bonding

    server cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=211.98.243.231 NETMASK=255 ...

  5. VS2010遇到&lowbar;WIN32&lowbar;WINNT宏定义问题

    最近拿到一个别人的工程,是使用VS.net创建的,而我的机器上只有vs2010,于是用自带的转换工具将它转换成vs2010的工程,转换之前我就很担心,怕转换完后会出问题,但是没有办法,我实在是不想再安 ...

  6. 关于 tomcat 集群中 session 共享的三种方法

    前两种均需要使用 memcached 或redis 存储 session ,最后一种使用 terracotta 服务器共享. 建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单 ...

  7. SDL音频播放

    gcc -o tutorial03 tutorial03.c -lavutil -lavformat -lavcodec -lz -lm \`sdl-config --cflags --libs` A ...

  8. 201521123083《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  9. win8在安装office visio2003出现&OpenCurlyDoubleQuote;请求的操作需要提升”,解决方法

    单击右键,然后以管理员身份运行即可

  10. MySQL基础配置之mysql的默认字符编码的设置&lpar;my&period;ini设置字符编码&rpar; - 转载

    MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码) MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以设置UTF-8为例来说明. 需 ...