http://acm.hdu.edu.cn/showproblem.php?pid=4649

枚举当前状态是0或者是1的概率 其实就枚举1的概率 最后概率乘这个数

位运算用得不熟  老出错

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int a[];
char c[];
double p[],dp[];
int main()
{
int i,j,n,kk=;
while(scanf("%d",&n)!=EOF)
{
kk++;
for(i = ; i <= n ; i++)
scanf("%d",&a[i]);
for(i = ; i <= n ; i++)
cin>>c[i];
for(i = ; i <= n ; i++)
scanf("%lf",&p[i]);
double ans=;
for(i = ; i <= ; i++)
{
memset(dp,,sizeof(dp));
if((a[]&(<<i))!=)
dp[] = ;
for(j = ; j <= n ;j++)
{
dp[j] += p[j]*dp[j-];
if(c[j]=='^')
{
if((a[j]&(<<i))!=)
dp[j]+=(-dp[j-])*(-p[j]);
else
dp[j]+=dp[j-]*(-p[j]);
}
if(c[j]=='&')
{
if((a[j]&(<<i))!=)
dp[j]+=dp[j-]*(-p[j]);
}
if(c[j]=='|')
{
if((a[j]&(<<i))!=)
dp[j]+=(-p[j]);
else
dp[j]+=dp[j-]*(-p[j]);
}
}
ans+=(<<i)*dp[n];
}
printf("Case %d:\n%.6f\n",kk,ans);
}
return ;
}

hdu4649Professor Tian的更多相关文章

  1. Hdu 1052 Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  2. HDU 1052 Tian Ji -- The Horse Racing(贪心)(2004 Asia Regional Shanghai)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052 Problem Description Here is a famous story in Ch ...

  3. LA 3266 (贪心) Tian Ji -- The Horse Racing

    题意: 田忌和齐王各有n匹马,如果马的速度比齐王的快就赢200,慢则输200,相等不赔不赚. 已知两人每匹马的速度(为整数)和齐王所排出的马的顺序,问田忌该如何应对才能使收益最大. 分析: 本以为是一 ...

  4. 【策略】UVa 1344 - Tian Ji -- The Horse Racing(田忌赛马)

    Here is a famous story in Chinese history. That was about 2300 years ago. General Tian Ji was a high ...

  5. Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Jav ...

  6. UVA 1344 Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Here is a famous story in Chinese history. That was about 2300 years ago ...

  7. HDU 4649 Professor Tian

    Professor Tian Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) T ...

  8. hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】

    思路:先按从小到大排序, 然后从最快的開始比(如果i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比較,如果等于然后推断,有三种情况: 一:大于则比較, ...

  9. Tian Ji -- The Horse Racin

    Tian Ji -- The Horse Racin Problem Description Here is a famous story in Chinese history. "That ...

随机推荐

  1. iOS开发——企业证书(免审核 299$)

    (最近准备考试……空闲截图整理成博客)

  2. Sublime Text3一些安装和使用技巧

    ST3是一款很好的编辑软件,他不仅仅是能编辑前端代码,包括JS,PHP,HTML,CSS等,还能编辑JAVA,C++等常用后代编辑语言.因为本人写前端,本篇文章只介绍ST3的一些前端的技巧. 对于ST ...

  3. MySQL的记录长度

    MySQL的记录长度 MySQL默认规定一条记录最大的长度是65535字节,所有的字段加在一起所占的字节数不能超过65535.但是MySQL中字段的长度有的时使用字节来规定int,有些字段类型是使用字 ...

  4. php封装文件上传

    这是一个经常在项目中遇到的问题,所以封装一个,分享给大家. 一,前期配置php.ini     如果上传文件超过了php配置那么$_POST或者$_FILES等都是空数组,这点是一个坑,因为那时候就不 ...

  5. 学习C++ Primer 的个人理解(零)

    由于自己看书之后经常容易忘记细节,所以写在博客上让我自己的思路更加清晰一些. 我的博客仅仅只是将书中的内容概括一下,有一些不好理解的部分我会用我自己理解的方式使用大白话写出来. 仅此而已.

  6. C++ map.insert 传参类型不同,构造/析构次数不同

    1. 传参方式 使用 insert 为 map 插值时,insert 的传参包含以下几种可能: make_pair 生成对象 pair(key_type, value_type) 生成对象 pair( ...

  7. sql触发器知识

    触发器中的Inserted和deleted临时表: SQL2000中,inserted表和deleted表用于存放对表中数据行的修改信息.他们是触发器执行时自动创建的,放在内存中,是临时表.当触发器工 ...

  8. 创建一个cocos2d-x工程添加一个自定义Scene并显示

    #include "cocos2d.h" class RunScene :public cocos2d::CCLayer { public: virtual bool init() ...

  9. 不能将“const char [7]”转换为“LPCTSTR”

    試試用強制轉換變數型態的方法吧,像這樣(LPCTSTR)"WinSun",若不行再試L"WinSun",再不行試_L"WinSun".

  10. platform平台设备驱动简化示例代码

    driver.c: #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h& ...