• HDU 4649 Professor Tian(反状态压缩dp,概率)




    本文出自   http://blog.csdn.net/shuangde800



    题目链接点击打开链接


    题目大意

    初始有一个数字A0, 然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一个操作符,&,|,^

    且每个数字出现的概率是pi

    如果某个数字出现了,那么就和前面的数字用它的操作符进行位运算。

    问最终的期望值是多少?


    思路

    这题官方题解说是反状态压缩,还是第一次做这种题。

    知道了怎么表示状态这题就觉得不难做了,赛后1A。


    题解官方的已经很详细了,不再累赘:

    反状态压缩——把数据转换成20位的01来进行运算

    因为只有20位,而且&,|,^都不会进位,那么一位一位地看,每一位不是0就是1,这样求出每一位是1的概率,再乘以该位的十进制数,累加,就得到了总体的期望。

    对于每一位,状态转移方程如下:

    f[i][j]表示该位取前i个数,运算得到j(01)的概率是多少。

    f[i][1]=f[i-1][1]*p[i]+根据不同运算符和第i位的值运算得到1的概率。

    f[i][0]同理。

    初始状态:f[0][0~1]=01(根据第一个数的该位来设置)

    每一位为1的期望 f[n][1]



    代码

     
  • 相关阅读:
    [转]男人25岁之前应该懂得的21个道理
    family album U.S.A 05
    Humour
    Pretty Boy
    [转]男人本色.女人风韵
    电话英语
    搞不懂的女人
    family album U.S.A 03
    [转]The flame of love(爱的火焰)
    四季花开!
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3244033.html
Copyright © 2020-2023  润新知