题目

思路

首先我们考虑如何计算猜奖者所认为的概率
假设现在还有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门问题相关推荐

  1. [JZOJ]杂题选讲

    目录 1.aplusb 2.可见点数 3.射击 4.创世纪 5.长方形 6.连通块 7.Ede的新背包问题 8.模板串 9.Clock Sequence 10.硬币游戏 1.aplusb Descri ...

  2. 【JZOJ 杂题选讲】【UER #8】打雪仗

    题目 通信题 A知道一个长为2n的01串,B知道n个位置 AB之间可以互相发送01字符,每个人所发不超m个 让AB互相通信,使B得到n个位置的具体值 n=1000 m=1350 子问题:m=1600 ...

  3. 【JZOJ 杂题选讲】友谊

    题目 Description Flowey 是一朵能够通过友谊颗粒传播LOVE 的小花.它的友谊颗粒分为两种, 圆粒的和皱粒的,它们依次排列组成了一个长度为2m 的序列.对于一个友谊颗 粒的序列,如果 ...

  4. 20190509杂题选讲

    这次杂题选讲好多思维题神仙题啊= =顺便学了波线段树上二分= = Normal 题目大意戳这 CF1083C CDW讲的神仙题*1 题解戳这 AGC002E 我讲的题,是个人写的程序都比我写的程序跑得 ...

  5. [统计学笔记] 统计学计算题选讲(精华)

    统计学计算题选讲 第 1 题 某班级学生物理课程考试成绩分别为:              68  89  88  84  86  87  75  73  72  68              75 ...

  6. 北大集训2019垫底记

    Day0 早上冒着大雪到宾馆报道,然而领了一堆东西却不给入住,有点毒瘤. 打了场 usaco,又垫底了. Day1 上午打了场北大集训,又垫底了. 开场发现 T1 大概是个简单题,然而由于各种原因调了 ...

  7. 2019 B站校招编程题选讲

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的协议 ping bilibili没有用到TCP协议, DNS是域名解析,ICMP就是pin ...

  8. CSP难度的经典题目/有趣的思维题选讲(一)

    引言 这里讲到的难题是一部分非常典型的题目,但并不是所有.因此这并非是一个全面的知识列表,而只适合提高组同学用来提升能力和拓展视野. 这篇文章在很多地方讲述的不够详细和严谨,因为它的作用并非是题解,而 ...

  9. c语言兔子洞,数据结构水题选讲 - osc_y08db3kb的个人空间 - OSCHINA - 中文开源技术交流社区...

    [Ynoi2011]ODT \(O(nlog^2n)\) 的做法非常显然 直接把树重链剖分一下,每个点维护轻儿子的平衡树就行 但是这题 \(1e6\) 的数据范围使得 \(O(nlog^2n)\) 没 ...

最新文章

  1. 另一个git进程似乎在这个存储库中运行
  2. xamarin 学习笔记02- IOS Simulator for windows 安装
  3. MySQL Schema设计(三)利用Python操作Schema
  4. C# TextBox改变高度的方法(转载)
  5. sql server 数据库改名
  6. 蓝桥杯2017初赛-迷宫-dfs
  7. python书写风格_以下两种风格 Python 写法,请问大家倾向哪种:)
  8. 计算机网络之数据链路层:4、流量控制和可靠传输机制(停止等待协议、后退N帧协议、选择重传协议)
  9. python安装第三方库-常见错误解决
  10. anaconda Pycharm jupyter环境配置教程(最后一次写了!!!)
  11. 【干货】智能汽车行业“十年十大预测”.pdf(附下载链接)
  12. 机器学习基础算法26-聚类理论
  13. 身神话继续遭受DDOS进攻,也遭受了雷同的陵犯
  14. 端口监听 端口通信(Socket,ServerSocket)
  15. 六个超大规模Hadoop部署案例-Hadoop
  16. 微信小程序实现活动轨迹回放
  17. 用 BOX-COX 变换进行数据正态性处理
  18. [百家号]大英帝国的人口和面积比现在的英国大多少?
  19. thymeleaf笔记
  20. 戴尔业务伸向IT服务:佩罗收购毕博背后

热门文章

  1. P2910Clear And Present Danger S(Floyd算法)C++
  2. Adversarial Attack (对抗攻击)
  3. Android面试题:Handler
  4. dumpsys命令使用指南
  5. 《Python语言程序设计》——函数习题练习
  6. Xilinx FPGA控制器的Everspin STT-DDR4设计指南
  7. MySQL--外连接的用法
  8. ResNet与ResNeXt
  9. responsive web design plugin collection
  10. topK问题——N个数中取最大的K个数