Codeforces 28C [概率DP]
/*
大连热身D题
题意:
有n个人,m个浴室每个浴室有ai个喷头,每个人等概率得选择一个浴室。
每个浴室的人都在喷头前边排队,而且每个浴室内保证大家都尽可能均匀得在喷头后边排队。
求所有浴室中最长队伍的期望。 思路:
概率dp dp[i][j][k]代表前i个浴室有j个人最长队伍是k的概率。
枚举第i个浴室的人数。然后转移的时候其实是一个二项分布。 */ #include<bits/stdc++.h>
using namespace std;
int jilu[];
double dp[][][];
double C[][];
void init() {
C[][] = ;
for ( int i = ; i <= ; i++ )
{
C[i][] = ;
for (int j = ; j <= i; j++)
C[i][j] = C[i-][j-] + C[i-][j];
}
}
int main()
{
int n,m;
init();
scanf("%d%d",&m,&n);
for(int i=;i<=n;i++)scanf("%d",jilu+i);
dp[][][]=;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
for(int k=;k<=m;k++){
for(int c=;c<=j;c++){
if(c<=(k-)*jilu[i]){
dp[i][j][k]+=dp[i-][j-c][k]*C[j][c]/pow(i,j)*pow(i-,j-c);
}
else if(c<=k*jilu[i]){
for(int w=;w<=k;w++){
dp[i][j][k]+=dp[i-][j-c][w]*C[j][c]/pow(i,j)*pow(i-,j-c);
}
}
else break;
}
}
}
}
double ans=;
for(int i=;i<=m;i++){
ans+=i*dp[n][m][i];
}
printf("%.12lf\n",ans);
}
Codeforces 28C [概率DP]的更多相关文章
- codeforces 148D 概率DP
题意: 原来袋子里有w仅仅白鼠和b仅仅黑鼠 龙和王妃轮流从袋子里抓老鼠. 谁先抓到白色老师谁就赢. 王妃每次抓一仅仅老鼠,龙每次抓完一仅仅老鼠之后会有一仅仅老鼠跑出来. 每次抓老鼠和跑出来的老鼠都是随 ...
- codeforces 540D 概率dp
传送门 大概可以这样理解, 一开始有r个石头, p个布, s个剪刀, 每一天有其中的两个相遇, 如果两个是相同的种类, 什么都不会发生, 否则的话有一个会挂掉, 问最后每一种生存的概率. dp[i][ ...
- CodeForces 398B 概率DP 记忆化搜索
题目:http://codeforces.com/contest/398/problem/B 有点似曾相识的感觉,记忆中上次那个跟这个相似的 我是用了 暴力搜索过掉的,今天这个肯定不行了,dp方程想了 ...
- Codeforces 931 概率DP
A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...
- Codeforces - 518D 概率DP初步
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i ...
- Vasya and Magic Matrix CodeForces - 1042E (概率dp)
大意:给定n*m矩阵, 初始位置(r,c), 每一步随机移动到权值小于当前点的位置, 得分为移动距离的平方, 求得分期望. 直接暴力dp的话复杂度是O(n^4), 把距离平方拆开化简一下, 可以O(n ...
- Broken robot CodeForces - 24D (概率DP)
You received as a gift a very clever robot walking on a rectangular board. Unfortunately, you unders ...
- Codeforces 28C Bath Queue 【计数类DP】*
Codeforces 28C Bath Queue LINK 简要题意:有 n 个人等概率随机进入 m 个房间,一个房间可以有多个人,第 i 个房间有 ai 个水龙头,在一个房间的人要去排队装水,他们 ...
- Codeforces #548 (Div2) - D.Steps to One(概率dp+数论)
Problem Codeforces #548 (Div2) - D.Steps to One Time Limit: 2000 mSec Problem Description Input Th ...
随机推荐
- OpenGL阴影,Shadow Volumes(附源程序,使用 VCGlib )
实验平台:Win7,VS2010 先上结果截图: 本文是我前一篇博客:OpenGL阴影,Shadow Mapping(附源程序)的下篇,描述两个最常用的阴影技术中的第二个,Shadow Volu ...
- ASP.NET中Cookies的使用
准备开始写后台代码了,不过刚看到cookies就傻眼了,网上搜集了一些资料,总结了一下,初学者可以看看. 创建COOKIES System.Web.HttpCookie cookie=new Http ...
- node.js Websocket实现扫码二维码登录---GoEasy
最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式.当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些. 要实现扫码登录我们需要 ...
- HttpURlconntiuon获取网络数据
package Network; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream ...
- 将内存ffff:0~ffff:b中的数据拷贝到0:200~0:20b中
我是按照字,也就是2个字节拷贝的. 这样就可以让循环减半== assume cs:sad sad segment start: mov ax, 0ffffh mov ds, ax mov bx, 0h ...
- 《C与指针》第十三章练习
本章例程 13.1类型无关的链表查找 #include <stdio.h> #include "node.h" Node *search_list(Node *node ...
- 3.基础点的移动web
1.移动端的屏幕适配 在Web开发中可以使用px(像素).em.pt(点).in(英寸).cm(厘米)做为长度单位,我们最常用px(像素)做为长度单位. 我们可以将上述的几种长度单位划分成相对长度单位 ...
- CSS初体验
经过学习,我对css有了初步的认识.css是层叠样式表(Cascading Style Sheets的缩写,它用于HTML元素的显示形式,是W3C推出的格式化的标准技术.CSS现在已经被大多数浏览器所 ...
- linux-3.0内核移植到fl2440开发板(以MINI2440为模板)
我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易. 1.[weishusheng@localhost kernel]$ sudo ...
- 阿里云centos yum源更换,两个文件是从阿里云服务器拷贝出来的,可安装openvpn
第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back ...