NYOJ926(概率)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=926

设最终A获胜的概率为P,则B获胜的概率为1-P;

因此我们只需要考虑A获胜的概率即可;

又由题意可知每一轮中他们做对题目的概率是不变的;

可分两种情况讨论:一是在当前局中A获胜了,用p1表示,则p1=(a%)*(1-b%);

或者当前局为平局,用p2表示其概率,则p2=(a%)*(b%),即A只能在之后的游戏中获胜,当前局轮白了,对之后的胜负没有影响,即A此时的胜率仍然为P;

由此可得:p=p1+p2*p;即p=p1/(1-p2);带入p1,p2可得:p=(100*a-a*b)/(10000-a*b);

ac代码:

 1 #include <bits/stdc++.h>
 2 #include <iostream>
 3 #include <queue>
 4 #include <stdio.h>
 5 #include <string.h>
 6 #include <algorithm>
 7 #include <string>
 8 #include <math.h>
 9 #include <set>
10 #include <map>
11 #define mod  1000000007
12 #define MAXN 100000+10
13 #define INF 1000000000
14 #define eps 10e-6
15 #define ll long long
16 using namespace std;
17
18 bool cmp(int a, int b)
19 {
20     return a > b;
21 }
22
23 //******************************************************************************
24
25 int main(void)
26 {
27     std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
28     int t;
29     cin >> t;
30     while(t--)
31     {
32         int a, b;
33         cin >> a >> b;
34         int x=100*a-a*b, y=10000-a*b, gg=__gcd(x, y);
35         cout << x/gg << "/" << y/gg << " " << (y/gg-x/gg) << "/" << y/gg << endl;
36     }
37     return 0;
38 }
时间: 2024-08-28 15:23:15

NYOJ926(概率)的相关文章

Codeforces 28C [概率DP]

/* 大连热身D题 题意: 有n个人,m个浴室每个浴室有ai个喷头,每个人等概率得选择一个浴室. 每个浴室的人都在喷头前边排队,而且每个浴室内保证大家都尽可能均匀得在喷头后边排队. 求所有浴室中最长队伍的期望. 思路: 概率dp dp[i][j][k]代表前i个浴室有j个人最长队伍是k的概率. 枚举第i个浴室的人数.然后转移的时候其实是一个二项分布. */ #include<bits/stdc++.h> using namespace std; int jilu[55]; double dp[

概率密度函数估计笔记

概率密度函数估计是贝叶斯决策的基础,有两大类方法:参数法和非参数法.所谓的参数法是指已知参数形式,但不知道参数,我们要对参数进行估计的过程.这里主要介绍点估计的两种方法:一种是最大似然估计,一种是贝叶斯估计. 最大似然估计 假设: 我们要估计的参数 是确定但未知的: 样本之间是独立同分布的(或者是条件独立,即在某一个固定的条件下样本是独立的): 类条件概率密度的分布形式已知: 不同类别之间的参数是独立的. 主要步骤: 求似然函数: : 最大化似然函数 : . 注:,成立的原因是假设条件2,即样本

LightOJ 1030 Discovering Gold【概率】

题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1030 题意:基础概率题. 代码: #include <stdio.h> #include <string.h> #include <vector> #include <string> #include <algorithm> #include <iostream> #include <iterator>

lightoj1027(数学期望与概率)

题意: 你在一个迷宫里,面前有n扇们,每个门有一个数字k; 如果k为正数,则通过这扇门,走k分钟就能出去, 如果为负数,则通过这扇门走-k的分钟回到迷宫; 走每扇门概率一样.问走出迷宫所需时间的期望值; 思路: 首先如果全是负数肯定是inf; 然后我们假设我们走出去的期望时间是d; 那么拿第三个样例举例子; d = 1/3 * 3  + 1/3( 6 + d) + 1/3 (9 + d); 意思就是每扇门被选择的概率是1/3;选选第一扇门要花3分钟出去,选第二扇门要6 + d(花6分钟返回原地,

BZOJ 3925: [Zjoi2015]地震后的幻想乡(概率)

CLJ就是喜欢出ctsc上讲的东西,看来还是得找时间把他的那几道题做下 首先记f(x)为答案>x的概率,那么把这个东西从0到1积分就是答案了 f(x)<=>边小于x不能使图联通的概率 这个有点难求,考虑求使图联通的概率 记f(s)为集合s联通的概率,那么f(s)=1-sigma(f(s')*(1-x)^cnt) (s'属于s且s'一定包含某点k,cnt为链接s'与Cs s'的边数) 可以发现f(s)是个多项式,就可以积分了 由于还没用上64位评测系统,double还是不能过,只好用__f

codeforces 167B Wizards and Huge Prize 概率dp

题意:给定n个对手,至少要击败其中 l 个人,现在有口袋容量为 k下面n个数字表示击败这个人的概率 下面n个数字(若为-1表示击败这个人可以获得一个金币,若>0则表示可以增加口袋容量为这个数字) 求:至少击败其中的l个人,且获得的总口袋容量 >= 获得的金币个数 的概率是多少.(即任何时候金币都不能放不下) 思路:设dp[i][j][k]表示当前前i个人已经战胜j个人,且剩余口袋容量为k的概率,简单的推下公式即可.有一点需要主要,可能一开始 剩余口袋容量<0后来大于0,所以要加一个常数不

UVA10056 - What is the Probability ?(概率)

题目链接 题目大意:有n个人玩游戏,一直到一个人胜出之后游戏就可以结束,要不然就一直从第1个到第n个循环进行,没人一轮,给出每个人胜出的概率为p,问第i个人胜利的概率. 解题思路:第i个人要胜利,那么就可能在第一轮胜利,也可能在第i轮胜利,那么胜利的概率就是q = 1 - p;概率 = q^(i - 1)?p ? (q^n)^0 + q^(i - 1) ? p ? (q^n)^1 + ...+q^(i - 1) ? p ? (q^n)^k (趋进无穷) 把p? q^(i - 1)提出来,中间的式

概率dp HDU 3853

H - LOOPS Time Limit:5000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 3853 Appoint description:  System Crawler  (2014-10-22) Description Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wa

HDU 4405 Aeroplane chess 概率dp

题目大意: 跳棋有0~n个格子,每个格子X可以摇一次色子,色子有六面p(1=<p<=6),概率相等,可以走到X+p的位置,有些格子不需要摇色子就可以直接飞过去.问从0出发到达n或超过n摇色子的次数的期望. (copy的 思路: 先处理一下每个点最远能飞到的点 保证只会往终点的方向飞.. 能确定的状态就是最终n-n+5这6个点的步数是0 然后从后往前递推 #include <cstdio> #include <iostream> #include <cstring&