HDU 4649 Professor Tian (概率DP)】的更多相关文章

Professor Tian Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 870    Accepted Submission(s): 479 Problem Description Timer took the Probability and Mathematical Statistics course in the 2012, B…
Professor Tian Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 376    Accepted Submission(s): 199 Problem Description Timer took the Probability and Mathematical Statistics course in the 2012,…
这题起初没读懂题意,悲剧啊,然后看了题解写完就AC了 题意是给一个N,然后给N+1个整数 接着给N个操作符(只有三种操作  即  或 ,与 ,和异或 |   &  ^ )这样依次把操作符插入整数之间就可以得到一个表达式 接着给出 N 给浮点数(在0~1之间表示概率 )表示的是 操作符和他右边的整数丢失的概率. 例如下面这组数据 1 1 2 & 0.5 整数与操作符间可以组成一个表达式即 1&2 但是由于某些原因表达式的操作符和他操作的右边的 那个数有一定的概率会丢失这组数据就是 &…
思路:反状态压缩——把数据转换成20位的01来进行运算 因为只有20位,而且&,|,^都不会进位,那么一位一位地看,每一位不是0就是1,这样求出每一位是1的概率,再乘以该位的十进制数,累加,就得到了总体的期望. 对于每一位,状态转移方程如下: f[i][j]表示该位取前i个数,运算得到j(0或1)的概率是多少. f[i][1]=f[i-1][1]*p[i]+根据不同运算符和第i位的值运算得到1的概率. f[i][0]=f[i-1][0]*p[i]+根据不同运算符和第i位的值运算得到0的概率. 初…
题意:一个表达式,n + 1个数,n个操作,每个操作Oi和数Ai+1对应,给出每个操作Oi和数Ai+1消失的概率,给出最后表达式值得期望.只有| , ^,&三个位操作 思路:显然位操作只对当前位相关,那么我们可以一位一位求解,算出每一位的概率,然后算出这一位所给出的贡献的期望. 代码: #include<set> #include<map> #include<cmath> #include<queue> #include<cstdio>…
本文出自   http://blog.csdn.net/shuangde800 题目链接:点击打开链接 题目大意 初始有一个数字A0, 然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一个操作符,&,|,^ 且每个数字出现的概率是pi 如果某个数字出现了,那么就和前面的数字用它的操作符进行位运算. 问最终的期望值是多少? 思路 这题官方题解说是反状态压缩,还是第一次做这种题. 知道了怎么表示状态这题就觉得不难做了,赛后1A. 题解官方的已经很详细了,不再累赘: 反状态压缩——把数据…
题目链接 暴力水过的,比赛的时候T了两次,优化一下初始化,终于水过了. #include <cstdio> #include <cstring> #include <string> #include <algorithm> using namespace std; #define MOD 1000000007 #define LL __int64 ][<<]; <<]; <<]; ]; ]; ]; int judge(ch…
不知道这题算作什么类型的题目,反正很巧妙,队友小杰想了没一会就搞定了 为了学习这种方法,我也搞了搞,其实思路不难想,位运算嘛,只有0和1,而且该位的运算只影响该位,最多20位,一位一位地计算即可,只需要把每位的情况考虑清楚 #include <stdio.h> int a[210]; char op[210]; double p[210]; int main() { int n,cas=0; while(scanf("%d",&n)==1) { for(int i=…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4649 题意:给一个位运算的表达式,每个运算符和其后的运算数有一定概率不计算,求最后表达式的期望. 因为只有20位,而且&,|,^都不会进位,那么一位一位地看,每一位不是0就是1,这样求出每一位是1的概率,再乘以该位的十进制数,累加,就得到了总体的期望. 对于每一位,状态转移方程如下: f[i][j]表示该位取前i个数,运算得到j(0或1)的概率是多少. f[i][1]=f[i-1][1]*p[i]+…
11年北京现场赛的题目.概率DP. 公式化简起来比较困难....而且就算结果做出来了,没有考虑特殊情况照样会WA到死的.... 去参加区域赛一定要考虑到各种情况.   像概率dp,公式推出来就很容易写出来了. /* HDU 4098 题意:有n个人排队等着在官网上激活游戏.Tomato排在第m个. 对于队列中的第一个人.有一下情况: 1.激活失败,留在队列中等待下一次激活(概率为p1) 2.失去连接,出队列,然后排在队列的最后(概率为p2) 3.激活成功,离开队列(概率为p3) 4.服务器瘫痪,…