Poj 2096 Collecting Bugs(概率(期望)+dp)

poj2096Collecting Bugs【概率dp入门题求期望】 Language:Default Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 3569   Accepted: 1778 Case Time Limit: 2000MS 阅读详情
/** 
    dp求期望的题。 
    题意:一个软件有s个子系统,会产生n种bug。 
    某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中。 
    求找到所有的n种bug,且每个子系统都找到bug,这样所要的天数的期望。 
    需要注意的是:bug的数量是无穷大的,所以发现一个bug,出现在某个子系统的概率是1/s, 
    属于某种类型的概率是1/n。 
    解法: 
    dp[i][j]表示已经找到i种bug,并存在于j个子系统中,要达到目标状态的天数的期望。 
    显然,dp[n][s]=0,因为已经达到目标了。而dp[0][0]就是我们要求的答案。 
    dp[i][j]状态可以转化成以下四种: 
        dp[i][j]    发现一个bug属于已经找到的i种bug和j个子系统中 
        dp[i+1][j]  发现一个bug属于新的一种bug,但属于已经找到的j种子系统 
        dp[i][j+1]  发现一个bug属于已经找到的i种bug,但属于新的子系统 
        dp[i+1][j+1]发现一个bug属于新的一种bug和新的一个子系统 
    以上四种的概率分别为: 
    p1 =     i*j / (n*s) 
    p2 = (n-i)*j / (n*s) 
    p3 = i*(s-j) / (n*s) 
    p4 = (n-i)*(s-j) / (n*s) 
    又有:期望可以分解成多个子期望的加权和,权为子期望发生的概率,即 E(aA+bB+...) = aE(A) + bE(B) +... 
    所以: 
    dp[i,j] = p1*dp[i,j] + p2*dp[i+1,j] + p3*dp[i,j+1] + p4*dp[i+1,j+1] + 1; 
    整理得: 
    dp[i,j] = ( 1 + p2*dp[i+1,j] + p3*dp[i,j+1] + p4*dp[i+1,j+1] )/( 1-p1 ) 
            = ( n*s + (n-i)*j*dp[i+1,j] + i*(s-j)*dp[i,j+1] + (n-i)*(s-j)*dp[i+1,j+1] )/( n*s - i*j ) 
**/  
#include <cstdio>  
#include <iostream>  
  
using namespace std;  
  
double dp[1005][1005];  
  
int main()  
{  
    int n, s, ns;  
  
    cin >> n >> s;  
    ns = n*s;  
    dp[n][s] = 0.0;  
    for (int i = n; i >= 0; i--)  
        for (int j = s; j >= 0; j--)  
        {  
            if ( i == n && j == s ) continue;  
            dp[i][j] = ( ns + (n-i)*j*dp[i+1][j] + i*(s-j)*dp[i][j+1] + (n-i)*(s-j)*dp[i+1][j+1] )/( ns - i*j );  
        }  
    printf("%.4lf\n", dp[0][0]);  
  
    return 0;  
} 
http://poj.org/problem?id=2096
【文献阅读:信道估计】Deep Residual Learning Meets OFDM Channel Estimation 基于深度学习的信道估计技术 阅读详情

相关推荐

UE5与Cesium for Unreal结合:打造高效离线地图解决方案

本文详细介绍了如何利用UE5与Cesium for Unreal结合打造高效离线地图解决方案,特别适用于数字孪生、军事仿真等网络不稳定场景。通过优化配置、数据处理和性能调优,实现TB级地形数据的流畅渲染,并结合实战案例展示了在油田巡检等复杂环境中的应用效果。

weixin_29007135的博客 493

POJ 2096 Collecting Bugs(期望DP)

题面 Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stuff, he collects software bugs. When Ivan gets a new program, he classifies all possible bugs int...

Yi_Qing_Z的博客 824

嵌入式学习的书单推荐

以上是一些优秀的嵌入式学习书单推荐。选择适合自己的学习材料对于学习嵌入式系统非常重要。每一本书籍都有其独特的优势和特点,读者可以根据自己的学习目标和兴趣选择合适的书籍。同时,我们也要注意不断实践和探索,结合实际项目和项目经验,不断提升自己的嵌入式技术水平。希望本文的推荐能够帮助大家在嵌入式学习的道路上取得更好的成果。

新程序圆 1980

概率dp-poj-2096-Collecting Bugs

题目链接: http://poj.org/problem?id=2096 题目意思: 一个程序有s个子系统,要找出n种bug。 某人一天找n种bug中的一种,求出他找出n种bug并且每个子系统中都有bug的天数的期望。 设dp[i][j]表示已经找到了i种bug,并且在j个子系统中出现了的天数期望。 则dp[n][s]=0.求出dp[0][0]即为最后的结果。期望从后往前推。 第

