CF698C题解
为什么 \(n,k \leq 20\)?
我还以为是什么 \(n,k \leq 10^6\) 的厉害题/qd
看到这个队列操作很迷惑,但是仔细看看要操作 \(10^{100}\) 遍,所以我们可以直接将这个题意理解成在 \(n\) 个数里面选 \(k\) 个数的概率。
这就很简单了,因为 \(n \leq 20\),所以我们直接大力枚举包含 \(i\) 的子集,然后计算选到这个子集的概率,然后就没了。
这个东西很容易用子集 dp 来转移,子集的概率之和也可以使用 FWT 来计算。
记得特判某些情况会输出 nan。
#include<cstdio>
#include<cmath>
int n,x,S,cnt,siz[1<<20];double ans[20],s[1<<20],P[1<<20];
signed main(){
int i,k,len;
scanf("%d%d",&n,&x);S=1<<n;s[0]=1;
for(i=0;i^n;++i)scanf("%lf",P+(1<<i)),cnt+=P[1<<i]!=0;if(cnt<x)x=cnt;
for(len=1;len^S;len<<=1)for(k=0;k^S;k+=len<<1)for(i=0;i^len;++i)P[i|k|len]+=P[i|k];
for(i=0;i^S;++i){
siz[i]=siz[i>>1]+(i&1);
for(k=0;k^n;++k)if(i>>k&1)s[i]+=s[i^1<<k]*P[1<<k]/P[S-1^i^1<<k];
if(siz[i]==x)for(k=0;k^n;++k)if(i>>k&1)ans[k]+=s[i];
}
for(i=0;i^n;++i)printf("%.9lf ",ans[i]);
}
CF698C题解的更多相关文章
- CF698C. LRU [容斥原理 概率]
CF698C. LRU 题意:n种物品,大小为k的队列,\(p_i\)的概率选择第i种物品放入队尾,如果已经有i了就不放了.队列大小>k时弹出队首.求\(10^{100}\)次操作后每种物品在队 ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
随机推荐
- 使用UrlConnection请求一个url地址获取内容
访问网络需要加Internet权限:android.permission.INTERNET 使用UrlConnection请求一个url地址获取内容: //1.创建一个Url对 ...
- NSMutableString基本概念
1.NSMutableString 基本概念 NSMutableString 类 继承NSString类,那么NSString 供的方法在NSMutableString中基本都可以使用,NSMutab ...
- 通过String获取字符数组
方法一: public void getChars(int start,int end,char c[],int offset) 作用是将当前字符串从start到end-1位置上的字符复制到字符数组c ...
- AFNetWorking 文件上传 By-H罗
一.文件上传(图片,音频,视频,文本等)(不带进度) /** * 文件上传 导入 #import "AFNetworking.h" * @param filePath 上传文件本地 ...
- postman中环境变量的设置方法、使用方法和实际中常见使用场景
文中共介绍2种添加环境变量的方法.2种使用环境变量的方法,以及不同方法的适用范围. 文中给出了环境变量的两种常见使用场景:切换环境.动态参数关联(前一个请求的响应作为下一个请求的入参) 2种添加环境变 ...
- Windows office2019免费激活,附代码
office2019地址:链接:https://pan.baidu.com/s/1zPt5U7b0L-bGHl5AOtYs2w提取码:m5ei 新建一个txt,然后把这段代码放进去,然后保存关闭改后缀 ...
- SpringBoot一览
spring-boot入门 了解SpringBoot 为什么学习SpringBoot java一直被人诟病的一点就是臃肿.麻烦.当我们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其 ...
- 人工智能——CNN卷积神经网络项目之猫狗分类
首先先导入所需要的库 import sys from matplotlib import pyplot from tensorflow.keras.utils import to_categorica ...
- JavaScript的原生Ajax解析
通过JavaScript的Ajax进行详细的解析过程,从而更好的了解Jquery的Ajax. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百 ...
- Solution -「CF 802C」Heidi and Library (hard)
\(\mathcal{Descriptoin}\) Link. 你有一个容量为 \(k\) 的空书架,现在共有 \(n\) 个请求,每个请求给定一本书 \(a_i\).如果你的书架里没有这本书 ...