【JZOJ 杂题选讲】北大集训2019 n门问题
题目
思路
首先我们考虑如何计算猜奖者所认为的概率
假设现在还有n扇门,第i扇有奖的概率是p[i]。
猜奖者选了第x扇门,主持人打开了第y扇门:
1.有p[x]的概率第x扇门就是有奖的,经过这次操作,p[x]显然不会变。
2.有1−p[x]的概率奖不在第x扇门,现在又多排除了第y扇门,
所以对z≠x且z≠y,p[z]∗=(1−p[x])/(1−p[x]−p[y]),意义为剩下的门均分这个这个多出来的概率。
每次选择的门,这次操作后,都会成为概率最小且独一无二的门。(无脑猜结论
现在问题变成有一个队列,一开始队列头一个位置上有n个球。
每次从队列头随机一个球x,然后从剩下的且不是答案的球去掉一个,把球x单独加到队尾。
这个一个O(n3)dp即可
然后,最难想到的是,n>10,答案为0,因为主持人可以控制奇偶
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n;
ll a[100005];
ll b[100005];
ll pow_add(ll x,ll y,ll mod)
{ll ans=0;while(y){if(y%2){ans+=x;ans%=mod;}y/=2;x+=x;x%=mod;}return ans;
}
ll gcd(ll x,ll y)
{if(y==0){return x;}return gcd(y,x%y);
}
void ex_gcd(ll a,ll b,ll &x,ll &y)
{if(b==0){x=1;y=0;return;}ex_gcd(b,a%b,x,y);ll t=x;x=y;y=t-(a/b)*x;
}
ll ex_crt(ll n)
{ll M0=a[1];ll ans=b[1];for(int i=2;i<=n;i++){ll r=gcd(M0,a[i]);ll bb=((b[i]-ans)%a[i]+a[i])%a[i];if(bb%r){return -1;}bb/=r;ll M=M0/r;ll aa=a[i]/r;ll x,y;ex_gcd(M,aa,x,y);x=pow_add(x,bb,aa);ans+=x*M0;M0*=aa;ans=(ans%M0+M0)%M0;}return (ans%M0+M0)%M0;
}
int main()
{long long nn;scanf("%lld",&nn);for(int i=1;i<=nn;i++){scanf("%lld%lld",&b[i],&a[i]);}cout<<fixed<<setprecision(6);n=ex_crt(nn);if(n<2) cout<<"error"<<endl; if(n==2) cout<<1.0/2<<endl;if(n==3) cout<<2.0/3<<endl;if(n==4) cout<<5.0/8<<endl;if(n==5) cout<<7.0/15<<endl;if(n>5&&n<=10) cout<<2.0*(n-1)/n/(n-2)<<endl;if(n>10) cout<<"0.000000"<<endl;return 0;
}
【JZOJ 杂题选讲】北大集训2019 n门问题相关推荐
- [JZOJ]杂题选讲
目录 1.aplusb 2.可见点数 3.射击 4.创世纪 5.长方形 6.连通块 7.Ede的新背包问题 8.模板串 9.Clock Sequence 10.硬币游戏 1.aplusb Descri ...
- 【JZOJ 杂题选讲】【UER #8】打雪仗
题目 通信题 A知道一个长为2n的01串,B知道n个位置 AB之间可以互相发送01字符,每个人所发不超m个 让AB互相通信,使B得到n个位置的具体值 n=1000 m=1350 子问题:m=1600 ...
- 【JZOJ 杂题选讲】友谊
题目 Description Flowey 是一朵能够通过友谊颗粒传播LOVE 的小花.它的友谊颗粒分为两种, 圆粒的和皱粒的,它们依次排列组成了一个长度为2m 的序列.对于一个友谊颗 粒的序列,如果 ...
- 20190509杂题选讲
这次杂题选讲好多思维题神仙题啊= =顺便学了波线段树上二分= = Normal 题目大意戳这 CF1083C CDW讲的神仙题*1 题解戳这 AGC002E 我讲的题,是个人写的程序都比我写的程序跑得 ...
- [统计学笔记] 统计学计算题选讲(精华)
统计学计算题选讲 第 1 题 某班级学生物理课程考试成绩分别为: 68 89 88 84 86 87 75 73 72 68 75 ...
- 北大集训2019垫底记
Day0 早上冒着大雪到宾馆报道,然而领了一堆东西却不给入住,有点毒瘤. 打了场 usaco,又垫底了. Day1 上午打了场北大集训,又垫底了. 开场发现 T1 大概是个简单题,然而由于各种原因调了 ...
- 2019 B站校招编程题选讲
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的协议 ping bilibili没有用到TCP协议, DNS是域名解析,ICMP就是pin ...
- CSP难度的经典题目/有趣的思维题选讲(一)
引言 这里讲到的难题是一部分非常典型的题目,但并不是所有.因此这并非是一个全面的知识列表,而只适合提高组同学用来提升能力和拓展视野. 这篇文章在很多地方讲述的不够详细和严谨,因为它的作用并非是题解,而 ...
- c语言兔子洞,数据结构水题选讲 - osc_y08db3kb的个人空间 - OSCHINA - 中文开源技术交流社区...
[Ynoi2011]ODT \(O(nlog^2n)\) 的做法非常显然 直接把树重链剖分一下,每个点维护轻儿子的平衡树就行 但是这题 \(1e6\) 的数据范围使得 \(O(nlog^2n)\) 没 ...
最新文章
- 另一个git进程似乎在这个存储库中运行
- xamarin 学习笔记02- IOS Simulator for windows 安装
- MySQL Schema设计(三)利用Python操作Schema
- C# TextBox改变高度的方法(转载)
- sql server 数据库改名
- 蓝桥杯2017初赛-迷宫-dfs
- python书写风格_以下两种风格 Python 写法,请问大家倾向哪种:)
- 计算机网络之数据链路层:4、流量控制和可靠传输机制(停止等待协议、后退N帧协议、选择重传协议)
- python安装第三方库-常见错误解决
- anaconda Pycharm jupyter环境配置教程(最后一次写了!!!)
- 【干货】智能汽车行业“十年十大预测”.pdf(附下载链接)
- 机器学习基础算法26-聚类理论
- 身神话继续遭受DDOS进攻,也遭受了雷同的陵犯
- 端口监听 端口通信(Socket,ServerSocket)
- 六个超大规模Hadoop部署案例-Hadoop
- 微信小程序实现活动轨迹回放
- 用 BOX-COX 变换进行数据正态性处理
- [百家号]大英帝国的人口和面积比现在的英国大多少?
- thymeleaf笔记
- 戴尔业务伸向IT服务:佩罗收购毕博背后