概率DP总结 by kuangbin

2024-05-28 04:58
文章标签 总结 dp 概率 kuangbin

本文主要是介绍概率DP总结 by kuangbin,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.cnblogs.com/kuangbin/archive/2012/10/02/2710606.html

概率DP主要用于求解期望、概率等题目。

转移方程有时候比较灵活。

一般求概率是正推,求期望是逆推。通过题目可以体会到这点。

 

首先先推荐几篇参考的论文:

《信息学竞赛中概率问题求解初探》

《浅析竞赛中一类数学期望问题的解决方法》

《有关概率和期望问题的研究 》

 

1、POJ 3744 

Scout YYF I
此题是一个用矩阵优化的求概率的题目。
主要思想是分段,根据转移方程用矩阵求解。
题解见 here
POJ 3744

 

 2、POJ 2096 Collecting Bugs

dp求期望,概率dp入门题。很简单,题解见here

POJ 2096

 

 3、ZOJ 3329  One Person Game

此题的递推方程稍微复杂点,需要转化后求解系数。

题意:有三个骰子,分别有k1,k2,k3个面。
每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和。
当分数大于n时结束。求游戏的期望步数。初始分数为0

题解见here

 

ZOJ 3329

 

4、HDU  4405 Aeroplane chess

这题是2012年网络赛的题目。是很简单的概率dp.转移方程很好想到。

求期望。按照公式从后望前递推就可以得到答案了。

解题报告here

HDU 4405

 

 5、HDU 4089 Activation

这题是求概率,但是也有种求期望的感觉,都是要列出公式来,化简,递推出答案。

2011年北京现场赛的题目。再比赛时做出来确实不容易,需要对概率DP很熟悉才能做出来。

解题报告见here

HDU 4089

 

6、HDU 4035 Maze

经典的的概率DP的题目。做了可以体会到dp 求期望的一类的方法。

解题报告见here

HDU 4035

 

 7、HDU 3853 LOOPS

 比较简单的概率DP了,入门基础题。

注意一个小陷进。

解题报告here

HDU 3853

 

8、POJ 2151 Check the difficulty of problems

此题还不算是概率DP的题目。就是DP题,求概率。

想到转移方程就不难了。

题解见here

POJ 2151

 

 9、Codeforces  148D Bag of mice

抓老鼠问题。转移方程要思考下就出来了。

解题报告here

CF 148D

 

10、POJ 3071 Football

足球赛的淘汰赛问题。问最后胜利的概率最大的球队。

简单概率DP

题解报告见here

POJ 3071

 

 11、SGU  495 Kids and Prizes 

简单的概率DP。  O(1),推公式就可以出来。

解题报告here

SGU 495

 

 12、ZOJ  3380 Patchouli's Spell Cards

用JAVA的大树做的概率DP。有m个位置,每个位置填入1~n中的一个数,求至少有L个数一样的概率。

解题报告见here

ZOJ 3380

 

 13、ZOJ 3640  Help Me Escape

比较简单的概率DP,记忆化搜索很好理解,也很容易写。

解题报告here

ZOJ 3640

 

 14、HDU 4336 Card Collector

求期望,可以状态压缩概率DP求解。也可以用容斥原理直接求。解题报告here

HDU 4336
HDU 4336

 

 

下面介绍的三题是用高斯消元法求解的概率DP

15、ZJUT 1423 地下迷宫

 一个N*M的迷宫,除了障碍外等概率走,求起点走到终点步数的期望。先在起点进行bfs,找出所以可以到达的点并编号,然后建立方程组求解。

ZJUT 1423

 

16、ZJUT 1317 掷飞盘

在一个环上抛掷两个飞盘 ,每个飞盘等概率往左和右走,问两个飞盘走到同一个地方所需要步数的期望。

按照他们的距离表示状态进行概率DP。dp[i]=dp[i-2]/4+dp[i+2]/4+dp[i]/2+1.整理下就出来方程。注意是循环的,要进行处理。

ZJUT 1317

 

 

17、HDU 4418 Time travel

在坐标轴上用高斯消元法求解。注意N=1的时候要特判一下。解题报告here

HDU 4418

 


这篇关于概率DP总结 by kuangbin的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009598

相关文章

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

hdu4826(三维DP)

这是一个百度之星的资格赛第四题 题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=500 题意:从左上角的点到右上角的点,每个点只能走一遍,走的方向有三个:向上,向下,向右,求最大值。 咋一看像搜索题,先暴搜,TLE,然后剪枝,还是TLE.然后我就改方法,用DP来做,这题和普通dp相比,多个个向上

hdu1011(背包树形DP)

没有完全理解这题, m个人,攻打一个map,map的入口是1,在攻打某个结点之前要先攻打其他一个结点 dp[i][j]表示m个人攻打以第i个结点为根节点的子树得到的最优解 状态转移dp[i][ j ] = max(dp[i][j], dp[i][k]+dp[t][j-k]),其中t是i结点的子节点 代码如下: #include<iostream>#include<algorithm

hdu4865(概率DP)

题意:已知前一天和今天的天气概率,某天的天气概率和叶子的潮湿程度的概率,n天叶子的湿度,求n天最有可能的天气情况。 思路:概率DP,dp[i][j]表示第i天天气为j的概率,状态转移如下:dp[i][j] = max(dp[i][j, dp[i-1][k]*table2[k][j]*table1[j][col] )  代码如下: #include <stdio.h>#include