uvalive 5721 Activation (概率dp+方程)
题目链接:http://vjudge.net/problem/viewProblem.action?id=24999
主要思想就是解方程的思想。
二维dp应该很容易想到,就是当前位置加队伍长度。
dp递推式存在循环,因此想到像解方程组一样把一个dp值解出来,然后顺序递推。
先贴代码,一会把递推式放上来。
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
#include <algorithm>
#define eps 1e-5 using namespace std; double dp[][],c[],a[],b[];
int main(){
double p1,p2,p3,p4,p21,p31,p41;
int n,m,k;
while(scanf("%d%d%d",&n,&m,&k)!=EOF){
scanf("%lf%lf%lf%lf",&p1,&p2,&p3,&p4);
if(p4<eps){
printf("0.00000\n");
continue;
}
p21=p2/(1.0-p1);
p31=p3/(1.0-p1);
p41=p4/(1.0-p1);
memset(dp,,sizeof dp);
dp[][]=p4/(1.0-p1-p2);
int i,j;
for(i=;i<=n;i++){
for(j=;j<=k&&j<=i;j++)c[j]=p41+p31*dp[i-][j-];
for(j=k+;j<=i;j++)c[j]=p31*dp[i-][j-];
a[]=1.0,b[]=0.0;
for(j=;j<=i;j++){
a[j]=a[j-]*p21;
b[j]=b[j-]*p21+c[j];
}
dp[i][i]=(a[i]*p41+b[i])/(1.0-a[i]*p21);
dp[i][]=p21*dp[i][i]+p41;
for(j=;j<i;j++)dp[i][j]=p21*dp[i][j-]+c[j];
}
printf("%.5lf\n",dp[n][m]);
}
}
uvalive 5721 Activation (概率dp+方程)的更多相关文章
- [HDU 4089]Activation[概率DP]
题意: 有n个人排队等着在官网上激活游戏.Tomato排在第m个. 对于队列中的第一个人.有以下情况: 1.激活失败,留在队列中等待下一次激活(概率为p1) 2.失去连接,出队列,然后排在队列的最后( ...
- HDU4089/Uva1498 Activation 概率DP(好题)
题意:Tomato要在服务器上激活一个游戏,一开始服务器序列中有N个人,他排在第M位,每次服务器会对序列中第一位的玩家进行激活,有四种结果: 1.有p1的概率会激活失败,这时候序列的状态是不变的.2. ...
- HDU 4089 Activation 概率DP 难度:3
http://acm.hdu.edu.cn/showproblem.php?pid=4089 这道题中一共有两个循环: 1.事件1 如果一直落在Activation failed事件上,那么就会重新继 ...
- [HDU4089]Activation(概率DP)
HDU4089 题意:有n个人排队等着在官网上激活游戏.Tomato排在第m个. 对于队列中的第一个人.有一下情况: 1.激活失败,留在队列中等待下一次激活(概率为p1) 2.失去连接,出队列,然后排 ...
- HDU 4089 Activation(概率DP)(转)
11年北京现场赛的题目.概率DP. 公式化简起来比较困难....而且就算结果做出来了,没有考虑特殊情况照样会WA到死的.... 去参加区域赛一定要考虑到各种情况. 像概率dp,公式推出来就很容易写 ...
- UVALive 2522 Chocolate(概率DP)
思路:定义DP方程dp[i][j]标记选到第i个巧克力的时候,桌面上还剩下j个巧克力,状态转移有两个方向,dp[i-1][j-1],dp[i-1]lj+1],分别表示桌面上多了一个和消了一个,乘上需要 ...
- UVALive 6672 Bonus Cards 概率dp
题意呢 就是有两种售票方式 一种是icpc 一种是其他方式 icpc抢票成功的概率是其他方式的2倍…… 这时 一个人出现了 他通过内幕知道了两种抢票方式各有多少人 他想知道自己如果用icpc抢票成功的 ...
- UVALive 6514:Crusher’s Code(概率dp)
题目链接 https://icpcarchive.ecs.baylor.edu/external/65/6514.pdf 题意:给出n个数(n<8) 求这n个数分别两个程序排成有序时,程序的期望 ...
- [转]概率DP总结 by kuangbin
概率类题目一直比较弱,准备把kuangbin大师傅总结的这篇题刷一下! 我把下面的代码换成了自己的代码! 原文地址:http://www.cnblogs.com/kuangbin/archive/20 ...
随机推荐
- 揭开Linux操作系统的Swap交换区之谜
揭开Linux操作系统的Swap交换区之谜 Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要.通过调整Swap ...
- WordPress BuddyPress Extended Friendship Request插件跨站脚本漏洞
漏洞名称: WordPress BuddyPress Extended Friendship Request插件跨站脚本漏洞 CNNVD编号: CNNVD-201307-609 发布时间: 2013- ...
- [Poetize II]七夕祭
描述 Description TYVJ七夕祭和11区的夏祭的形式很像.矩 形的祭典会场由N排M列共计N×M个摊点组成.虽然摊点种类繁多,不过cl只对其中的一部分摊点感兴趣,比如章鱼烧.苹果糖.棉花糖. ...
- Delphi stdCall意义
Delphi stdCall意义 1.此代码所在单元是个库,可被别的应用来调用,像SysUtils.DateUtils.Classes等单元一样,都是为将来的无穷无尽的应用提供服务的.2.此代码还可能 ...
- 域名解析中A记录、CNAME、MX记录、NS记录的区别和联系
可以看出加了www.和不加www之后的区别. 可以看出域名解析中有几种记录,A记录,CNAME CNAME记录是域名指向另一个域名A记录是域名指向IP地址 A记录 又称IP指向,用户可以在此设置子域名 ...
- Ueditor 1.4.3 jsp utf-8版图片上传问题
- Team Foundation Server 2013 with Update 3 Install LOG
[Info @10:14:58.155] ====================================================================[Info @ ...
- 概率dp-九度-1546-迷宫问题
题目链接: http://ac.jobdu.com/problem.php?pid=1546 题目意思: 有一个起点S,多个出口E,#代表不能走,每次等概率的随机选择下一个可以行走的位置,求从S到出口 ...
- MYSQL 体系结构图-log (踏雪无痕) (UC技术博客)
http://www.cnblogs.com/chenpingzhao/category/690116.html http://www.cnblogs.com/chenpingzhao/p/51074 ...
- common-httpclient 用户名密码认证示例
import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.com ...