题目链接:

  http://codeforces.com/problemset/problem/698/C

题目大意:

  n个物品,k个格子,第i个物品每次被选取的概率为$p_{i}$,如果格子里没有该物品就把它丢进去,如果没有,再看格子是否被装满,如果被装满,就把最早选取的替换成该物品,求$10^{100}$次后格子里含有每个物品的概率。

  答案精度要求小于$10^{-6}$。

题解:

  就不能自己玩一次试试吗= =

  因为选取的次数太多了,所以可以看做一定会选到能选取的物品。(有一些为0的当然选不到了)

  然后正着推……

  我们可以发现,一个物品是否存在只与其最后一次出现的位置有关(显然),同时重复一个物品的情况可以直接合并(不会对答案产生贡献)。即,问题在于最后若干次选取中,选到k个物品。所以我们的问题就变成了在k次选取中,选到每种物品的概率。

  然后……这题还有容斥流!?

  想想也是…然而没有写。

 #include<cstdio>
using namespace std;
int n,m;
double ans[];
double f[<<];
double p[];
int num[<<];
double tot[<<];
int main(){
scanf("%d%d",&n,&m);
int cnt=n;
for(int i=;i<n;i++){
scanf("%lf",p+i),f[<<i]=p[i];
cnt-=(p[i]==0.0);
}
if(m>cnt) m=cnt;
for(int i=;i<(<<n);i++)
for(int j=;j<n;j++)
if(i&(<<j))
num[i]++;
else
tot[i]+=p[j];
for(int s=;s<(<<n);s++){
for(int i=;i<n;i++){
if((<<i)&s)
continue;
else if(tot[s]!=) f[(<<i)|s]+=f[s]*p[i]/tot[s];
}
}
for(int i=;i<(<<n);i++)
if(num[i]==m)
for(int j=;j<n;j++)
ans[j]+=f[i]*(((<<j)&i)>);
for(int i=;i<n;i++)
printf("%.20lf ",ans[i]);
}

  

【codeforces 698C】LRU的更多相关文章

  1. 【codeforces 415D】Mashmokh and ACM(普通dp)

    [codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ...

  2. 【codeforces 707E】Garlands

    [题目链接]:http://codeforces.com/contest/707/problem/E [题意] 给你一个n*m的方阵; 里面有k个联通块; 这k个联通块,每个连通块里面都是灯; 给你q ...

  3. 【codeforces 707C】Pythagorean Triples

    [题目链接]:http://codeforces.com/contest/707/problem/C [题意] 给你一个数字n; 问你这个数字是不是某个三角形的一条边; 如果是让你输出另外两条边的大小 ...

  4. 【codeforces 709D】Recover the String

    [题目链接]:http://codeforces.com/problemset/problem/709/D [题意] 给你一个序列; 给出01子列和10子列和00子列以及11子列的个数; 然后让你输出 ...

  5. 【codeforces 709B】Checkpoints

    [题目链接]:http://codeforces.com/contest/709/problem/B [题意] 让你从起点开始走过n-1个点(至少n-1个) 问你最少走多远; [题解] 肯定不多走啊; ...

  6. 【codeforces 709C】Letters Cyclic Shift

    [题目链接]:http://codeforces.com/contest/709/problem/C [题意] 让你改变一个字符串的子集(连续的一段); ->这一段的每个字符的字母都变成之前的一 ...

  7. 【Codeforces 429D】 Tricky Function

    [题目链接] http://codeforces.com/problemset/problem/429/D [算法] 令Si = A1 + A2 + ... + Ai(A的前缀和) 则g(i,j) = ...

  8. 【Codeforces 670C】 Cinema

    [题目链接] http://codeforces.com/contest/670/problem/C [算法] 离散化 [代码] #include<bits/stdc++.h> using ...

  9. 【codeforces 515D】Drazil and Tiles

    [题目链接]:http://codeforces.com/contest/515/problem/D [题意] 给你一个n*m的格子; 然后让你用1*2的长方形去填格子的空缺; 如果有填满的方案且方案 ...

随机推荐

  1. Java小技巧输出26个英文字母

    相信有的童鞋写到过与字母有关的小东西,是否有写过全部的字母呢?26个这么多字母,一个个打会疯掉.所有咱们可以用一个小技巧使用for循环帮我们把26个字母自动搞出来,大家来瞅一眼把! 使用Java遍历2 ...

  2. angularjs学习笔记之一

    directive 通过AngularJS模块API中的.directive()方法,我们可以通过传入一个字符串和一个函数来 注册一个新指令.其中字符串是这个指令的名字,指令名应该是驼峰命名风格的,函 ...

  3. Construct Binary Tree from Preorder and Inorder Traversal(根据前序中序构建二叉树)

    根据前序中序构建二叉树. 1 / \ 2 3 / \ / \ 4 5 6 7对于上图的树来说, index: 0 1 2 3 4 5 6 先序遍历为: 6 3 7为了清晰表示,我给节点上了颜色,红色是 ...

  4. 关于eclipse运行TestNG出现: CreateProcess error=206, ÎļþÃû»ò)չÃû的解决办法

    最近玩物流宝的一个项目,需要测试下3个系统打通的接口. 不测不要紧,一测吓一跳.我的乖乖:几百个bean被加进来.就凭我这肉机,内存不爆才怪. 于是换一套方案,用了另一个测试接口. 但是这个测试接口, ...

  5. .haccess 配置生效

    前言:网上看到有写用.haccess会影响到网站速率之类的,这里只是讲解自己的一点配置.haccess的心得,其它的之后再讨论哈~ 1.普通配置: 网上都有的那种配置   apache/conf/ht ...

  6. truffle 安装以及基本指令

    1. linux下安装方式 $ npm install -g truffle 环境要求: NodeJS 5.0+ Windows,Linux,或Mac OS X 2. 创建工程: $ mkdir te ...

  7. The 4 Essentials of Video Content Marketing Success

    https://www.entrepreneur.com/article/243208 As videos become increasingly popular, they provide the ...

  8. 程序员DD 《Spring boot教程系列》补充

    最近在跟着程序员DD的Spring boot教程系列学习Spring boot,由于年代原因,Spring boot已经发生了一些变化,所以在这里进行一些补充. 补充的知识大多来自评论区,百度,Sta ...

  9. windows开发的python移植到linux的问题

    2016年1月28日 这个问题已经自己解决   file-setting下 左侧code style  line separator下拉选择unix就可以了 我在windows上开发的python想移 ...

  10. SSH X11 MAC

    1. X11 for Mac     2. Ubuntu下通过SSH转发X窗口需要具备的条件 原文:http://unix.stackexchange.com/questions/12755/how- ...