题目描述

输入

输出

样例输入

3
2 1
3 2
5 1

样例输出

8
6
75


题解

语文题+数论+dp

花了大段讲述什么叫mu,什么叫phi,只是新定义的mu将2看作有平方因子,新定义的phi(1)=0。

要求的就是mu值为1的数的phi值之和、所有mu值为-1的phi值之和、以及所有mu值为0的phi值之和。

先只考虑前两种,此时无论质因子有多少个,能够使用的只有1个。如果p不是2,那么就有两种情况:使用和不使用。使用的话,素数个数+1,也就是mu变为相反数。

又因为phi是积性函数,所以之前的phi的和乘上p-1就是新得到的phi值和。

用一个类似于dp的思想求出这两个答案,最后由于∑phi(d)(d|m)=m,那么三种答案之和应该为m-1(因为题目中说1不算做约数),所以m-1减去前两种即可得到第三种。

处理ans1和ans2的时候应该先把phi1当作1处理,然后再减掉。

#include <cstdio>
#include <algorithm>
#define mod 10000
using namespace std;
int pow(int x , int y)
{
int ans = 1;
while(y)
{
if(y & 1) ans = ans * x % mod;
x = x * x % mod , y >>= 1;
}
return ans;
}
int main()
{
int k , m = 1 , i , p , e , ans1 = 1 , ans2 = 0 , t;
scanf("%d" , &k);
while(k -- )
{
scanf("%d%d" , &p , &e) , m = m * pow(p , e) % mod;
if(p != 2) t = ans1 , ans1 = (ans1 + ans2 * (p - 1)) % mod , ans2 = (ans2 + t * (p - 1)) % mod;
}
ans1 = (ans1 - 1 + mod) % mod;
printf("%d\n%d\n%d\n" , ans1 , ans2 , (m - ans1 - ans2 - 1 + 2 * mod) % mod);
return 0;
}

【bzoj1408】[Noi2002]Robot 数论+dp的更多相关文章

  1. 【BZOJ1408】[Noi2002]Robot DP+数学

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

  2. BZOJ 1408: [Noi2002]Robot

    1408: [Noi2002]Robot Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 510  Solved: 344[Submit][Status][ ...

  3. 洛谷$P5366\ [SNOI2017]$遗失的答案 数论+$dp$

    正解:数论$dp$ 解题报告: 传送门$QwQ$ 考虑先质因数分解.所以$G$就相当于所有系数取$min$,$L$就相当于所有系数取$max$ 这时候考虑,因为数据范围是$1e8$,$1e8$内最多有 ...

  4. [NOI2002] Robot 解题报告(数论+DP)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1408 Description 3030年,Macsy正在火星部署一批机器人. 第1秒,他 ...

  5. 【bzoj1408】 Noi2002—Robot

    http://www.lydsy.com/JudgeOnline/problem.php?id=1408 (题目链接) 题意 定义了3种数,分别求这3种数的φ的和,其中φ(1)=0. Solution ...

  6. UVALive - 6916 Punching Robot Lucas+dp

    题目链接: http://acm.hust.edu.cn/vjudge/problem/96344 Punching Robot Time Limit: 1000MS64bit IO Format: ...

  7. 数论+DP HDOJ 4345 Permutation

    题目传送门 题意:一个置换群,经过最少k次置换后还原.问给一个N个元素,在所有的置换群里,有多少个不同的k. 分析:这道题可以转化成:N = Σ ai ,求LCM ( ai )有多少个不同的值.比如N ...

  8. HDU 4576 Robot(概率dp)

    题目 /*********************复制来的大致题意********************** 有N个数字,M个操作, 区间L, R. 然后问经过M个操作后落在[L, R]的概率. * ...

  9. HDU 5656 CA Loves GCD (数论DP)

    CA Loves GCD 题目链接: http://acm.hust.edu.cn/vjudge/contest/123316#problem/B Description CA is a fine c ...

随机推荐

  1. ifup/ifdown ethX 和 ifconfig ehtX up/down的区别

    相同点:[启用]和[禁止]网卡 ifup  ethX 和 ifconfig  ethX  up               用来启用网卡设备 ifdown  ethX 和 ifconfig  ethX ...

  2. solr dataimport

    solrconfig.xml <requestHandler name="/dataimport" class="org.apache.solr.handler.d ...

  3. 创建一个 Dynamic Web Project

    准备工作 一.修改 JDK Compliance level 二.创建 Dynamic Web Project Ctrl + N 三.配置网站服务器 tomcat 这里切记不要点击 Finish ,一 ...

  4. MySql学习笔记04

    复习 day01 数据库相关: create database db4 character set utf8; show databases; show create database db4; dr ...

  5. 如何查看连接到手机热点的ip地址

    因为最近玩树莓派,需要手机做热点,然后用树莓派连接到这个热点上,苦于不知道树莓派被分配了什么样的ip地址,经过一番探索,我发现了两种办法, 安装一个 android terminal( 安卓命令行), ...

  6. Java泛型和反射

    1. 字节码对象的三种获取方式 以String为例 Class<? extends String> strCls = "".getClass(); Class<S ...

  7. 前端JS转图片为base64并压缩、调整尺寸脚本

    image to base64 to blob //////////////////////////////////////////////////////////////////////////// ...

  8. 无线Web开发

    http://am-team.github.io/amg/dev-exp-doc.html

  9. 42.VUE学习之--组件之子组件使用$on与$emit事件触发父组件实现购物车功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. python内置函数-排列组合函数

    product 笛卡尔积 (有放回抽样排列) permutations 排列 (不放回抽样排列) combinations 组合,没有重复 (不放回抽样组合) combinations_with_re ...