CF369E. ZS and The Birthday Paradox
1 /* 2 cf369E. ZS and The Birthday Paradox 3 http://codeforces.com/contest/711/problem/E 4 抽屉原理+快速幂+逆元+勒让德定理+费马小定理+欧拉定理+数论 5 题解:https://amoshyc.github.io/ojsolution-build/cf/cf369/pe.html 6 7 坑点: 8 1、long long 类型的常量一定要加LL,否则1<<n只在int范围内 9 2、带模的题目,最后一定要判断是否答案为负,答案为负数要加mod 10 */ 11 #include <cstdio> 12 #include <algorithm> 13 using namespace std; 14 const int mod=1000003; 15 long long n,k; 16 long long Legendre(long long n,long long p)//勒让德定理:O(logn) 算出n!中有多少个p 17 { 18 long long ans=0; 19 while(n>0) 20 { 21 ans+=n/p; 22 n/=p; 23 } 24 return ans; 25 } 26 long long pow(long long base,long long n) 27 { 28 long long ans=1; 29 base=base%mod;//先取模防止爆long long 30 while(n>0) 31 { 32 if(n&1) 33 ans=(ans*base)%mod; 34 base=(base*base)%mod; 35 n>>=1; 36 } 37 return ans; 38 } 39 int main() 40 { 41 //freopen("cf711E.in","r",stdin); 42 scanf("%I64d%I64d",&n,&k); 43 if(n<=63 && k>(1LL<<n))//抽屉原理 44 { 45 printf("1 1\n"); 46 return 0; 47 } 48 long long gcd=Legendre(k-1,2); 49 long long p=1,q;//p/q; 50 q=((n%(mod-1))*((k-1)%(mod-1))-gcd%(mod-1))%(mod-1)+mod-1;//欧拉函数降幂 51 //q=(n%(mod-1))*((k-1)%(mod-1))+mod-1-gcd; this is a wrong way!!!!!! 52 q=pow(2,q)%mod;//q=2^( n(k-1)-gcd ) <=> 2^((n(k-1)-gcd)%phi(mod)+phi(mod) ); 53 if(k-1>=mod)//抽屉原理得出在分子中必定存在一个%mod=0,标程大坑,不能直接输出1 1,即此处不约分。 54 p=0; 55 else 56 { 57 long long val=pow(2,n); 58 for(long long i=1;i<=k-1;i++) 59 { 60 p=(p*((val-i))%mod)%mod; 61 } 62 if(gcd) 63 { 64 p=(p*pow(pow(2,gcd),mod-2))%mod; 65 //p=(p+mod)/pow(2,gcd); 66 } 67 } 68 p=q-p; 69 if(p<0)//判断是否为负 70 p+=mod; 71 printf("%I64d %I64d\n",p,q); 72 return 0; 73 }
转载于:https://www.cnblogs.com/BBBob/p/6611018.html
CF369E. ZS and The Birthday Paradox相关推荐
- cf711E. ZS and The Birthday Paradox
链接 点击跳转 题解 a n s = 1 − 2 n ( 2 n − 1 ) ( 2 n − 2 ) - ( 2 n − ( k − 1 ) ) 2 n k ans = 1 - \frac{2^n(2 ...
- 除法逆元(ZS and The Birthday Paradox,cf 711E)
这题真挺不错的,需要一些数学知识,对细节要求高. 一些资料与参考: 除法逆元 http://blog.csdn.net/acmmaxx/article/details/18409701 逆元详解 ht ...
- Codeforces 711E ZS and The Birthday Paradox 数论(Legendre's定理)
点击打开链接 题意:一年有s=2^n天,有k个人 问至少有两个人生日在同一天的概率?(答案%mod) n,k<=1e18 算对立事件 任意两人生日都不同的概率 ( (2^n-1)*(2^n-2) ...
- 阿里云nginx服务器多站点的配置
Fighting! 欲戴皇冠,必承其重! 目录视图 摘要视图 订阅 [活动]Python创意编程活动开始啦!!! CSDN日报20170426 --<四无年轻人如何逆袭> [C ...
- 2016区域赛前冲刺训练
UPD 2016.10.23 shift-and (2题) Codeforces 训练 现在已经完成了: 191 [Codeforces Round #377] (6/6) Div 2 A Buy a ...
- 【LightOJ - 1104】Birthday Paradox(概率,思维)
题干: Sometimes some mathematical results are hard to believe. One of the common problems is the birth ...
- “The Stupidity Paradox”作者访谈
\ 要点 \ 知识密集型的企业总是聘请聪明的员工,然后鼓励他们去做愚蠢的事情. \ 从短期来看,这样会让个人和企业都从中获益,但从长远来看,这样是有问题的. \ 企业通过以下几种方式来纵容愚蠢的行为: ...
- ZS语音识别(智能语音识别工具)V1.3 绿色版
ZS语音识别(智能语音识别工具)是一款很优秀好用的智能语音识别辅助工具.这款ZS语音识别工具功能强大,简单易操作,使用后可以帮助用户更轻松便捷的进行语音识别操作.软件可以帮助用户快速识别音频文件并将其 ...
- Cantor‘s paradox
In set theory, Cantor's paradox states that there is no set of all cardinalities. This is derived fr ...
最新文章
- sphinx配置文件继承
- 浏览器的headers
- 数据结构-哈希与映射
- 我通过了阿里面试,但算法太差,还是没去!
- 安装翻译_百度翻译下载安装官方地址
- 《Windows脚本应用详解》已经出版
- python画画代码大全_python 相关主题_Debug5
- iMazing支持哪些数据类型
- 有赞大裁员:裁员会超过1500人,加盟4年半的百度副总裁也已离职
- S19王者荣耀服务器维护,王者荣耀:S19新赛季更新,她没上线惨遭重做,英雄调整,界面优化...
- 017年美国大学生数学建模竞赛E题优秀论文解读
- 双卡双待的iPhone终于要来了?中国特供了解一下!
- 肥学献礼——自动写诗
- 简述马尔可夫链【通俗易懂】
- html展示微信昵称特殊字符,微信昵称加标签一直弹特殊符号
- Task already scheduled or cancelled(用Timer,TimeTask实现定时器功能)
- 【算法学习笔记】50.字符串处理 SJTU OJ 1361 丁姐的周末
- OUC课程评价小程序(测试报告)
- MAC文件图标自动排列+取消自动排列
- Zabbix使用LLD自动发现规则发现监控docker容器(下)
热门文章
- C++ 中字符串查找、字符串截取、字符串替换、字符串合并
- 如何用ntp实现服务器时间同步!!!
- svg制作画笔画直线
- Base64图片还原上传FastDFS源代码
- 一名程序员韭菜的自我修养
- CAD/CASS高程点自动避让插件、高程点不压线插件(可自动处理高程点注记压线压地物,也可自动处理高程点注记互相压盖)
- DeepFaceLab小白入门(4):提取人脸图片!
- Ui设计分类都有哪些呢?你都了解了吗
- php 字符串处理实验,PHP字符串处理函数(String Functions)总结
- iqooneo系统升级好不好_IQOONeo系统测评 全新FuntouchOS9十分好用