(数论)[SDOI2008]沙拉公主的题目描述
[SDOI2008]沙拉公主的题目描述
(^ w ^)
第一行为两个整数T,R。R<=10^9+10,T<=10000,表示该组中测试数据数目,R为模 后面T行,每行一对整数N,M,见题目描述 m<=n
共T行,对于每一对N,M,输出1至N!中与M!素质的数的数量对R取模后的值困惑
输入输出样例
输入样例#1:
1 11
4 2
1
ans=n!m!φ(m!)ans = \frac{n!}{m!} \varphi(m!) ans=m!n!φ(m!)
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
#include<cmath>
#include<cstdlib>
#include<iostream>
using namespace std;
int n,m,t,r;
int tot=0,p[1000010],ans[10000010],is[10000010],inv[10000010];
bool f[10000010];
void work()
{is[0]=1;is[1]=1;inv[0]=1;inv[1]=1;ans[0]=1;ans[1]=1;int i=2,j=1;while(i<=10000000){is[i]=1LL*is[i-1]*i%r;inv[i]=1LL*(r-r/i)*inv[r%i]%r;if(!f[i]) p[++tot]=i;j=1;while((j<=tot)&&(i*p[j]<=10000000)){f[i*p[j]]=1;if(i%p[j]==0) break;++j;}++i;}i=2;while(i<=10000000){ans[i]=ans[i-1];if(!f[i]) ans[i]=((((1LL*ans[i])*(i-1))%r)*inv[i])%r;++i;}
}
int main()
{scanf("%d%d",&t,&r);work();while(t--){scanf("%d%d",&n,&m);printf("%lld\n",((1LL*is[n])*ans[m])%r);}return 0;
}/*
1996年:东方灵异传(TOH1)
1997年:东方封魔录(TOH2)
1997年:东方梦时空(TOH3)
1998年:东方幻想乡(TOH4)
1998年:东方怪绮谈(TOH5)
2002年:东方红魔乡(TOH6)
2003年:东方妖妖梦(TOH7)
2004年:东方萃梦想(TOH7.5)
2004年:东方永夜抄(TOH8)
2005年:东方花映冢(TOH9)
2005年:东方文花帖(TOH9.5)
2007年:东方风神录(TOH10)
2008年:东方绯想天(TOH10.5)
2008年:东方地灵殿(TOH11)
2009年:东方星莲船(TOH12)
2009年:东方非想天则(TOH12.3)
2010年:东方文花帖DS(TOH12.5)
2010年:东方三月精(TOH12.8)
2011年:东方神灵庙(TOH13)
2013年:东方心绮楼(TOH13.5)
2013年:东方辉针城(TOH14)
2014年:弹幕天邪鬼(TOH14.3)
2014年:东方深秘录(TOH14.5)
2015年:东方绀珠传(TOH15)
2017年:东方凭依华(TOH15.5)
2017年:东方天空璋(TOH16)
*/
//写上这些RP++
总结
不错的综合题,考了很多数论的相关知识,需要熟练运用很多知识解决。
我写这道题的时候还不会求逆元。
不过有足够的前置知识后这道题就不是很难了。
(数论)[SDOI2008]沙拉公主的题目描述相关推荐
- [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉
本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉 题目大意 给定n,m,求在1到n!内与m!互质的 ...
- φ(1)=1 [Sdoi2008]沙拉公主的困惑
问题 F: [Sdoi2008]沙拉公主的困惑 时间限制: 1 Sec 内存限制: 259 MB 题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘 ...
- [Sdoi2008]沙拉公主的困惑
Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现 ...
- 【bzoj2186】[Sdoi2008]沙拉公主的困惑 欧拉函数
题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...
- bzoj 2186: [Sdoi2008]沙拉公主的困惑
Time Limit: 10 Sec Memory Limit: 259 MB Submit: 2463 Solved: 820 [Submit][Status][Discuss] Descrip ...
- bzoj2186【SDOI2008】沙拉公主的困惑
2186: [Sdoi2008]沙拉公主的困惑 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 2363 Solved: 779 [ Submi ...
- [bzoj2186]沙拉公主的困惑
2186 沙拉公主的困惑 Time Limit: 10 Sec Memory Limit: 259 MB Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有 ...
- 沙拉公主的困惑 cash
一.沙拉公主的困惑 (cash.pas/c/cpp, 限时3 秒,内存256M) [题目描述] 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编 号范围为1 到N 的阶乘,但是 ...
- [欧拉函数] Bzoj P2186 沙拉公主的困惑
Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现 ...
最新文章
- python Django 管理站点1.3
- linux进程通信:pipe实现进程同步
- C# 学习笔记(7) 进程
- tftp环境搭建笔记
- SAP Fiori Launchpad shell.handleGoHome() - home按钮的实现
- 【Git】Git-常用命令备忘录(二)
- 【APICloud系列|28】 UIChatBox 模块(聊天输入框)的实现
- java不规则数组杨辉,JAVASE课程 第一章 第三讲程序控制与数组
- Windows下载安装kafka
- thinkpad指纹识别linux,在Ubuntu下启用ThinkPad X250的指纹识别
- 蒙古文输入法linux版,蒙古文输入法下载 德力海蒙古文输入法 V2.1.3 官方安装版(附使用手册) 下载-脚本之家...
- SELECT TOP 1 * FROM是什么意思
- 一起聊一聊数字化,信息化,数据化,数字化转型(建议收藏)
- h5 视频播放功能实现
- Linux 版本查询常用命令
- python使用opencv实现人脸检测
- 考研数据结构之循环队列
- 蓝屏终止代码:WHEA_UNCORRECTABLE_ERROR
- 随身WiFi加装风扇+天线、插卡可用安卓系统高通410
- 6-2 成绩单求平均成绩 (10分)
热门文章
- python自动生成ppt报告_把时间还给洞察,且看PPT调研报告自动生成攻略
- 热评云厂商:品高云4.62亿元,发力行业云,掘金实属不易
- jsp怎么设置页面背景
- 夜明け前より瑠璃色な 攻略
- 阿里云CDN直播架构与双11晚会直播实战 1
- 华硕x580nv拆机_看懂一篇拆机贴 拆遍天下机 华硕A45VM拆机清灰换硅脂 怒降25度!...
- 算法研究之二叉树小球下落
- 如何将电脑的无线网通过有线分享给其他设备
- 论文阅读Check it again:Progressive Visual Question Answering via Visual Entailment
- uniapp开发h5微信授权登录(详细教程)