poj double 就得交c++,我交G++错了一次 题目:http://poj.org/problem?id=2151 题意:ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 问 每队至少解出一题且冠军队至少解出N道题的概率. 每队均至少做一题的概率P1 减去 每队做题数均在1到N-1之间的概率P2 设dp[i][j][k]表示第i个队在前j道题中解出k道的概率 则: dp[i][j][k]=dp[i][j-1][k-1]*p[j][k]+dp[i][j-1][k]*(1-p…
题目链接:http://poj.org/problem?id=2151 题意: 一次ACM比赛,有t支队伍,比赛共m道题. 第i支队伍做出第j道题的概率为p[i][j]. 问你所有队伍都至少做出一道,并且有队伍做出至少n道的概率. 题解: 关于[至少]问题的表示. 对于每一支队伍: mst[i][j] = P(第i支队伍做出至多j道题) 则 P(第i支队伍做出至少j道题) = 1 - mst[i][j-1] 对于所有队伍: P(所有队伍至少答出一题) = ∏ (1 - mst[i][0]) P(…
题意:给出m.t.n,接着给出t行m列,表示第i个队伍解决第j题的概率. 现在让你求:每个队伍都至少解出1题,且解出题目最多的队伍至少要解出n道题的概率是多少? 思路:求补集. 即所有队伍都解出题目的概率,减去所有队伍解出的题数在1~n-1之间的概率 这里关键是如何求出某个队伍解出的题数在1~n-1之间的概率,采用dp的方法: 用p(i,j)表示前i道题能解出j道的概率,有p(i,j)=p(i-1,j)*(1-p(i))+p(i-1,j-1)*p(i)p(i)表示解出第i题的概率. #inclu…
题目链接: 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: 4522   Accepted: 1993 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually exp…
以前做过的题目了....补集+DP        Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4091   Accepted: 1811 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult,…
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…
Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8903   Accepted: 3772 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually exp…
http://poj.org/problem?id=2151 题意:T个队伍M条题目,给出每个队伍i的每题能ac的概率p[i][j],求所有队伍至少A掉1题且冠军至少A掉N题的概率(T<=1000, M<=30) #include <cstdio> #include <cstring> using namespace std; const int T=1005, M=35; double d[T][M], p[T][M]; int n, m, N; void clr()…
http://poj.org/problem?id=2151 看的题解..表示没看懂状态转移方程.. #include<stdio.h> #include<string.h> int m,t,n; ][][],p[][],tt[][]; int main() { int i,j,k; while(~scanf("%d%d%d",&m,&t,&n)) { if (!m && !t && !n) break;…
Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5457   Accepted: 2400 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually exp…
Check the difficulty of problems Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5830 Accepted: 2542 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually expect…
Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4512   Accepted: 1988 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually exp…
Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5009   Accepted: 2206 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually exp…
概率DP kuangbin总结中的第8题 一开始题目看错导致想转移方程想错了……想成f[i][j]表示前 i 个队伍中最多的做出来 j 道题的概率……sigh 看了下题解……其实是对于每个队伍 i 单独考虑做出来 j 道题的概率!!最后再根据情况将t个队伍合并起来…… WA:又忘了POJ上double输出应该用%f了……so sad…
有 T(1<T<=1000) 支队伍和 M(0<M<=30) 个题目,已知每支队伍 i 解决每道题目 j 的的概率 p[i][j],现在问:每支队伍至少解决一道题,且解题最多的队伍的题目数量不少于 N(0<N<=M) 的概率是多少? p[i][j]表示第i个队伍做对第j题的概率.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])…
http://poj.org/problem?id=2151 (题目链接) 题意 T支队伍,一共M道题,第i支队伍解出第j道题的概率为p[i][j].问每支队伍至少解出1道题并且解题最多的的队伍至少解出N道题的概率. Solution 我终于明白了,这种题目,永远也不要想着去搞清楚样例是怎么算出来的,只要列出你认为正确的dp方程就行了.. 于是这道题,令${f_{i,j,k}}$表示第i个队伍,前j道题,解出k道的概率.转移很显然: $${f_{i,j,k}=f_{i,j-1,k-1}*p_{i…
题目链接: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…
题意 某场比赛有M道问题,T支队伍,和数字N给出每支队伍解决每道问题的概率. 问这场比赛满足下面两个条件的概率 1.每支队伍至少做出一道题 2.冠军队至少做出N道题. 分析 条件2是不是可以转化为 至少有一支队做出N道及以上道题. 这个题主要是概率,其次才是dp,而且好像不算概率DP. 我们来倒推一下. 设p2为每支队伍做出来的题数都在(1-N-1)的概率.p1为每只队伍至少做出来一道题的概率.那么答案就是p1-p2. 然后我们再来想怎么求p1和p2.设s[i][j]为第i支队伍做出来题数小于等…
解题关键:主要就是概率的推导以及至少的转化,至少的转化是需要有前提条件的. 转移方程:$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=2151                                                               Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4873   Accepted: 2131 Description Organizing a programming co…
Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5750   Accepted: 2510 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually exp…
题目链接:点击打开链接 Check the difficulty of problems Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8583   Accepted: 3656 Description Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer…
POJ 3398 Perfect Service(树型动态规划,最小支配集) Description A network is composed of N computers connected by N − 1 communication links such that any two computers can be communicated via a unique route. Two computers are said to be adjacent if there is a com…
学习qzz的命名,来写一篇关于动态规划(dp)的入门博客. 动态规划应该算是一个入门oier的坑,动态规划的抽象即神奇之处,让很多萌新 萌比. 写这篇博客的目标,就是想要用一些容易理解的方式,讲解入门动态规划的真正意义. 奶萌兔的温馨提示:建议先理解dfs哦~(本文以一种较为新奇的方式解释DP) 动态规划 那什么是动态规划? 来问问神奇的奶萌兔吧(强行盗梗)! (奶萌兔来给你讲解啦~虽然还在睡觉=w=) 动态规划(英语:Dynamic programming,简称DP)是一种在数学.管理科学.计…
[POJ 2750] Potted Flower(线段树套dp) Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4566   Accepted: 1739 Description The little cat takes over the management of a new park. There is a large circular statue in the center of the park, surrou…
Leetcode之动态规划(DP)专题-983. 最低票价(Minimum Cost For Tickets) 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行.在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出.每一项是一个从 1 到 365 的整数. 火车票有三种不同的销售方式: 一张为期一天的通行证售价为 costs[0] 美元: 一张为期七天的通行证售价为 costs[1] 美元: 一张为期三十天的通行证售价为 costs[2] 美元. 通行证允许数天无限制的旅…
[学习笔记]动态规划-各种 DP 优化 [大前言] 个人认为贪心,\(dp\) 是最难的,每次遇到题完全不知道该怎么办,看了题解后又瞬间恍然大悟(TAT).这篇文章也是花了我差不多一个月时间才全部完成. [进入正题] 用动态规划解决问题具有空间耗费大.时间效率高的特点,但也会有时间效率不能满足要求的时候,如果算法有可以优化的余地,就可以考虑时间效率的优化. [DP 时间复杂度的分析] \(DP\) 高时间效率的关键在于它减少了"冗余",即不必要的计算或重复计算部分,算法的冗余程度是决定…