[SDOI2008]沙拉公主的困惑
来源:互联网 发布:c语言标准库函数时间 编辑:程序博客网 时间:2024/06/02 15:39
题目大意
求n!中与m!互质的数的个数。
显然的结论
就是求
至于为什么就不说了,太过显然。
然后预处理阶乘,后面那个与m有关可以预处理,为了不超时还要线性求逆。
#include<cstdio> #include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;typedef long long ll;const int maxn=10000000+10;int inv[maxn],ans[maxn],pri[maxn],fac[maxn];bool bz[maxn];int i,j,k,l,t,n,m,now,mo,ca,top;int main(){ scanf("%d%d",&ca,&mo); fac[0]=1; fo(i,1,maxn-10) fac[i]=(ll)fac[i-1]*i%mo; inv[1]=1; fo(i,2,maxn-10) inv[i]=(ll)(mo-mo/i)*inv[mo%i]%mo; ans[1]=1; fo(i,2,maxn-10){ ans[i]=ans[i-1]; if (!bz[i]){ pri[++top]=i; ans[i]=(ll)ans[i]*(i-1)%mo*inv[i]%mo; } fo(j,1,top){ if ((ll)i*pri[j]>maxn-10) break; bz[i*pri[j]]=1; if (i%pri[j]==0) break; } } while (ca--){ scanf("%d%d",&n,&m); now=(ll)fac[n]*ans[m]%mo; printf("%d\n",now); }}
0 0
- [Sdoi2008]沙拉公主的困惑
- [SDOI2008]沙拉公主的困惑
- bzoj 2186: [Sdoi2008]沙拉公主的困惑
- 【bzoj 2186】: [Sdoi2008]沙拉公主的困惑
- 【bzoj2186】【sdoi2008】【沙拉公主的困惑】【数论】
- BZOJ2186: [Sdoi2008]沙拉公主的困惑
- bzoj2186: [Sdoi2008]沙拉公主的困惑
- bzoj2186【SDOI2008】沙拉公主的困惑
- 【SDOI2008】【BZOJ2186】沙拉公主的困惑
- bozj2186 [Sdoi2008]沙拉公主的困惑
- [BZOJ2186][Sdoi2008]沙拉公主的困惑
- [Sdoi2008](bzoj2186)沙拉公主的困惑
- 【SDOI2008】【BZOJ2186】沙拉公主的困惑
- 2186: [Sdoi2008]沙拉公主的困惑
- BZOJ 2186 [Sdoi2008]沙拉公主的困惑
- [BZOJ2186][Sdoi2008]沙拉公主的困惑
- bzoj2186: [Sdoi2008]沙拉公主的困惑
- 2186: [Sdoi2008]沙拉公主的困惑
- Android异步消息处理机制 深入理解Looper、Handler、Message三者关系
- canvas (笔记) 中级篇
- Swift怎么打印对象指针(地址)
- bzoj1858: [Scoi2010]序列操作
- JAVA 反射机制 抛出原异常
- [SDOI2008]沙拉公主的困惑
- 蓝鸥Unity开发基础——While和DoWhile语句学习笔记
- Junit4 简单教程(转载)
- 代码校验工具 SublimeLinter 的安装与使用
- Eclipse上调试Hadoop2代码的常见问题处理方法
- MySql常用命令
- 记录一些常用和不常用的iOS知识点,防止遗忘丢失。
- JAVA拾遗 - 并查集算法的实现与改进
- android 创建sqlite 数据库