cc_again的专栏 1867

STM32F103四位数码管动态显示实战:从硬件连接到代码调试(附Proteus仿真)

本文详细介绍了STM32F103驱动四位数码管的动态显示技术,从硬件连接到代码调试的全过程。内容包括共阴/共阳数码管的区别、GPIO配置、动态显示原理及优化方法,并附有Proteus仿真验证。通过实战案例,帮助开发者快速掌握STM32数码管动态显示的核心技术。

weixin_29168393的博客 470

手把手教你配置微信商户平台IP白名单:企业付款到零钱必备步骤

本文详细解析了微信商户平台IP白名单的配置原理与实操步骤,这是实现企业付款到零钱功能的关键安全环节。文章从理解IP白名单的安全逻辑出发,指导开发者精准定位服务器公网IP,并提供了在商户平台后台的详细配置流程与常见问题排查指南,帮助开发者高效完成配置,确保企业付款API的顺利调用。

weixin_29326909的博客 736

POJ 2096 Collecting Bugs:期望dp

题目链接:http://poj.org/problem?id=2096 题意:   有一个程序猿,他每天都会发现一个bug。   bug共有n个种类。属于某一个种类的概率为1/n。   有s个子系统,每个bug属于一个系统。属于某一个系统的概率为1/s。   问你发现的bug能够覆盖到n个种类和s个系统的期望天数。 题解:   期望dp转移的套路:     倒着推。...

a1392136的博客 161

stm32f407VET6 系统学习 day01 GPIO 配置

stm32f407VET6 系统学习 day01 GPIO 配置 LED 蜂鸣器 按键的不讲了,之前讲过了

she666666的博客 8904

解题报告 之 POJ 2096 Collecting Bugs

Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stuff, he collects software bugs. When Ivan gets a new program, he classifies all possible bugs into n categories. Each day he discovers exactly one bug in the

JUST CODE 697

15、 深入理解Akka微服务:创建与管理体育博彩平台

本博文深入探讨了如何使用Akka微服务架构为体育博彩平台创建投影和管理事件数据,包括市场投影、投注投影以及数据库投影的实现。同时,介绍了通过gRPC提供HTTP端点以供外部系统访问的方法,并详细说明了在本地环境和Kubernetes中运行应用程序的步骤及配置建议。

weixin_35756624的博客 96

Atlas 300I Duo - vllm部署Qwen3-VL-8B-Instruct

本文介绍了在Ascend NPU环境下部署Qwen3-VL-8B大语言模型的步骤。主要包括:1)安装驱动、docker和vllm镜像;2)创建特权容器并挂载设备与目录;3)进入容器安装指定版本的transformers;4)设置环境变量和NPU卡配置;5)启动vllm服务;6)测试API接口。部署过程涉及多块NPU卡的使用,需注意内存碎片化问题,最终通过vllm框架提供模型推理服务。

m0_50105717的博客 1561

poj2096 Collecting Bugs

传送门:http://poj.org/problem?id=2096 【题解】 看到有人在uoj群上问这个……就去看了看… 顺便复习下概率dp $f_{i,j}$表示这个人已经找出了$i$种系统的bug,和$j$种bug的期望步数。 每次有4种转移: 1. 发现了新的bug种类,属于新的系统,那么是$f_{i+1, j+1}$,概率是$i/s * j/n$,设两者相乘为$a$...

aklm45097的博客 174

RK3568平台(camera篇)点亮imx586摄像头

mipi摄像头硬件确认点:1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接3.3V。2,时钟:MCLKOUT是24兆时钟。3.4组差分mipi线。mipi的data线的波形为方波。

weixin_49303682的博客 7258

POJ2096 Collecting Bugs【概率DP】

Collecting Bugs Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 11811 Accepted: 5337 Case Time Limit: 2000MS Special Judge Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stuff, he

海岛Blog 534

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

poj 2096 Collecting Bugs 【概率DP】【逆向递推求期望】

Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 3523   Accepted: 1740 Case Time Limit: 2000MS   Special Judge Description Ivan is fon

世界很大 1044

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

poj 2096 Collecting Bugs

题目链接:poj 2096 Collecting Bugs   这道题目,网上找的做法都是一样的,感觉都没有很好的讲述为什么这么做是对的,而其他的就不行 这是本人第一道概率dp题目,随便yy的,难免错误,如果看到错误的话,万望指出 题意:  软件有s个子系统,会产生n种bug。     某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中,都是等可能

态度决定高度 496

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ2096——概率DP——Collecting Bugs

http://poj.org/problem?id=2096 dp[i][j] 表示 已经侵入了i个子系统,已经拥有了j种类的期望 状态转移方程 dp[i][j] = dp[i][j]*(i*j)/(n*s) + dp[i+1][j]*(n-i)*j/(n*s) + dp[i][j+1]*i*(s-j)/(n*s) + dp[i+1][j+1]*(n-i)*(s-j)/(n*s) +...

