其实很多时候碰到概率dp的时候不是不会做,只是纠结着概率要怎么联系起来。
概率dp:用于解决求概率、期望...等等和概率相关的问题。
学此之前需要会做dp,就是传说中的动态规划,dp是一个思想,只考虑状态点,位置状态点由已知状态点求出,而且是应用的用一套公式,称作状态转移方程,其实也就是一个统一的规律罢了。。。规律弄出来了,直接用循环把其他结果弄出来就行OK了撒。
概率dp让人纠结的也正是所谓的状态转移方程,你需要明确一个关键点,同一个状态选取的不同操作的概率用加法联系起来,父状态跟子状态之间用乘法联系起来。
比如,三个球,一红一黑一白:
1、你选一次没有选中红球的概率,那么初始状态就是三个球,然后开始操作,即选一个球,有三种方案,选红球或者黑球或则白球,概率都是1/3,这没问题撒?其中符合的方案之后选黑球和选白球,而这两种方案都是由同一个状态执行操作的来的,所以相加等于2/3,- -!
2、选完一个球之后把球拿出来,再选一个仍然不是红球,那么第一次选一个球不是红球的概率是2/3,然后剩下一个红球和非红球,再选一个不是红球的概率是1/2,然后相乘等于1/3,
然后是期望,期望值等于各个方案的值乘以这个方案的概率,所以期望的前提还是求出概率。
概率dp也只是一个思想,用动态转移方程来归纳总的一个概率,这个方程你要根据问题的情况去考虑,仔细分析,因为整个事件是如行云流水一般执行的,所以它们之间必定是由关联的,你的目标就是把这个关联找出来,那么你就赢了。
PS:其实,我能说我当时的概率论那门课都挂了么?-。-!我现在倒是觉得那门课也不是那么毫无存在感了,毕竟那些基本概念你要知道是什么东西,比如期望,碰到问题不会解决没关系,关键你要知道期望值怎么计算,不会计算期望值也没关系,关键你要知道什么是期望值,然后你丫的期望值是什么东西都不晓得,那么。。。就学习小爷,把这门课挂了吧,不挂科的大学是不完美的,哈哈~编程重在逻辑思维,想提升自己,就不要放过任何与数学逻辑相关联的知识。。不然趁早离开这条不归路才是王道
这个可以当作例题来做,里面我写了详细的推导http://blog.csdn.net/jingdianitnan/article/details/47973703