呵呵,我暴力WA

这个题充分考验了大家对数学的理解(麦蒙大多在胡诌)

但是确实如此啊。

看数据范围想状压。(我额嗯嗯想到暴力?)

然后设出一个可爱的$dp$式(主语当然不是我,是出题人大佬)

$f_s$表示二进制组昂态(状态)为$s$时的期望。

那么我们可以从$s'$转移过来,其中$s'  or\   s = s$或$s'   and\   s =s$($and$和$or$均为位运算)(内两个式子是等效的)

那么有:

$f_s= \sum\limits_{i=1}^N p_i \times f_{s'}+(1-\sum \limits_{i=1}^N p_i) \times f_s +1$

真是恐怖,$f_s$转移需要自己~

但是表慌,数学老师可以拯救你,哒哒哒

移项。式子变为:

$\begin{array}{lcl}0 & = & \sum \limits_{i=1}^N p_i \times f_{s'}-f_s \times \sum \limits_{i=1}^N p_i +1\\f_s & = & \frac{\sum \limits_{i=1}^N p_i \times f_{s'}+1}{\sum \limits_{i=1}^N p_i}\end{array}$

还是比较简单的。

 #include <iostream>
#include <cstdio>
#include <cstring> //#include "debug.h" #define N 22
using namespace std;
int n;
double p[N];
long long val,dat;
double dp[(<<)+];
int main(){
scanf("%d",&n);
for (int i=;i<=n;i++){
scanf("%lf%lld",&p[i],&dat);
val=val+dat;
}
cout<<val<<endl;
double ons=,sums=;
for (int s=;s<<<n;s++){
ons=sums=;
for (int i=;i<=n;i++){
if (s&(<<(i-))){
ons+=dp[s^(<<(i-))]*p[i];//cout<<bin(s,n)<<"<<"<<bin(s^(1<<(i-1)),n)<<endl;
sums+=p[i];//cout<<sums<<endl;
}
}//cout<<"O:"<<ons<<" S:"<<sums<<endl;
if(sums==){
// cout<<"T0T"<<NL;
continue;
}
dp[s]=(ons+1.0)/sums;
}
// pour(dp,1,1<<n,10,"Dp");
printf("%.3lf\n",dp[(<<n)-]);
return ;
}

最新文章

  1. iOS开发系列--C语言之构造类型
  2. scala中的集合框架
  3. SpringRMI解析2-RmiServiceExporter逻辑脉络
  4. 20145330《Java程序设计》第二次实验报告
  5. js动态获取当前系统时间+js字符串转换为date日期对象
  6. 【USACO】numtri
  7. CodeForces 651A Joysticks 贪心
  8. 远程连接数据库(通过pgAdmin)
  9. CSS3技巧:利用css3径向渐变做一张优惠券(转)
  10. [SQL Server系] -- 视图
  11. Sending data to USB printer in C#?
  12. 揭开Linux操作系统的Swap交换区之谜
  13. 对LockWindowUpdate与GetDCEx的理解(以前不知道还可以锁住刷新)
  14. CSS 实现三角形、梯形、等腰梯形
  15. JS日期显示格式 yyyy-MM-dd hh:mm:ss
  16. hbase伪分布
  17. 如何书写一篇能看懂的html和CSS代码
  18. 12-关于DOM操作的相关案例
  19. ASP.NET MVC 主要的四种过滤器和三种具体实现类
  20. Unity事件处理机制与NGUI事件机制

热门文章

  1. 如果try中有return那么finally中不要有return不然不会执行try中的return
  2. LoadRunner函数的介绍
  3. js 面向对象几种数据模式
  4. Bean容器的初始化
  5. Quartz:Quartz
  6. NAT后的FTP服务器部署笔记
  7. 04-4-typeof
  8. ES6之数值的扩展学习
  9. zip压缩工具类
  10. 2019-10-31-C#-dotnet-获取整个局域网的-ip-地址