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
微信小程序导航栏滑动一定距离后固定到顶部 接上一篇文章的内容,通常在一个页面中部会有一个导航栏查看不同的内容,这篇文章旨在实现在页面下滑的过程中导航栏自动固定到顶部以便我们阅读过程中的切换。 下滑一段距离后自动固定到顶部 首先,思考这个功能应该是怎么实现的: 在页面下滑的过程中,我们希望系统应当能识别下滑了多少距离,当原本的导航栏逐渐被遮住以后(遮住意味着下滑了特定距离),触发这个功能,执行另一种样式,将导航栏固定在页面顶端,同时如果我们将页面往上滑,系统能识别到原来的导航栏能露出来了(即距离顶端的高度小于一个特定的值),这时候又执行最初的样式 阅读详情

相关推荐

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

【图文步骤】EC-Engineer部分操作详细步骤

EC-Engineer部分功能详细使用手册

weixin_42212468的博客 6170

概率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

【数电课程设计】---出租车计价器

文章目录1、任务要求2、方案3、收获 1、任务要求 2、方案 3、收获

LZY 1万+

测绘无人船避坑指南:云卓H12Pro遥控器接海康摄像头,从网络设置到RTSP流延迟优化全流程

本文详细解析了测绘无人船视频子系统的优化方案,重点介绍海康威视摄像头与云卓H12Pro遥控器的深度适配流程。从网络设置到RTSP流延迟优化,提供了一套经过实测的低延迟(<200ms)解决方案,适用于复杂水域环境下的测绘任务。

weixin_30415113的博客 626

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

开心消消乐

1)当点击一个1时,该1变被反转为0,同时相邻的上、下、左、右,以及左上、左下、右上、右下8个方向的1(如果存在1)均会自动反转为0;2)进一步地,一个位置上的1被反转为0时,与其相邻的8个方向的1(如果存在1)均会自动反转为0;上述样例中,四个角上的1均在中间的1的相邻8个方向上,因此只需要点击一次即可。给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。在上述4 * 4的矩阵中,只需要点击2次,即可将所有的1进行消除。接下来N行表示矩阵的初始值,每行均为M个数,取值范围[0,1]

面试高手的博客 2729

解题报告 之 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

4.2 多智能体系统的严格隔离机制:防止上下文污染与隐私数据脱敏实战

本文探讨了多智能体系统中上下文信息共享带来的安全风险与解决方案。研究发现,随着Agent数量增加,上下文信息泄露概率呈指数级上升,可能导致跨Agent错误传播、隐私泄露等问题。文章提出分层隔离架构,将上下文划分为全局共享和本地私有两部分,并通过命名空间隔离、递归压缩和隐私过滤技术确保数据安全。技术实现上,建议为每个子Agent创建独立状态空间,采用原子化更新和读写锁控制避免状态竞争。隐私保护方面,结合正则匹配和命名实体识别技术进行敏感数据过滤,确保符合GDPR等法规要求。这些措施共同构建了可靠、安全且合规的

公众号:AI前沿侦探 225

MIL图像处理那些事:MIL的安装和MIL工具箱

MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL

十多年IT经验,专注机器视觉,智能制造半导体行业 5273

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

YOLOv11 改进 - 注意力机制 | LS-YOLO MSFE 多尺度特征提取模块:并行分支结构增强多尺度感知,优化遥感与小目标检测

本文介绍了一种用于滑坡检测的模型LS-YOLO及其在YOLOv11中的结合应用。LS-YOLO首先构建多尺度滑坡数据集MSLD,为模型训练提供丰富数据。设计了基于高效通道注意力、平均池化和空间可分离卷积的多尺度特征提取模块MSFE,充分提取滑坡特征信息。在解耦头中采用膨胀卷积增加模型感受野。我们将MSFE模块集成进YOLOv11,替换部分原有模块。实验表明,改进后的YOLOv11在数据集中表现出色 。

魔改工程师的博客 870

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

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

poj 2096 Collecting Bugs

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

态度决定高度 496

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、付费专栏及课程。

余额充值