思路:反状态压缩——把数据转换成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的概率. 初…
本文出自   http://blog.csdn.net/shuangde800 题目链接:点击打开链接 题目大意 初始有一个数字A0, 然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一个操作符,&,|,^ 且每个数字出现的概率是pi 如果某个数字出现了,那么就和前面的数字用它的操作符进行位运算. 问最终的期望值是多少? 思路 这题官方题解说是反状态压缩,还是第一次做这种题. 知道了怎么表示状态这题就觉得不难做了,赛后1A. 题解官方的已经很详细了,不再累赘: 反状态压缩——把数据…
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 但是由于某些原因表达式的操作符和他操作的右边的 那个数有一定的概率会丢失这组数据就是 &…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4336 题目大意:有n种卡片,需要吃零食收集,打开零食,出现第i种卡片的概率是p[i],也有可能不出现卡片.问你收集齐n种卡片,吃的期望零食数是多少? 状态压缩:f[mask],代表收集齐了mask,还需要吃的期望零食数. 打开包装,有3种情况,第一种:没有卡片,概率(1-sigma(p[i])) 第二种,在已知种类中:概率sigma(p[j]) 第三种,在未知种类中:p[k] 因此 f[mask]…
题意:一个表达式,n + 1个数,n个操作,每个操作Oi和数Ai+1对应,给出每个操作Oi和数Ai+1消失的概率,给出最后表达式值得期望.只有| , ^,&三个位操作 思路:显然位操作只对当前位相关,那么我们可以一位一位求解,算出每一位的概率,然后算出这一位所给出的贡献的期望. 代码: #include<set> #include<map> #include<cmath> #include<queue> #include<cstdio>…
不知道这题算作什么类型的题目,反正很巧妙,队友小杰想了没一会就搞定了 为了学习这种方法,我也搞了搞,其实思路不难想,位运算嘛,只有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=…
题目链接 暴力水过的,比赛的时候T了两次,优化一下初始化,终于水过了. #include <cstdio> #include <cstring> #include <string> #include <algorithm> using namespace std; #define MOD 1000000007 #define LL __int64 ][<<]; <<]; <<]; ]; ]; ]; int judge(ch…
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3502 #include <iostream> #include <cstdio> #include <string> #include <cmath> #include <cstring> using namespace std; int T, N; ][], dp[<<]; <<]; ; i…