dgjm4087的博客 127

poj 2096 Collecting Bugs (期望dp)

题目链接:哆啦A梦传送门 题意:一个软件有s个系统,n个bug,每个系统有无数个bug,每天可以找出一个bug。 问:每个系统至少找出一个bug,并且所有种类的bug都找出来的期望天数? 算法合集之《浅析竞赛中一类数学期望问题的解决方法》 题解: 参考博客1: 参考博客2 期望dp。 我们设dp[i][j]表示已在j个系统中找出了i个bug,并且距离目标状态的期望天数。 很显然d...

Jiandong 291

期望DP POJ2096-Collecting Bugs

题意 n种bug,s个子程序。每天随机找一个bug,允许重复。求每种bug都找到,每个程序都找到bug的期望天数 分析 这是一个期望DP,对于期望DP通常是逆向推。即用dp值表示从当前状态到达终止状态的期望值,然后由终止状态推导至初始状态。 这里我们可以以已找到bug种类数量和已完成子程序数量作为状态,dp值表示从当前状态到达终止状态的期望天数。 对于一个状态(i,j),i表示已找到的bug种类数...

wuzy38的博客 292

poj2096 Collecting bugs 概率dp

链接:http://poj.org/problem?id=2096 大意就是讲:n种bug,s个子区域,每天随机在某个区域找一种,问期望找全的时间。 考虑每一种状态,对于每一个f[i][j](表示找了i种,j个区域),在下一天有四种转移可能: 1、在没找过的区域中找到一种没出现过的bug,即转移到f[i+1][j+1],这样做的可能性为{((n-i)/n)*((s-j)/s)},记...

anmaoguai3220的博客 160

POJ 2096 Collecting Bugs

dp求期望的题。      题意:一个软件有s个子系统,会产生n种bug。      某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中。      求找到所有的n种bug,且每个子系统都找到bug,这样所要的天数的期望。      需要注意的是:bug的数量是无穷大的,所以发现一个bug,出现在某个子系统的概率是1/s,      属于某种类型的概率是1/n。  解

iCpC之旅 1087

[POJ2096]Collecting Bugs(期望dp)

题目描述传送门 题意: 一个软件有s个子系统,会产生n种bug 某人一天发现一个bug,这个bug属于一个子系统,属于一个分类 每个bug属于某个子系统的概率是1/s,属于某种分类的概率是1/n 问发现n种bug,每个子系统都发现bug的天数的期望题解令f(i,j)表示发现了i种bug,属于j个子系统到最后的期望天数 显然f(n,s)=0 对于f(i,j),dp方程为

zyf2000 584

poj 2096Collecting Bugs

题目链接 poj 2096Collecting Bugs 题解 dp[i][j]表示已经找到i种bug,并存在于j个子系统中,要达到目标状态的天数的期望。 显然,dp[n][s]=0,因为已经达到目标了。而dp[0][0]就是我们要求的答案。 dp[i][j]状态可以转化成以下四种: dp[i][j] 发现一个bug属于已经找到的i种bug和j个子系统中-->p1 = ij / (...

agtvo48266的专栏 158

Collecting Bugs(概率dp+期望 POJ2096)

传送门 题意 一个程序员每天都可以找到一个 bugbugbug,每个 bugbugbug 都属于一个子系统及一个分类,且属于某个子系统的概率为 1s\frac{1}{s}s1​ ,属于某个分类的概率为 1n\frac{1}{n}n1​ 。求该程序员发现了 nnn 种 bugbugbug ,且属于 sss 个子系统的天数期望。 以 f[i][j]f[i][j]f[i][j] 表示已经找到了 iii 个分类的 bugbugbug ,并且已经找到了 jjj 个子系统的 bugbugbug 后还需天数的期望。则 f

国家一级划水运动员的博客 461

POJ - 2096 Collecting Bugs

Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stuff, he collects software bugs. When Ivan gets a new program, he classifies all possible bugs into n ...

这是一个博客 255

Collecting Bugs POJ - 2096(基础概率dp+期望模板)

题意: 有s个系统,n种bug,小明每天找出一个bug,可能是任意一个系统的,可能是任意一种bug,即是某一系统的bug概率是1/s,是某一种bug概率是1/n。 求他找到s个系统的bug,n种bug,需要的天数的期望。~~题意很难懂··真的很难懂···~~ 题目: Ivan is fond of collecting. Unlike other people who collec...

zeng_jun_yv的博客 327
上一篇: zoj 3329 One Person Game(概率(期望)+dp)经典
下一篇: POJ-1243 One Person (经典级dp)猜数字
ccyy-
博客等级 码龄12年 31粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值