链接:http://poj.org/problem?id=2151 题意:一场比赛有 T 支队伍,共 M 道题, 给出每支队伍能解出各题的概率~  求 :冠军至少做出 N 题且每队至少做出一题的概率~ 思路:设dp[i][j][k] 为 第 i 队 在前 j 题共解出 k 题的概率~ 那么 dp[i][j][k]=dp[i][j-1][k-1]*p[i][j-1] + dp[i][j-1][k]*(1-p[i][j-1]) ~   s[i][0] 为 第 i 队至多解出N-1题的概率,s[i][…
题目链接: http://poj.org/problem?id=2151 Check the difficulty of problems Time Limit: 2000MSMemory Limit: 65536K 问题描述 Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually expect the contes…
Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4748   Accepted: 2078 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually exp…
题意:ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 ,求每队至少解出一题且冠军队至少解出N道题的概率. 析:概率DP,dp[i][j][k] 表示第 i 个队伍,前 j 个题,解出 k 个题的概率,sum[i][j] 表示第 i 个队伍,做出 1-j 个题的概率,ans1等于, T个队伍,至少解出一个题的概率,ans2 表示T个队伍,至少解出一个题,但不超过N-1个题的概率,最后用ans1-ans2即可. 代码如下: #pragma comment(linker, "/STA…
概率DP,还是有点恶心的哈,这道题目真是绕,问你T个队伍.m个题目.每一个队伍做出哪道题的概率都给了.冠军队伍至少也解除n道题目,全部队伍都要出题,问你概率为多少? 一開始感觉是个二维的,然后推啊推啊没有推出来,一開始觉得冠军队伍仅仅能有一个.所以必须控制一个队伍解题数比其他队伍多,并且这个冠军队伍解题数必须大于等于n.大于n的时候其他队伍解题数就非常难了,直到坑到最后才发现 原来能够非常多队伍都是冠军,大家都是十道 那么大家都是冠军.---- 然后还是继续推二维,结果还是没想出.看来不是先如果…
题目链接:http://poj.org/problem?id=2151 题目大意:有M个题目,T支队伍,第i个队伍做出第j个题目的概率为Pij,问每个队伍都至少做出1个题并且至少有一个队伍做出N题的概率. 先定义状态dp[i][j][k],代表第i支队伍从前j个题目里正好做出k题的概率. 有:dp[i][j][k] = dp[i][j-1][k]*(1-p[i][j]) + dp[i][j-1][k-1]*p[i][j]; 然后设f[i]为前i支队伍里,每队至少做出一个题并且至少有一个队伍做出N…
http://poj.org/problem?id=2151   题意 :t个队伍m道题,i队写对j题的概率为pij.冠军是解题数超过n的解题数最多的队伍之一,求满足有冠军且其他队伍解题数都大于等于1的概率.   f[i][j][w]表示i队到第j题总共解出w道题的概率. 为了避免重复计数; pa=所有队伍到最后一道题时的解题数都大于1的概率; pb=所有队伍到最后一道题时解题数都小于n的概率; 答案为pa-pb.   代码如下 #include<cstdio> #include<cst…
解题关键:主要就是概率的推导以及至少的转化,至少的转化是需要有前提条件的. 转移方程:$dp[i][j][k] = dp[i][j - 1][k - 1]*p + dp[i][j - 1][k]*(1 - p)$ 其中$dp[i][j][k]$表示第$i$个人前j题恰好ac了$k$题.然后用前缀和处理一下最后的结果. 每队至少AC一题 反向考虑,用1-每队没A题的概率,再用乘法原理结合一下. 冠军队至少AC$n-1$题,也就是存在一支队伍AC数>=n-1,依然反向考虑,不过是在每队AC至少一题的…
题目链接:http://poj.org/problem?id=3744 题意: 有n个地雷,位置为pos[i]. 在每个位置,你向前走一步的概率为p,向前走两步的概率为1-p. 你的初始位置为1. 问你通过雷区的概率. 题解: 表示状态: dp[i] = probability moving to i 表示走到i的概率 找出答案: ans = dp[last_mine+1] last_mine:最右边一颗雷的位置 如何转移: dp[i] = dp[i-1] * p + dp[i-2] * (1-…
题意: 一条路上,给出n地雷的位置,人起始位置在1,向前走一步的概率p,走两步的概率1-p,踩到地雷就死了,求安全通过这条路的概率. 分析: 如果不考虑地雷的情况,dp[i],表示到达i位置的概率,dp[i]=dp[i-1]*p+dp[i-2]*(1-p),要想不踩地雷求出到达地雷位置的概率tmp,1-tmp就是不踩地雷的情况,问题又来了,位置最大是10^9,普通递推超时,想到了用矩阵优化. #include <map> #include <set> #include <li…