一、沙拉公主的困惑
(cash.pas/c/cpp, 限时3 秒,内存256M)
【题目描述】
大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编
号范围为1 到N 的阶乘,但是,政府只发行编号与M!互质的钞票。房地产第一大户沙拉
公主决定预测一下大富翁国现在所有真钞票的数量。现在,请你帮助沙拉公主解决这个
问题,由于可能张数非常大,你只需计算出对R 取模后的答案即可。R 是一个质数。
【输入文件】
第一行为两个整数T,R。R<=10^9+10,T<=10000,表示该组中测试数据数目,R 为
模,
后面T 行,每行一对整数N,M,见题目描述
【输出文件】

共T 行,对于每一对N,M,输出1 至N!中与M!素质的数的数量对R 取模后的值

【样例】
输入样例(cash.in 的内容):
1 11
4 2
输出样例(cash.out 的内容):
1
【数据范围】
对于20%的数据, 1<=N,M<=10,T<=10
对于40%的数据, 1<=N,M<=10000
对于80%的数据, 1<=N,M<=1000000
对于100%的数据,1<=N,M<=10000000

山东省选08年第二轮第一天试题

N!*(小于M的质数减一之积)/(小于M的质数之积)

需要注意的是预处理10000000以内质数用一次循环,

i从i倍开始设为合数

测试数据

http://mail.qq.com/cgi-bin/ftnExs_download?k=253732389632cc9c361047271e33014c520702080103044c4c55540952560356571a065b5255195706010715080b04004e53560b5057070150520b0904333c63005641501f4155116371&t=exs_ftn_download&code=c728134c

program cash;
constmaxn=10000000;
vart,r,n,m,i,j,k:longint;ans:int64;left,mix,om:array [0..maxn+1] of int64;yes:array [0..maxn+1] of boolean;function quick (x,y:int64):int64;
vari:int64;
beginif y=0 then exit(1);if y=1 then exit(x mod r);i:=quick(x,y div 2);if y and 1 = 1 then exit(i * i mod r * x mod r)else exit(i * i mod r);
end;beginassign(input,'cash.in');reset(input);assign(output,'cash.out');rewrite(output);read(t,r);left[1]:=1;for i:=2 to maxn doleft[i]:=left[i-1]*i mod r;fillchar(yes,sizeof(yes),false);for i:=2 to maxn doif not yes[i] thenfor j:=i to maxn div i doyes[i*j]:=true;mix[1]:=1;for i:=2 to maxn dobeginmix[i]:=mix[i-1];if not yes[i] then mix[i]:=mix[i]*(i-1) mod r;end;om[1]:=1;for i:=2 to maxn dobeginom[i]:=om[i-1];if not yes[i] then om[i]:=om[i]*i mod r;end;while t<>0 dobegindec(t);read(n,m);if m=1 thenbeginwriteln(left[n]);continue;end;if n=1 thenbeginwriteln(1 mod r);continue;end;writeln(left[n]*mix[m] mod r *quick(om[m],r-2) mod r);end;close(input);close(output);
end.

沙拉公主的困惑 cash相关推荐

  1. [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉

    本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉 题目大意 给定n,m,求在1到n!内与m!互质的 ...

  2. [bzoj2186]沙拉公主的困惑

    2186 沙拉公主的困惑 Time Limit: 10 Sec   Memory Limit: 259 MB Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有 ...

  3. φ(1)=1 [Sdoi2008]沙拉公主的困惑

    问题 F: [Sdoi2008]沙拉公主的困惑 时间限制: 1 Sec 内存限制: 259 MB 题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘 ...

  4. bzoj2186【SDOI2008】沙拉公主的困惑

    2186: [Sdoi2008]沙拉公主的困惑 Time Limit: 10 Sec   Memory Limit: 259 MB Submit: 2363   Solved: 779 [ Submi ...

  5. [Sdoi2008]沙拉公主的困惑

    Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现 ...

  6. 【bzoj2186】[Sdoi2008]沙拉公主的困惑 欧拉函数

    题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...

  7. bzoj 2186: [Sdoi2008]沙拉公主的困惑

    Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 2463  Solved: 820 [Submit][Status][Discuss] Descrip ...

  8. [欧拉函数] Bzoj P2186 沙拉公主的困惑

    Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现 ...

  9. 【codevs2301】【BZOJ2186】沙拉公主的困惑,数论练习之逆元与φ

    传送门1 传送门2 写在前面:数论!数论!数论! 思路: 1.分析出题目本意就是求phi(m!)*n!/m!%r(这一步大概挺难想的,想出来这个后面就简单多了) 2.n!%r可以O(10^7)预处理 ...

最新文章

  1. 唠唠SE的集合-04——ArrayList
  2. python脚本实例手机端-用Python实现自动化操作Android手机
  3. PHP弱类型及一些绕过姿势
  4. 我的Go+语言初体验——【四、版本更新环境变量配置】
  5. 记一次PowerShell免杀实战
  6. 东风本田crv2020新款混动说明书_能上绿牌,无续航焦虑!2020北京车展混动新车抢先看...
  7. 编程语言的发展趋势及未来方向(2):声明式编程与DSL
  8. html5中行内样式写法,react怎么写行内样式?
  9. linux查看java虚拟机内存_深入理解java虚拟机(linux与jvm内存关系)
  10. 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 个性化推荐
  11. 动手做webserver的核心之http解析
  12. 平分物品价值java_网易互联网8.8笔试_第2题平分物品_自己的题解记录
  13. Oracle 定时任务详解(dbms_scheduler)
  14. 下载firebug网站
  15. 大数据时代的背景下 校园安防管理软件平台发展变化
  16. ant-select组件页面下滑时下拉框漂浮
  17. 浅谈软件定制开发与软件外包的区别
  18. Mathorcup数学建模竞赛第六届-【妈妈杯】B题:小区车位分布的评价和优化模型(附特等奖获奖论文和Java代码)
  19. cassandra 重启失败,nullpoint exception
  20. 又一巨头从Java迁移到Kotlin:关键应用全部开始切换、安卓代码库超过千万行Kotlin代码

热门文章

  1. 论文投稿指南——中文核心期刊推荐(天文、测绘学)
  2. 基于java系统遇到的问题,学习在线答疑系统遇到的有关问题
  3. pageadmin去掉xxx
  4. 推荐8个可以免费下载的wordpress模板
  5. 计算机网络之TCP粘包、拆包
  6. NASM中section,align,vstart,$,$$的理解
  7. 16、控件使用之图标动画显示和图片动画显示
  8. 【游戏课】技术片段之——四元数与旋转矩阵的关系
  9. Latex001 | 我走过的弯路之一——如何让Winedt编译中文内容
  10. C#最短路Dijkstra算法与根据拓扑排序的label-correcting算法