hdu 4649 Professor Tian
来源:互联网 发布:复杂网络类外文ei期刊 编辑:程序博客网 时间:2024/05/16 05:39
又是两题的节奏
dp[i][j][2]表示第i个数的时候第j位为0或者1的期望
主要还是细心 对于每个操作进行判断
想到状态压缩这道题就不难了
#include <stdio.h>#include <string.h>#define MAXN 220int num[MAXN];char op[MAXN];double p[MAXN];int n;int len(int n){ int cnt=0; while(n>0) { cnt++; n/=2; } return cnt;}double dp(){ double dp[220][22][2]; memset(dp,0,sizeof(dp)); for(int i=0;i<=20;i++) if(num[0]&(1<<i)) dp[0][i][1]=1; else dp[0][i][0]=1; int max=len(num[0]); for(int i=1;i<=n;i++) { max=max>len(num[i])?max:len(num[i]); for(int j=20;j>=0;j--) { if(num[i]&(1<<j)) { if(op[i]=='&') { dp[i][j][1]=dp[i-1][j][1]; dp[i][j][0]=dp[i-1][j][0]; } if(op[i]=='|') { dp[i][j][1]=dp[i-1][j][1]+dp[i-1][j][0]*(1-p[i]); dp[i][j][0]=dp[i-1][j][0]*p[i]; } if(op[i]=='^') { dp[i][j][1]=dp[i-1][j][0]*(1-p[i])+dp[i-1][j][1]*p[i]; dp[i][j][0]=dp[i-1][j][0]*p[i]+dp[i-1][j][1]*(1-p[i]); } } else { if(op[i]=='&') { dp[i][j][1]=dp[i-1][j][1]*p[i]; dp[i][j][0]=dp[i-1][j][0]+dp[i-1][j][1]*(1-p[i]); } if(op[i]=='|') { dp[i][j][1]=dp[i-1][j][1]; dp[i][j][0]=dp[i-1][j][0]; } if(op[i]=='^') { dp[i][j][1]=dp[i-1][j][1]; dp[i][j][0]=dp[i-1][j][0]; } } } } double ans=0; for(int i=0;i<=20;i++) ans+=(1<<i)*dp[n][i][1]; return ans;}int main(){ int ca=1; while(scanf ("%d",&n)!=EOF) { for(int i=0;i<=n;i++) scanf ("%d",&num[i]); for(int i=1;i<=n;i++) { getchar (); scanf ("%c",&op[i]); } for(int i=1;i<=n;i++) scanf ("%lf",&p[i]); double ans=dp(); printf("Case %d:\n%0.6lf\n",ca++,ans); }}
- hdu 4649 Professor Tian
- hdu 4649 Professor Tian
- HDU 4649 Professor Tian
- HDU 4649 Professor Tian
- hdu 4649 Professor Tian
- hdu 4649 Professor Tian (DP)
- DP hdu 4649 Professor Tian
- hdu 4649 Professor Tian(期望)
- hdu 4649——Professor Tian
- hdu - 4649 - Professor Tian(概率dp)
- HDU 4649 - Professor Tian(概率DP)
- HDU 4649 Professor Tian (概率DP)
- HDU-4649 Professor Tian(期望dp)
- HDU 4649 Professor Tian(概率DP)
- 【HDU】4649 Professor Tian 期望DP
- HDOJ 4649 Professor Tian
- HDU 4649 Professor Tian (2013多校联合5 1007)
- hdu 4649 Professor Tian 多校第五场
- 关于一道IEEE754浮点数标准的百度面试题再论
- _TrackMouseEvent 与 WIN32 ToolTip
- 《启示录》读书笔记系列--笔记五
- 破解软件,破解软件下载
- cf聊天室,cf聊天室下载
- hdu 4649 Professor Tian
- 内存卡修复器,内存卡修复器下载
- Service涉及之RPC协议浅谈
- 为什么说Java是一种解释性语言
- unicode编码各模块的说明
- 神剑情天3补丁,神剑情天3补丁下载
- Poj 1328(greedy)
- emucheat,emucheat下载
- CreateEvent的用法