【BZOJ 1419】Red is good [概率DP]】的更多相关文章

定义f[i][j]表示还剩i张红牌,j张黑牌的时候能取得的期望最大值 显然有$f[i][j]=max(0,\frac {i}{i+j}(f[i-1][j]+1)+ \frac {j}{i+j}(f[i][j-1]-1))$ 然后直接DP即可,发现卡内存,滚动数组即可. #include <map> #include <cmath> #include <queue> #include <cstdio> #include <cstring> #inc…
数学期望可以理解成一个 DAG 模型. Code: #include <bits/stdc++.h> #define N 5003 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n,m; double f[3][N]; int main() { int i,j; // setIO("input"); sc…
我 是 Z Z 概率好玄啊(好吧是我太弱.jpg Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. 数据范围与提示 输出答案时,小数点后第六位后的全部去掉,不要四舍五入. Solution 乍一看感觉是道普通求期望,然后就在错误的路上速度与激情..其实不难,但也是道挺好的概率dp 由于要求的是最佳方案,所以并不是所有方案的平均值,即不能把期望作为最终答案.所以该…
概率DP+高斯消元 与博物馆一题不同的是,最终的状态是有一定的概率到达的,但是由于不能从最终状态中出来,所以最后要把最终状态的概率置为0. 一条边$(x,y)$经过的概率是x点的概率$*x$到$y$的概率+$y$的概率$*y$到$x$的概率. 然后直接高斯消元即可. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std…
Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. Input 一行输入两个数R,B,其值在0到5000之间 Output 在最优策略下平均能得到多少钱. Sample Input 5 1 Sample Output 4.166666 HINT 输出答案时,小数点后第六位后的全部去掉,不要四舍五入. (题目太简洁,不需要大意) 这道题和poj的Collecting…
[题意] R红B蓝,选红得1选蓝失1,问最优状态下的期望得分. [思路] 设f[i][j]为i个Rj个B时的最优期望得分,则有转移式为: f[i][j]=max{ 0,(f[i-1][j]+1)*(i/(i+j))+(f[i][j-1]-1)*(j/(i+j)) } 有i/(i+j)的可能性得1分,有j/(i+j)的可能性失1分,再加上原来的分数,则期望得分为上式. 需要用下滚动数组.直接按位数输出采用的四舍五入的方法,所以还需要减去5e-7. [代码] #include<cstdio> #i…
Sol 期望DP. \(f[i][j]\) 表示剩下 \(i\) 张红牌, \(j\) 张黑牌的期望. 有转移方程. \(f[i][j]=0,i=0\) 没有红色牌了,最优方案就是不再翻了. \(f[i][j]=i,j=0\) 只剩下红色牌了,那就全部翻完啊. \(f[i][j]=max\{ 0,\frac{i}{i+j}(f[i-1][j]+1)+\frac{j}{i+j} (f[i][j-1]-1)\}\) 翻到红色的概率是 \(\frac{i}{i+j}\) ,翻到黑色的概率是 \(\fr…
题目链接 BZOJ 洛谷 真的题意不明啊.. \(Description\) 你有k次选择的机会,每次将从n种物品中随机一件给你,你可以选择选或不选.选择它会获得这种物品的价值:选择一件物品前需要先选择某些种物品每种至少一件. 物品价值可能有负.问在最优策略下期望得分. \(Solution\) 并不像期望DP..(这题倒推也不是因为像期望DP那样) 最优解我以为还要贪心,其实只需要在枚举过程中取个max.. 数据范围显然可以用f[i][s]表示当前是第i次,选择过的物品的集合为s时的最大期望得…
3640: JC的小苹果 题意:求1到n点权和\(\le k\)的概率 sengxian orz的题解好详细啊 容易想到\(f[i][j]\)表示走到i点权为j的概率 按点权分层,可以DP 但是对于\(val[i]=0\)的点,就不是DAG了,必须使用高斯消元 每层消元一次?复杂度\(O(SN^3)\),boom!!! 发现每次的系数矩阵一样啊 \[ Ax=b \rightarrow x=A^{-1}b \] 我们求出\(A\)矩阵的逆,然后直接让常数向量乘逆就可以了,因为常数矩阵是向量,一次的…
一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数.当小Z 到达N号顶点时游走结束,总分为所有获得的分数之和. 现在,请你对这M条边进行编号,使得小Z获得的总分的期望值最小.   输入保证30%的数据满足N≤10,100%的数据满足2≤N≤500且是一个无向简单连通图. 做过一道类似的后感觉比较简单了 求$f[i]$到每个点的概率 $f[i]=\…