hdu 4050(概率dp)

时间:2021-10-28 13:32:50

算是挺简单的一道概率dp了,如果做了前面的聪聪于可可的话,这题不需要什么预处理,直接概率dp就行了。。。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <map>
#include <queue>
#include <sstream>
#include <iostream>
using namespace std;
#define INF 0x3fffffff
#define N 2020 double p[N][];
int n,a,b;
double dp[N][]; void dfs(int s,int k)
{
if(dp[s][k]>=) return ;
double tmp=;
if(k==)
{
double tp=;
for(int i=s+a;i<=s+b;i++)
{
if(i>n) //超出了界限
{
tmp+=tp;
break;
}
dfs(i,);
tmp += tp*p[i][]*(dp[i][]+); //选2的时候的概率
dfs(i,);
tmp += tp*p[i][]*(dp[i][]+);
tp*=(-p[i][]-p[i][]);
}
dp[s][k]=tmp;
}
else
{
if(k==)
{
double tp=;
for(int i=s+a;i<=s+b;i++)
{
if(i>n) //超出了界限
{
tmp+=tp;
break;
}
dfs(i,);
tmp+=tp*p[i][]*(dp[i][]+);
dfs(i,);
tmp+=tp*p[i][]*(dp[i][]+);
tp*=(-p[i][]-p[i][]);
}
dp[s][k]=tmp;
}
else
{
double tp=;
for(int i=s+a;i<=s+b;i++)
{
if(i>n) //超出了界限,
{
tmp+=tp;
break;
}
dfs(i,);
tmp+= tp*p[i][]*(dp[i][]+);
dfs(i,);
tmp+=tp*p[i][]*(dp[i][]+);
dfs(i,);
tmp+=tp*p[i][]*(dp[i][]+);
tp*=p[i][];
}
dp[s][k]=tmp;
}
}
} int main()
{
//freopen("//home//chen//Desktop//ACM//in.text","r",stdin);
//freopen("//home//chen//Desktop//ACM//out.text","w",stdout);
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&n,&a,&b);
for(int i=;i<=n;i++)
{
for(int j=;j<=;j++)
scanf("%lf",&p[i][j]);
}
for(int i=;i<=n;i++)
for(int j=;j<=;j++)
dp[i][j]=-;
dfs(,);
printf("%.6lf\n",dp[][]);
}
return ;
}

hdu 4050(概率dp)的更多相关文章

  1. HDU 4599 概率DP

    先推出F(n)的公式: 设dp[i]为已经投出连续i个相同的点数平均还要都多少次才能到达目标状态. 则有递推式dp[i] = 1/6*(1+dp[i+1]) + 5/6*(1+dp[1]).考虑当前这 ...

  2. HDU 5001 概率DP &vert;&vert; 记忆化搜索

    2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP  測 ...

  3. hdu 3853 概率dp

    题意:在一个R*C的迷宫里,一个人在最左上角,出口在右下角,在每个格子上,该人有几率向下,向右或者不动,求到出口的期望 现在对概率dp有了更清楚的认识了 设dp[i][j]表示(i,j)到(R,C)需 ...

  4. HDU 4815 概率dp,背包

    Little Tiger vs. Deep Monkey Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K ( ...

  5. HDU 4405 &lpar;概率DP&rpar;

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4405 题目大意:飞行棋.如果格子不是飞行点,扔骰子前进.否则直接飞到目标点.每个格子是唯一的飞行起点 ...

  6. hdu 4336 概率dp &plus; 状压

    hdu 4336 小吃包装袋里面有随机赠送一些有趣的卡片,如今你想收集齐 N 张卡片.每张卡片在食品包装袋里出现的概率是p[i] ( Σp[i] <= 1 ), 问你收集全部卡片所需购买的食品数 ...

  7. hdu 4576&lpar;概率dp&plus;滚动数组&rpar;

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576 思路:由于每次从某一位置到达另一位置的概率为0.5,因此我们用dp[i][j]表示第i次操作落在 ...

  8. hdu 5001 概率DP 图上的DP

    http://acm.hdu.edu.cn/showproblem.php?pid=5001 当时一看是图上的就跪了 不敢写,也没退出来DP方程 感觉区域赛的题  一则有一个点难以想到 二则就是编码有 ...

  9. hdu 3853LOOPS &lpar;概率DP&rpar;

    LOOPS Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others) Total Su ...

随机推荐

  1. SQL Server - 数据库初识

      在互联网笔试中,常遇到数据库的问题,遂来简单总结,注意,以 Sql Server 数据库为例. 数据库 数据库系统,Database System,由数据库和数据库管理系统组成. 数据库,Data ...

  2. iOS - Swift NSEnumerator&Tab;&Tab;迭代器

    前言 public class NSEnumerator : NSObject, NSFastEnumeration 1.迭代器 let arr:NSArray = ["bei", ...

  3. Linux 删除空行

    在Linux上处理一些数据文件时,有时候需要将其中的空行过滤掉,系统中提供的各种工具都可以完成这个功能.将常用的介绍如下吧:1. grep grep . data.txt grep -v '^$' d ...

  4. js中window&period;print&lpar;&rpar;去除页眉页脚

    //jsp打印时去除页眉页页脚 打印前加入下面代码即可 var HKEY_Root,HKEY_Path,HKEY_Key; HKEY_Root="HKEY_CURRENT_USER&quot ...

  5. 用PHP向MySql中写入图片

    我们经常遇到的问题是如何将图片文件放到Mysql数据库当中,这样可以避免没有认证的用户找到我们的图片资源! 1.看看数据库里的表结构怎么写 CREATE TABLE Images (     PicN ...

  6. 关于map与set的一点理解;

    set代码: #include<stdio.h> #include<set> using namespace std; int main(){ set<int>m; ...

  7. 执行 npm run update-webdriver 提示文件不能获取错误

    按照angularjs官网的入门教程中输入 npm run update-webdriver  总是提示 https://chromedriver.storage.googleapis.com/2.1 ...

  8. python webserver&comma; based on SimpleHTTPServer

    #-*- coding:utf-8 -*- #author: lichmama #email: nextgodhand@163.com #filename: httpd.py import io im ...

  9. gitlab备份、恢复、升级

    1.备份 gitlab的备份很简单,只要使用命令: gitlab-rake gitlab:backup:create 即可将当前的数据库.代码全部备份到/var/opt/gitlab/backups ...

  10. SSL踩坑ERR&lowbar;SSL&lowbar;VERSION&lowbar;OR&lowbar;CIPHER&lowbar;MISMATCH

    最近公司项目开发了一个微信小程序,并且部署测试OK,由于微信小程序调用的后端接口必须是HTTPS,所以给接口安装了SSL,第一天测试都正常.第二天早上再使用时页面无响应. 抓包发现是后端接口抛出: n ...