UVa 1636 (概率) Headshot】的更多相关文章

既然是第一道概率题,就正儿八经地分析一下吧. 题意: 有一个左轮枪,里面随机装了或者没装子弹,用一个01序列表示.现在已知扣动第一次扳机没有子弹,问是继续扣动扳机还是随机转动一下再扣,那种选择使得第二次扣扳机没有子弹的概率大. 分析: 这是一个条件概率,已知第一次扣动扳机没有子弹. 设序列长度为n,00序列的个数为a,0的个数为b 那么第二次扣的时候如果也没有子弹,就对应所给序列的连续两个0,样本空间为b,所以概率为a/b 如果随机转动一次的话,第一次扣和第二次就完全是独立的了,所以概率为b/n…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4511 题意: 首先在手枪里随机装一些子弹,然后抠了一枪,发现没有子弹.你希望下一枪也没有子弹,是应该直接再抠一枪(输出SHOOT)呢,还是随机转一下到任意位置再抠(输出ROTATE)?如果两种策略下没有子弹的概率相等,输出EQUAL.手枪里的子弹可以看成一个环形序列,开枪一次以后对…
https://vjudge.net/problem/UVA-1636 首先在手枪里随机装一些子弹,然后抠了一枪,发现没有子弹.你希望下一枪也没有子弹,是应该直接再抠一枪(输出SHOOT)呢,还是随机转一下再抠(输出ROTATE)?如果两种策略下没有子弹的概率相等,输出EQUAL. 手枪里的子弹可以看成一个环形序列,开枪一次以后对准下一个位置.例如,子弹序列为0011时,第一次开枪前一定在位置1或2(因为第一枪没有子弹),因此开枪之后位于位置2或3.如果此时开枪,有一半的概率没有子弹.序列长度为…
小学数学问题 记得分数比较的时候可以交叉相乘(同号) #include<cstdio> #include<cstring> #define REP(i, a, b) for(int i = (a); i < (b); i++) using namespace std; int main() { char s[105]; while(~scanf("%s", s)) { int n = strlen(s), num = 0, k = 0; REP(i, 0,…
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35396 题目大意:每晚打游戏.每晚中,赢一局概率p,最多玩n局,如果最后不能保证胜率大于p,则从此不玩.问打游戏的天数的期望. 解题思路: 首先分析每天晚上的. 设f[i][j]为前i天,已经赢j局的概率. 由全概率公式,那么当天晚上完蛋的概率q=f[n][0]+f[n][1]+.....f[n][终止条件]. 至于为什么从完蛋(输)的角度考虑,主要是由于n局的…
高中也做个这种类似的题目,概率空间是[t1, t2] × [s1, s2]的矩形,设x.y分别代表两辆列车到达的时间,则两人相遇的条件就是|x - y| <= w 从图形上看就是矩形夹在两条平行线之间的部分. 因为情况众多,一个一个分类很麻烦,而且可能有漏掉情况,所以就用计算几何的办法求了个凸多边形,多边形 与 矩形面积之比就是概率. 代码有点挫,将就看,=_=|| #include <cstdio> #include <vector> #include <cmath&…
Tribble是麻球? 因为事件都是互相独立的,所以只考虑一只麻球. 设f(i)表示一只麻球i天后它以及后代全部死亡的概率,根据全概率公式: f(i) = P0 + P1 * f(i-1) + P2 * f(i-1)2 + ... + Pn * f(n)n 每个麻球死亡是独立的,所以Pj * f(i-1)j 表示生了j个麻球,这j个麻球要在i-1天内全部死亡. #include <cstdio> #include <cmath> using namespace std; + ; d…
题意: 有两种汉堡给2n个孩子吃,每个孩子在吃之前要抛硬币决定吃哪一种汉堡.如果只剩一种汉堡,就不用抛硬币了. 求最后两个孩子吃到同一种汉堡的概率. 分析: 可以从反面思考,求最后两个孩子吃到不同汉堡的概率. 因为最后两个汉堡是不同的,所以前面的2n-2个孩子吃汉堡之前一定都是要抛硬币的. 所以,吃两种汉堡的孩子人数相等,都是n-1个. 令,对于2n个孩子吃汉堡,所求概率为1 - f(n-1) 我们还可以递推f, #include <iostream> #include <cstdio&…
题意: 有一根绳子,在上面随机选取k个切点,将其切成k+1段,求这些线段能够成k+1边形的概率. 分析: 要构成k+1边形,必须最长的线段小于其他k个线段之和才行. 紫书上给出了一种解法,但是感觉理解得不是太好,所以又去网上找了其他解法. 知乎上有人问过这个问题,而且给出了很多种严格的解法. 最后代码里将(1LL << i)写成(1 << i),这种细节应当注意. #include <cstdio> typedef long long ll; ll gcd(ll a,…
题意: 一共有9堆牌,每堆牌四张.每次可以取堆顶点数相同的两张牌,如果有多种方案则选取是随机的. 如果最后将所有牌取完,则视为游戏胜利,求胜利的概率. 分析: 用一个九元组表示状态,分别代表每堆牌剩余的牌数.根据全概率公式,d[i]为后继状态成功概率的平均值. #include <iostream> #include <cstdio> #include <map> #include <vector> using namespace std; map<v…
题意: 有k只鸟,每只鸟只能活一天,它可以在死之前生[0,n-1]只鸟,生出x只鸟的概率是p[x].问m天后所有的鸟都时光的概率.(m天之前就死了的也算上). 输入:T.n.k.m. 题解: 每只鸟的的死亡与生幼鸟的概率是相互独立的,那么我们只需要算出一只鸟在m天后死亡的概率f[m]然后pow(f[m],k),就可以了. 设f[i]代表刚开始只有一只鸟的时候,i天全部死亡的概率;容易得到:f[0]=0;(第零天是不可能的情况) f[1]=p[0](第一天全部死亡,那么他没有产生鸟). f[2]=…
题意: 给出一个n * m * h的空间 每次任意选择两个点  使得在以这两个点连线为对角线的空间的点的值 取反  (初始为0) 求经过k次操作后最后有多少点的值为1 解析: 遇到坐标分维去看  把三维的坐标轴分别在x轴  y轴  z轴去看 设p为一次操作能把这个点包含在操作的区域内的概率 因为每个点都是独立的 所以去考虑每一个点经过k次操作后的状态, 设f[i]为经过i次操作过后一个点为1的概率 g[i]为这个点为0的概率 则  f[i] + g[i] = 1  且    f[i] = f[i…
https://vjudge.net/problem/UVA-1636 题意: 首先在手枪里随机装了一些子弹,然后抠了一枪,发现没有子弹.你希望下一枪也没有子弹,是应该直接再抠一枪还是随机转一下再抠. 思路: 第一个是一个条件概率,再抠一枪没有子弹的概率是建立在前者已发生的情况下,利用公式,统计00和0的个数就可以计算出P(A|B)的值. 第二个是简单事件发生概率,直接计算出0的比率即可. #include<iostream> #include<cstdio> #include&l…
题意: 假设一年有n天, 有一些人排队买票,会有一个人中奖,这个人是,他的生日和前面的某一个人相同: 求最佳整数位置,和最佳实数位置: 分析: 第一个人获奖的概率(他和售票员的生日相同): 1/N 第二个人: N-1/N   * 1/N 第三个人: N-1/N   * N-1/N * 2/N fi/fi+1 <=1解得: (1-sqrt(1+4N)) /2 <= I  <= (1+sqrt(1+4N)/2) 整数位置就是 (1+sqrt(1+4N)) /2: 实数位置 (-1+sqrt(…
Dudu is a very starving possum. He currently stands in the first shelf of a fridge. This fridge iscomposed of N shelves, and each shelf has a number Qi (1 ≤ i ≤ N) of food. The top shelf, whereDudu is, is identified by the number 1, and the lowest is…
题链:https://cn.vjudge.net/problem/UVA-1636 题意 给出一把枪的子弹序列,已知开了一枪且无子弹,问下一步的决策是旋转,还是开下一枪 题解 已知开一枪没子弹,下一枪也没子弹概率设为p1 那么:设P(A)为下一枪无子弹,P(B)为上一枪无子弹.根据条件概率公式 \(P(A|B)=P(AB)\div P(B)\) 即连续两枪无子弹概率除以上一枪无子弹概率,即 \((numof("00")\div n)\div (numof("0")\…
题目大意:有个人每天要去公司上班,每次会经过N条河,家和公司的距离为D,默认在陆地的速度为1,给出N条河的信息,包括起始坐标p,宽度L,以及船的速度v.船会往返在河的两岸,人到达河岸时,船的位置是随机的(往返中).问说人达到公司所需要的期望时间. 考虑每条河的过河时间: $t_{min} =\frac{L}{V}$,  $t_{max} =\frac{3L}{V}$ 由于每种距离的概率都是相等的,我们可以认为时间的期望就是 $(t_{min}+t_{max})/2$. Code: #includ…
题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C > B/D  <=> A * D > B * C #include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> #include <iostr…
设有事件A.B. 下面结合具体的题目进一步理解这种方法: Q1:保险公司认为人可以分为两类,一类易出事故,另一类则不易出事故.统计表明,一个易出事故者在一年内发生事故的概率是0.4,而对不易出事故者来说,这个概率可以减小到0.2,若假定第一类人占人口比例的30%,现有一个新人来投保,那么该人在一年内出事故的概率有多大? 分析:这里我们要求解该人出事故的概率,那么设事件A是该人出事故.而对于事件B,我们当前有三种选择: (1)    该人是易出事故为事件B1. (2)    该人不是易出事故为事件…
POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问题 |00|+|01|=|0| 注意序列是环形 // // main.cpp // poj3869 // // Created by Candy on 25/10/2016. // Copyright © 2016 Candy. All rights reserved. // #include <i…
题目连接:uva 10056 - What is the Probability ? 题目大意:给出n和p以及m,表示有n个人在丢色子, 谁先丢到某个值就表示胜利,每个人丢到的胜利数值的概率都为p,问第m个人获胜概率. 解题思路:因为n个人可以轮流丢色子,所以要自己定一个下限,而且以为人数比较多,每次并不需要将m以外的人都考虑进去,可以默认为没有丢到胜利的数值. #include <stdio.h> const double tmp = 1e-7; int main () { int cas,…
题目链接:uva 542 - France '98 题目大意:有16支球队比赛,给出16支球队的名称,然后给出16*16的表格,g[i][j] 表示i队胜j队的概率,问说16支球队获得总冠军的概率. 解题思路:模拟比赛的过程,将队伍分组,每次和组内的其他队伍决胜负,概率之和即为出现的概率,只要处理好下标就可以了. #include <stdio.h> #include <string.h> #include <math.h> const int N = 16; char…
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=481&page=show_problem&problem=1962 刚开始没理解题意,看了题解之后也不太理解,现在好点了. 其实可以看作每个麻球的后代是独立的,后代的后代同理也是独立的. 一只麻球有P[j]的概率生j只后代,每只后代在i-1天后死亡的的概率是f[i-1],j只麻球即有pow(f[i-1], j)的概率在…
10491 - Cows and Cars Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1432 In television contests, participants are often asked to choose one from a set…
引用自:http://hi.baidu.com/aekdycoin/item/be20a91bb6cc3213e3f986d3,有改动 题意: 已知D, 每次从[1,D] 内的所有素数中选择一个Ni, 如果D = 0(mod Ni), 那么D /= Ni,否则D不变(可以看成是每一轮 D/= GCD(D,Ni) ) 思路: 概率DP 令 dp[ i ] 表示 D = i 的时候的期望, 即从i 转移到1 的次数期望. 我们有 p = kcnt[ i ] / cnt[ i ]; kcnt[ i ]…
UVA 10828 - Back to Kernighan-Ritchie 题目链接 题意:给图一个流程图,有结点的流程,每次进入下一个流程概率是均等的,有q次询问,求出每次询问结点的运行期望 思路:高斯消元,每一个结点的期望等于全部前趋结点的期望/出度的和,因为存在无限循环的情况,不能直接递推,利用高斯消元去做,推断无解的情况既为无限循环,注意假设一个式自xi为0,可是xn也为0,xi值应该是0,表示无法到达 代码: #include <cstdio> #include <cstrin…
题目连接:uva 11722 - Joining with Friend 题目大意:你和朋友乘火车,而且都会路过A市.给定两人可能到达A市的时段,火车会停w.问说两人能够见面的概率. 解题思路:y = x + w 和y = x - w在给定时间内围成的面积除以时间的总面积,就是求面积的时候要分情况处理. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int t…
UVA 11427 - Expect the Expected 题目链接 题意:玩一个游戏.赢的概率p,一个晚上能玩n盘,假设n盘都没赢到总赢的盘数比例大于等于p.以后都不再玩了,假设有到p就结束 思路:递推,dp[i][j]表示玩i盘.赢j盘的概率,那么一个晚上玩了n盘小于p的概率递推式为: dp(i,j)=dp(i−1,j)∗(1−p)+dp(i−1,j−1)∗p 总和为Q=dp(n,0)+dp(n,1)+...+dp(n,x)(x/n<p) 那么每一个晚上失败的概率Q就求出来了,那么平均玩…
题目链接:uva 11427 - Expect the Expected 题目大意:你每天晚上都会玩纸牌,每天固定最多玩n盘,每盘胜利的概率为p,你是一个固执的人,每天一定要保证胜局的比例大于p才会结束游戏,若n局后仍没有,就会不开心,然后以后再也不完牌,问说你最多会玩多少个晚上. 解题思路:当j/i ≤ p时有dp(i-1,j) (1-p) + dp(i-1, j-1) p,其它dp(i,j) = 0.Q=∑d(n,i) 列出数学期望公式: EX=Q+2Q(1−Q)+3Q(1−Q)2+- s=…
option=com_onlinejudge&Itemid=8&page=show_problem&problem=2321">题目链接:uva 11346 - Probability 题目大意:给定x.y的范围.以及s.问说在该范围内选取一点.和x,y轴形成图形的面积大于s的概率. 解题思路:首先达到方程xy ≥ s,即y = s / x. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2VzaHVhaTE5OTQwN…