题解poj2096

然后,简单翻译一下:

有n个bug,s个程序,每天能发现一个bug,求在每个程序中发现至少一个bug并将每一个bug都至少发现一次的期望天数。典型的期望dp。

如果忘了什么是期望之类的,出门左转数学选修2-3。

方案一:列分布列

很不幸,我们发现在比较差的情况下,也就是总在发现同一个bug时,我们将需要无穷天才能将bug找全。也就是说分布列将有无穷项,明显不可行。

方案二:dp[i][j]记录在j个系统中发现i个bug的期望天数

问题和方案一一样,不再重复了

方案三:dp[i][j]记录j个系统中发现i个bug后距成功的期望天数

这个方案是可行的,只要输出时输出dp[0][0]即可,在这里,dp[n][s]为0,然后自大而小转移到dp[0][0]即可。

有了状态,就需要转移方程了

能转移到dp[i][j]的共有四种情况:

1.新bug,新系统:值:(dp[i+1][j+1]+1),概率:(n-i)(s-j)/ns

2.新bug,旧系统:值:(dp[i+1][j]+1),概率:i(s-j)/ns

3.旧bug,新系统:值:(dp[i][j+1]+1),概率:(n-i)j/ns

4.旧bug,旧系统:值:(dp[i][j]+1),概率:ij/ns

也就是说:dp[i][j]=(dp[i+1][j+1]+1)(n-i)(s-j)/ns+(dp[i+1][j]+1)i(s-j)/ns+(dp[i][j+1]+1)(n-i)j/ns+(dp[i][j]+1)ij/ns,这时,我们发现等式两侧都有dp[i][j],我们需要把它整理出来

原式

现在,我们将dp[i][j]整理了出来,现在就是代码的问题了,在发标程之前,本蒟蒻说明一件事:

输出时要写成

而不是

虽然dp数组是double,但用”%.4lf”输出就会WA,此类题目精度是非常令人头疼的,本题有spj也并未卵用。

好了,上标程

Original: https://www.cnblogs.com/Grharris/p/10349841.html
Author: Grharris
Title: 题解poj2096

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578012/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Redis优化总结

    注意在redis.conf中的小聚合数据类型的特殊编码设置(http://carlosfu.iteye.com/blog/2254572) hash-max-zipmap-entr…

    Linux 2023年5月28日
    073
  • 进程调度算法实现【先来先服务FCFS】【短进程优先SJF】

    #include #include #include #define MAX_DURANCE 1e6 using namespace std; /* * codeBy: slien…

    Linux 2023年6月8日
    094
  • 如何分析redis中的慢查询

    慢查询只记录命令执行时间,并不包括命令排队和网络传输时间。因此客户端执行命令的时间会大于命令实际执行时间。因为命令执行排队机制,慢查询会导致其他命令级联阻塞,因此当客户端出现请求超…

    Linux 2023年5月28日
    086
  • 在自己的项目中使用PCL

    在自己的项目中使用PCL项目设置:1、创建cpp文件,如pcd_write.cpp,文件内容如下例: #include find_package(PCL 1.3 REQUIRED …

    Linux 2023年5月27日
    070
  • 搭建Nginx七层反向代理

    基于https://www.cnblogs.com/Dfengshuo/p/11911406.html这个基础上,在来补充下七层代理的配置方式。简单理解下四层和七层协议负载的区别吧…

    Linux 2023年6月8日
    0111
  • tomcat服务器和servlet的基本认识

    今天下午在知乎看见了一个老哥的文章,写的是servlet写的很好,以前我对Javaweb方面的理解比较混乱今天看了这位老哥的文章后受益匪浅,知乎名叫:bravo1988​ 里面也有…

    Linux 2023年6月6日
    0100
  • linux学习之对用户和组群进行管理

    本实验的主要任务是对用户和组群进行管理,使用 su 和 sudo 命令以及管理文件和目录的权限。结合文件权限与用户和组群的设置,理解文件的3 种用户身份及权限对于文件和目录的不同含…

    Linux 2023年6月13日
    081
  • redis订阅关闭异常解决

    redis订阅关闭异常解决 应用程序模块订阅redis运行一段时间出现一直重连Redis服务,日志如下: 2019-04-28 10:06:17,551 ERROR org.spr…

    Linux 2023年5月28日
    0111
  • Java语言高级(第六部分)函数式接口 Stream流、方法引用 ->(个人学习记录笔记)

    第一章 函数式接口 1.1 概念 函数式接口在Java中是指: 有且仅有一个抽象方法的接口。 函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda…

    Linux 2023年6月8日
    079
  • Linux 0.11源码阅读笔记-中断过程

    Linux 0.11源码阅读笔记-中断过程 是什么中断 中断发生时,计算机会停止当前运行的程序,转而执行中断处理程序,然后再返回原被中断的程序继续运行。中断包括硬件中断和软件中断,…

    Linux 2023年5月27日
    0108
  • 快速掌握Linux三剑客命令使用

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    094
  • 网络安全常见术语

    黑客帽子之分 白帽 白帽:亦称白帽黑客、白帽子黑客,是指那些专门研究或者从事网络、计算机技术防御的人,他们通常受雇于各大公司,是维护世界网络、计算机安全的主要力量。很多白帽还受雇于…

    Linux 2023年6月14日
    085
  • 001 研发同学必学哪些 Linux 命令?

    身为研发同学,Linux 是绕不过去的一个小山包,不是说要掌握的十分精通,在程序员界里做个极客,也不是说要抢了 Devops 同学的饭碗,但至少要做到摆脱对 Linux 命令认知的…

    Linux 2023年5月27日
    082
  • Redis分布式锁实战

    背景 目前开发过程中,按照公司规范,需要依赖框架中的缓存组件。不得不说,做组件的大牛对CRUD操作的封装,连接池、缓存路由、缓存安全性的管控都处理的无可挑剔。但是有一个小问题,该组…

    Linux 2023年5月28日
    089
  • bash shell相关知识

    shell与bash 什么是shell ——以上图片摘自《鸟哥的Linux私房菜》 系统核心不能随意地被操作,所以就设计出了壳程序shell,一方面保护了系统核心,另一方面提供了人…

    Linux 2023年6月7日
    0110
  • SignalR 如何借助redis 实现跨进程通信

    关于redis的订阅和发布功能,这里讲到比较好https://redisbook.readthedocs.io/en/latest/feature/pubsub.html sign…

    Linux 2023年5月28日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球