HDU 4649 Professor Tian】的更多相关文章

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,…
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…
题目链接 暴力水过的,比赛的时候T了两次,优化一下初始化,终于水过了. #include <cstdio> #include <cstring> #include <string> #include <algorithm> using namespace std; #define MOD 1000000007 #define LL __int64 ][<<]; <<]; <<]; ]; ]; ]; int judge(ch…
思路:反状态压缩——把数据转换成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的概率. 初…
这题起初没读懂题意,悲剧啊,然后看了题解写完就AC了 题意是给一个N,然后给N+1个整数 接着给N个操作符(只有三种操作  即  或 ,与 ,和异或 |   &  ^ )这样依次把操作符插入整数之间就可以得到一个表达式 接着给出 N 给浮点数(在0~1之间表示概率 )表示的是 操作符和他右边的整数丢失的概率. 例如下面这组数据 1 1 2 & 0.5 整数与操作符间可以组成一个表达式即 1&2 但是由于某些原因表达式的操作符和他操作的右边的 那个数有一定的概率会丢失这组数据就是 &…
本文出自   http://blog.csdn.net/shuangde800 题目链接:点击打开链接 题目大意 初始有一个数字A0, 然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一个操作符,&,|,^ 且每个数字出现的概率是pi 如果某个数字出现了,那么就和前面的数字用它的操作符进行位运算. 问最终的期望值是多少? 思路 这题官方题解说是反状态压缩,还是第一次做这种题. 知道了怎么表示状态这题就觉得不难做了,赛后1A. 题解官方的已经很详细了,不再累赘: 反状态压缩——把数据…
不知道这题算作什么类型的题目,反正很巧妙,队友小杰想了没一会就搞定了 为了学习这种方法,我也搞了搞,其实思路不难想,位运算嘛,只有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=…
题意:一个表达式,n + 1个数,n个操作,每个操作Oi和数Ai+1对应,给出每个操作Oi和数Ai+1消失的概率,给出最后表达式值得期望.只有| , ^,&三个位操作 思路:显然位操作只对当前位相关,那么我们可以一位一位求解,算出每一位的概率,然后算出这一位所给出的贡献的期望. 代码: #include<set> #include<map> #include<cmath> #include<queue> #include<cstdio>…
[Link]:http://acm.hdu.edu.cn/showproblem.php?pid=4649 [Description] 给你一个由位运算"与""或""和"组成的计算表达式; 每个运算符都有p[i]的几率消失; 问你最后这个计算表达式的值的期望是多少? 运算的数字< 220 [Solution] 因为二进制在进行位运算的时候,是不会产生进位的; 因此,我们可以一位一位地算; 即从二进制的第一位开始算,通过一个简单的DP,得到…
题目链接: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]+…