LightOJ - 1265 (概率)】的更多相关文章

题意:有t头老虎,d头鹿,每天五种情况,虎虎,虎鹿,鹿鹿,鹿人,人虎,求生存的概率 题意:鹿就是来迷惑你的(结果我就陷进坑了),无论怎么选最后一定只剩下虎虎,虎人两种情况对结果有影响,那么如果有n只虎,生存的概率就是n+1中取两个不同的,老虎中取两个不同的,n(n-1)/n*(n+1)=(n-1)/(n+1),不断递推下去就好了 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #de…
A Dangerous Maze (II) LightOJ - 1395(概率dp) 这题是Light Oj 1027的加强版,1027那道是无记忆的. 题意: 有n扇门,每次你可以选择其中一扇.xi为负值的门带你abs(xi)后又回到原点.xi为正值 的门则带你离开迷宫,并且你会记住你前面选择的K道门,在下次选择的时候不会选择这些门.选择每扇门的概率相等.求走出迷宫的时间期望值. 题解: \(定义E[i] 表示记住了K道门后,显然这K道门都是为负值的门,走出迷宫的时间期望值,sum1表示为正的…
Where to Run LightOJ - 1287(概率dp) 题面长长的,看了半天也没看懂题意 不清楚的地方,如何判断一个点是否是EJ 按照我的理解 在一个EJ点处,要么原地停留五分钟接着走,要么直接走,但是这样样例都对不上 mmp,原来是说,在原地停留五分钟后再继续这两种选择 而且题目问的是 求被警察抓的期望时间,实际上却是求遍历完整张图的期望时间,也就是说总是会走是EJ的点 对于每个点来说从该点出发的期望时间\(dp[i] = \frac{dp[i]+5}{cnt+1} + \frac…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1265 题目大意:有一个生存游戏,里面t只老虎,d只鹿,还有一个人,每天都要有两个生物碰面,现在有以下规则 1.老虎和老虎碰面,两只老虎就会同归于尽 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 3.人和鹿碰面,人可以选择吃或者不吃该鹿 4.鹿和鹿碰面,相安无事 问人存活下来的概率 人生存下来的条件就是不被老虎吃掉,所以只要所有的老虎都同归于尽了,人就可以生存下来了  如果老虎的数量…
题目链接:https://vjudge.net/problem/LightOJ-1265 1265 - Island of Survival    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are in a reality show, and the show is way too real that they threw into an island. Only two kind…
题意: 1.两只老虎相遇 就互相残杀 2.老虎与鹿相遇 鹿死 3.老虎与人相遇 人死 4.人与鹿相遇     鹿死 5.鹿与鹿相遇     无果 求人活的概率 解析:如果老虎为0  则人活得概率为1   如果老虎为奇数  因为只有两只老虎相遇的时候 老虎才能死  所以必然是两个两个一起死  所以 最后必然剩一只老虎    所以人死  活得概率为0 如果老虎为偶数  每天不让老虎和人相遇即可   等到所有老虎都相遇 互相残杀之后  人不就是活的了吗  而且鹿的数量 并不能影响人的存活率  因为鹿并…
题目链接...我找不着了 \(Description\) 岛上有t只老虎,1个人,d只鹿.每天随机有两个动物见面 1.老虎和老虎碰面,两只老虎就会同归于尽: 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方: 3.人和鹿碰面,人可以选择吃或者不吃该鹿: 4.鹿和鹿碰面,相安无事: 求最后人活下来的最大期望概率. \(Solution\) 人要活下来,一定是所有的老虎都死亡,而老虎只能和老虎两两同归于尽. 所以如果老虎数量为奇数,那鹿总有一天会被吃完,人一定不能存活: 如果老虎数量为偶数,则考虑老虎…
You are in a reality show, and the show is way too real that they threw into an island. Only two kinds of animals are in the island, the tigers and the deer. Though unfortunate but the truth is that, each day exactly two animals meet each other. So,…
题意: 1.两只老虎相遇 就互相残杀 2.老虎与鹿相遇 鹿死 3.老虎与人相遇 人死 4.人与鹿相遇     鹿死 5.鹿与鹿相遇     无果 求人活的概率 解析:如果老虎为0  则人活得概率为1   如果老虎为奇数  因为只有两只老虎相遇的时候 老虎才能死  所以必然是两个两个一起死  所以 最后必然剩一只老虎    所以人死  活得概率为0 如果老虎为偶数  每天不让老虎和人相遇即可   等到所有老虎都相遇 互相残杀之后  人不就是活的了吗  而且鹿的数量 并不能影响人的存活率  因为鹿并…
Lights inside 3D Grid LightOJ - 1284 题意: 在一个三维的空间,每个点都有一盏灯,开始全是关的, 现在每次随机选两个点,把两个点之间的全部点,开关都按一遍:问k次过后开着的灯的期望数量: 题解:对每个点 单独计算贡献,即k次过后每个点开关被按了奇数次的期望 对于每个点来说,要使得该点开关被按过,那么选择的两个点不能在该点的同侧,即三个方向上都在两侧 这样的概率为$P = \frac{(X \cdot X - (i - 1) \cdot (i - 1) - (X…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1030 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; ; const int INF = 0x3f3f3f3f; double dp[maxn]; int a[maxn]; int main() { //f…
Island of Survival You are in a reality show, and the show is way too real that they threw into an island. Only two kinds of animals are in the island, the tigers and the deer. Though unfortunate but the truth is that, each day exactly two animals me…
概率dp+高斯消元 https://vjudge.net/problem/LightOJ-1151 题意:刚开始在1,要走到100,每次走的距离1-6,超过100重来,有一些点可能有传送点,可以传送到前面或后面,那么概率dp没法递推,只能高斯消元 设期望E(x),首先100这个位置的期望E(100)=0,然后可以找出方程, 对于传送点,E(x)=E(go(x)),对于非传送点,E(x)=(E(x+1)+E(x+2)+E(x+3)+E(x+4)+E(x+5)+E(x+6)+6)/cnt(cnt是可…
题意:给你一个n面骰子,问你投出所有面需要的次数的期望值是多少. 题解:放在过去估计秒解,结果现在自己想好久,还查了下,有人用极限证明...实际上仔细想想这种情况投出与前面不一样的概率p的倒数就是次数的期望值阿!好菜 后面再查了下是几何分布,离散型的... /** @Date : 2016-10-26-19.01 * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : * @Version : $ */ #include <stdio.h> #…
题目大意:有一个生存游戏,里面t仅仅老虎,d仅仅鹿,另一个人,每天都要有两个生物碰面,如今有下面规则 1.老虎和老虎碰面.两仅仅老虎就会同归于尽 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 3.人和鹿碰面.人能够选择吃或者不吃该鹿 4.鹿和鹿碰面,相安无事 问人存活下来的概率 解题思路:自己想复杂了.用了二维的dp... 看了别人的,发现根本不用dp,人生存下来的条件就是不被老虎吃掉,所以仅仅要全部的老虎都同归于尽了,人就能够生存下来了 假设老虎的数量是奇数,那么人总有一天会被吃掉的 假设老…
题意:每年n天,求最少几个人使这些人中最少两个人生日相同的概率大于0.5 题解:直接递推,假设有k个人,所有情况为n^k,没有相同的情况为n*(n-1)*...*(n-k+1),可以算出1e5以内不超过400,复杂度不会爆炸 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define pi acos(-1.0) #define ll lo…
题意:n个银行,每个有价值和被抓概率,要求找被抓概率不超过p的最大价值 题解:dp[i][j]表示前i个取j价值的所需最小概率,01背包处理,转移方程dp[i][j]=min(dp[i-1][j],dp[i-1][j-v[i]]+(1-dp[i-1][j-v[i]])*p) #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define pi…
题意:给一个数n,每次除它的一个因子(等概率),问除到1的次数的期望是多少 题解:概率dp,对于一个数x,y是x的因子个数,因子是a1到ay,E(x)=(E(a1)+1)/y+...+(E(ay)+1)/y,复杂度O(nsqrt(n)) #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define pi acos(-1.0) #define…
Snakes and Ladders LightOJ - 1151 题意: 有100个格子,从1开始走,每次抛骰子走1~6,若抛出的点数导致走出了100以外,则重新抛一次.有n个格子会单向传送到其他格子,tp[i]表示从i传送到tp[i]. 1和100不会有传送,一个格子也不会有两种传送.问走到100的期望值. \(dp[i]\)表示从格子i走出去的期望次数 分两种情况考虑 格子不可以传送 \(dp[i] = \frac{1}{6} \cdot \sum_{j=1}^{k}dp[i+j] + \…
#include<cstdio>//wrong_codes #include<algorithm> using namespace std; ],anss; ],T,TT,n,endd; int main() { int i,j; scanf("%d",&T); ;TT<=T;TT++) { scanf("%d",&n); ;i<=n;i++) scanf("%d",&a[i]); ;i…
https://blog.csdn.net/moon_sky1999/article/details/98097470 博主在此,牛逼神犇 #include<bits/stdc++.h> using namespace std; ; int main(){ int T,k1,k2; double p; scanf("%d",&T); ;cas<=T;cas++){ scanf("%lf",&p); scanf("%d%d&…
表示对概率和期望还不是很清楚定义. 目前暂时只知道概率正推,期望逆推,然后概率*某个数值=期望. 为什么期望是逆推的,例如你求到某一个点的概率我们可以求得,然后我们只要运用dp从1~n每次都加下去就好了,这样求出来的就是最后的概率.那么期望呢,就是这个概率*数值就行了.但是有时候这么绕来绕去太麻烦了,我们干脆就逆过来.然后我们发现,根据期望的定义,逆过来以后反正做结果并没有太大的改变,dp从n~1就可以了,并且每次都加上数值,然后在for的途中,这个数值是会不断的乘以概率的,所以期望适合用逆推的…
正推不行就逆推! 经典问题:生日悖论 换成其互斥事件:m个人, 每个人生日都不相同的概率 ≤ 0.5 时最小人数. 这就是邮票收集问题的变形:每个邮票至少出现一次的概率 小于等于 0.5 邮票收集问题资料:https://en.wikipedia.org/wiki/Coupon_collector%27s_problem 我们现在面对的是一个n面的骰子, 骰子的每面都是随机出现的, 求问将所有面都被看完所期望的投掷次数(假设只看最上面那一面) 那么, 问题的解就是: H[n] = (1 + 1/…
52张扑克牌,问拿到指定数量的4个花色的最少次数期望是多少,其中拿到joker必须马上将其视作一种花色,且要使后续期望最小. 转移很容易想到,主要是两张joker的处理,一个状态除了普通的4个方向的转移,当没拿到joker时还要增加拿到joker的期望,根据题意直接在当前状态下找最小的期望计算即可. /** @Date : 2017-08-29 17:58:59 * @FileName: LightOJ 1364 概率DP.cpp * @Platform: Windows * @Author :…
Batting Practice LightOJ - 1408(概率dp) 题意:有无限个球,进球的概率为p,问你连续不进k1个球或者连续进k2个球需要使用的球的个数的期望 思路: \(定义f[i]表示已经连续不进i个球,还需要连续不进k1-i个球的期望\) \(g[i]表示已经连续进了i个,还需要连续进k2-i个球的期望\) 显然\(f[k1] = g[k2] = 0\) \(任意0<=i<k1有f[i] = (1-p) \cdot f[i+1] + p \cdot g[1] + 1\) \…
KUANGBIN带你飞 全专题整理 https://www.cnblogs.com/slzk/articles/7402292.html 专题一 简单搜索 POJ 1321 棋盘问题    //2019.3.18 POJ 2251 Dungeon Master POJ 3278 Catch That Cow  //4.8 POJ 3279 Fliptile POJ 1426 Find The Multiple  //4.8 POJ 3126 Prime Path POJ 3087 Shuffle…
[kuangbin带你飞]专题1-23 专题一 简单搜索 POJ 1321 棋盘问题POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 FliptilePOJ 1426 Find The MultiplePOJ 3126 Prime PathPOJ 3087 Shuffle'm UpPOJ 3414 PotsFZU 2150 Fire GameUVA 11624 Fire!POJ 3984 迷宫问题HDU 1241 Oil Deposit…
专题一 简单搜索 POJ 1321 棋盘问题POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 FliptilePOJ 1426 Find The MultiplePOJ 3126 Prime PathPOJ 3087 Shuffle'm UpPOJ 3414 PotsFZU 2150 Fire GameUVA 11624 Fire!POJ 3984 迷宫问题HDU 1241 Oil DepositsHDU 1495 非常可乐HDU 26…
http://lightoj.com/volume_showproblem.php?problem=1079 Just another Robbery As Harry Potter series is over, Harry has no job. Since he wants to make quick money, (he wants everything quick!) so he decided to rob banks. He wants to make a calculated r…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1104 题意:一年365天,在有23个人的情况下,这23个人中有两个人生日相同的概率是大于 0.5 的: 现在在不同的星球上一年有n天,求出x,至少有 x 个人才能使得这 x 人中有两个人的生日相同的概率是>=0.5的:现在除了自己之外还要 x 个人,求x: 我们按 n = 365 算的话,那么有x个人,这些人生日都不相同的概率是 p = 1 * 364/365 * 363/365 *…