
ACM/ICPC_概率dp
just_sort
Acdream.
展开
-
POJ 3744 Scout YYF I
【题意】在一条不满地雷的路上,你现在的起点在1处。在N个点处布有地雷,1每次前进p的概率前进一步,1-p的概率前进1-p步。问顺利通过这条路的概率。就是不要走到有地雷的地方。【分析&解题思路】参考斌神博客,先到概率dp这里入个门。设dp[i]表示到达i点的概率,则 初始值 dp[1]=1.很容易想到转移方程: dp[i]=p*dp[i-1]+(1-p)*dp[i-2];但是由于原创 2016-05-25 17:14:18 · 582 阅读 · 0 评论 -
Codeforces 859D Third Month Insanity 概率DP
题目链接:http://codeforces.com/contest/859/problem/D题意:一个排球比赛,开始2^n个队,淘汰制,每一把比赛淘汰一半的人,然后给出了每个人赢其他人的概率,问一个人正确预测比赛结果的最大期望是多少?解法:概率DP好题。比较久没写过概率DP了。复习一下,概率DP一般是dp[i]代表i到终点的期望,然后dp[i] = sigma(dp[j]+代价)*概率原创 2017-09-20 20:19:08 · 440 阅读 · 0 评论 -
美团CODEM复赛 配对游戏 概率DP
时间限制:1秒空间限制:262144K美团点评是综合性生活服务平台,覆盖吃喝玩乐。在休闲娱乐版块,有很多轰趴、桌游、密室逃脱类的项目,适合多人一起玩。下面就是出自团队游戏场景中的一个问题。有 n 个人排成一排,一开始全部面向前方,然后大家一起转身,随机朝左或是朝右转。转身后,不断检查队列,如果存在两个面对面的相邻的人,则将这两个人从队列中消除;直到不存在两个面对面的相邻的人。原创 2017-07-31 14:24:21 · 420 阅读 · 0 评论 -
美团CODEM 初赛B 景区路线规划 概率DP
美团旅行团队最近打算推出一项新服务,为景区的各个景点规划游览路线,提升游客满意度。其中一个重要的问题是对于一个景区道路网,求出游客的满意度的期望值。基于用户的喜好差异,我们需要对男性游客和女性游客的满意度分别计算。 景区被描述成一张n个点、m条边的无向图(无重边,无自环)。每个点代表一个景点,第i个景点游览需要耗费ci分钟,会让男性游客和女性游客的满意度分别增加h1i和h2i(满意度初始值都为0)原创 2017-07-16 17:52:51 · 735 阅读 · 0 评论 -
BZOJ 1426: 收集邮票 期望DP,数学推导
Description 有n种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n。但是由于凡凡也很喜欢邮票,所以皮皮购买第k张邮票需要支付k元钱。 现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望。 Input 一行,一个数字N N<=10000 Output原创 2017-05-01 09:36:48 · 534 阅读 · 0 评论 -
BZOJ 1419: Red is good 期望DP
Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元。可以随时停止翻牌,在最优策略下平均能得到多少钱。 Input 一行输入两个数R,B,其值在0到5000之间 Output 在最优策略下平均能得到多少钱。 Sample Input 5 1 Sample Output 4.166666 HINT输出原创 2017-04-30 17:32:46 · 498 阅读 · 0 评论 -
BZOJ 1417: Pku3156 Interconnect 期望DP
Description给出无向图G(V, E). 每次操作任意加一条非自环的边(u, v), 每条边的选择是等概率的. 问使得G连通的期望操作次数. (|V| <= 30, |E| <= 1000) Input第一行两个整数N,M 1<=N<=30 0<=M<=1000 接下来M行,每行两个整数X,Y表示两者之间已修好一条道路. 两点之间可以不止修了一条路,也有可能M条路已使N个点成为一个整体.原创 2017-04-30 16:38:44 · 594 阅读 · 0 评论 -
BZOJ 1415: [Noi2005]聪聪和可可 概率DP,记忆化搜索,BFS
Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数。 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号。 接下来E行,每行两个整数,第i+2行的两个整数Ai和Bi表示景点Ai和景点Bi之间有一条路。 所有的路都是无向的,即:如果能从A走到B,就可以从B走到A。 输入保证任何两个景点之间不会有多于一条路直接相连,且聪聪和原创 2017-04-29 14:58:14 · 509 阅读 · 0 评论 -
ZOJ 3822 Domination 期望dp
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3822 题意:每次这个人会随机选择一个空格子扔棋子,然后问你期望扔多少次,可以把n*m的矩阵,每一行和每一列都至少有一个棋子 解法:期望DP,大力搜//ZOJ 3882 期望DP#include <bits/stdc++.h>using namespace st原创 2017-04-05 10:16:49 · 518 阅读 · 0 评论 -
Codeforces Round #272 (Div. 2) B. Dreamoon and WiFi dp,组合数学
题链:这里 题意: 给你一个串s1,和一个串s2 然后s2中有一些问号,有0.5的概率是向左边,有0.5的概率是向右边走。 问你s2结束之后,恰好走到s1串走到的目的地的概率是多少。 解法: 一种是直接用组合数来计算,一种是概率DP,dp[i][j]表示考虑到执行第二个串的第i位现在在j位置的概率是多少。为了让数组下标不为负数,这里初始位置从50开始进行修正。//CF 476B#incl原创 2017-03-15 09:55:06 · 682 阅读 · 0 评论 -
HDU 5781 ATM Mechine dp
题目链接:这里 题意: 你在银行里面存了不超过k元的钱,然后你可以取钱。 如果你取的钱超过了你在银行存的钱,那么你会被警告。 你最多被警告w次,问你采用最优策略之后,期望取完所有钱的次数是多少 解法: E(i,j):存款的范围是[0,i],还可以被警告j次的期望值。 E(i,j) = minik=1i−k+1i+1∗E(i−k,j)+ki+1∗E(k−1,j−1)+1这样时间复杂度是O原创 2017-03-17 15:39:24 · 569 阅读 · 0 评论 -
BZOJ 1076: [SCOI2008]奖励关 状压,期望DP
Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也就是说,即使前k-1次系统都抛出宝物1( 这种情况是有可能出现的,尽管概率非常小),第k次抛出各个宝物的原创 2017-01-30 13:04:33 · 686 阅读 · 0 评论 -
Codeforces Round #105 (Div. 2) D. Bag of mice
【题意】原来袋子里有w只白鼠和b只黑鼠龙和王妃轮流从袋子里抓老鼠。谁先抓到白色老师谁就赢。王妃每次抓一只老鼠,龙每次抓完一只老鼠之后会有一只老鼠跑出来。每次抓老鼠和跑出来的老鼠都是随机的。如果两个人都没有抓到白色老鼠则龙赢。王妃先抓。问王妃赢的概率。【解题思路】设dp[i][j]表示现在轮到王妃抓时有i只白鼠,j只黑鼠,王妃赢的概率明显 dp[0][j]=0,0原创 2016-07-09 16:26:09 · 418 阅读 · 0 评论 -
SGU 495 Kids and Prizes
【题意】 n个盒子里装有礼物,m个人随机选择礼物,选完之后空格子放回,问选中礼物的期望!【解题思路】概率DP , dp[i]代表的是第i个人得到礼物的概率,那么转移就可以这样来做了,假设第i-1个人没有得到礼物,那么i得到礼物的概率和i-1个人相同。假如第i-1个人得到了礼物,那么i得到礼物的概率就应该是i-1的概率减掉1/n。【AC代码】#include #incl原创 2016-07-09 20:29:46 · 391 阅读 · 4 评论 -
HDU 3853 LOOPS
【题意】一个人要从迷宫的左上角,走到迷宫的右下角。迷宫大小为N*M,在迷宫的某个位置,存在3种可能,一是p1的概率不动,2是p2的概率走到(i+1,j),3是p3的概率走到(i,j+1)。问从左上角走到右下角的期望步数。【分析&解题思路】又是一个求期望的套路题,dp[i][j]代表(i,j)到达(R,C)需要消耗的能量,则:dp[i][j]=p1[i][j]*dp[i][j]+p2[i原创 2016-05-26 21:30:32 · 471 阅读 · 0 评论 -
HDU 4405 Aeroplane chess
【题意】飞行棋,从0到n置筛子。置到几步就走几步,当然这里还存在一种捷径。走到某个点到达下一个点不需要花费什么!现在给出了m对这样的点对,要你求出调到第n个位置的时候需要跳几步,也就是求期望!【分析&解题思路】就是简单的求期望的dp,逆推即可!【AC代码】#include #include #include #include using namespace std;const原创 2016-05-26 17:11:05 · 414 阅读 · 0 评论 -
POJ 2096 Collecting Bugs
【题意】一个软件有 s 个子系统,存在 n 种 bug。某人一天能找到一个 bug。问,在这个软件中找齐 n 种 bug,并且每个子系统中至少包含一个 bug 的时间的期望值(单位:天)。注意:bug 是无限多的,每个 bug 属于任何一种 bug 的概率都是 1/n;出现在每个系统是等可能的,为 1/s。【分析&解题思路】令 dp[i][j] 表示已经找到了 i 种 b原创 2016-05-25 19:36:30 · 535 阅读 · 0 评论 -
Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0 - Round 2) 题解
题目链接:http://codeforces.com/contest/867A. Between the Offices题意:水题。解法:直接模拟,判断SF和FS的个数的大小即可。#include using namespace std;char s[110];int main(){ int cnt1=0,cnt2=0; int n; scanf("%原创 2017-10-04 11:10:57 · 791 阅读 · 0 评论