HDU 5570:balls 期望。。。。。。。。。。。。。。。
balls
有nn个球,共有mm种颜色,第ii个球的颜色为jj的概率为\frac{a_{i,j}}{a_{i,1}+a_{i,2}+...+a_{i,m}}ai,1+ai,2+...+ai,mai,j。
对于第ii种颜色,若有xx个球,对答案的贡献为x^{2}x2。
问答案的期望。
若干组数据(大概55组)。
每组数据第一行两个整数n(1 \leq n \leq 1000), m(1 \leq m \leq 1000)n(1≤n≤1000),m(1≤m≤1000)。
接下来nn行每行mm个数表示a_i,j(1 \leq a_i,j \leq 100)ai,j(1≤ai,j≤100)
对于每组数组,输出一行表示答案,保留两位小数。
2 2
1 1
3 5
2 2
4 5
4 2
2 2
2 4
1 4
3.00
2.96
3.20
val[i][j]表示第i个球颜色为j的概率。那么第i个球颜色为j的期望E[x[i][j]]=val[i][j]*1+(1-val[i][j])*0=val[i][j]
c[i]表示颜色为i的球的个数。题目要求的是 sum(E[c[i]^2]) i的值从1到m。
从最简单的来看 如果要求的是E[c[i]],那么它等于E[(x[1][i]+x[2][i]...+x[n][i])]
现在要求的是E[c[i]^2]=E[(x[1][i]+x[2][i]...+x[n][i])^2]。
里面展开的话就是任意两个相乘,拿出其中一项来看 E[x[k1][i]*x[k2][i]]
若k1==k2,那这个等式等于=val[k1][i]
若k1!=k2,那这个等式等于=val[k1][i]*val[k2][i]
求和即是结果了。
代码:
#pragma warning(disable:4996)
#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#include <queue>
using namespace std; const int maxn = 1005; int n, m;
double val[maxn][maxn]; int main()
{
//freopen("i.txt", "r", stdin);
//freopen("o.txt", "w", stdout); while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = 1; i <= n; i++)
{
double sum = 0;
for (int j = 1; j <= m; j++)
{
scanf("%lf", &val[i][j]);
sum += val[i][j];
}
for (int j = 1; j <= m; j++)
{
val[i][j] = val[i][j] / sum;
}
}
double ans = 0;
for (int i = 1; i <= m; i++)
{
double sum = 0;
for (int j = 1; j <= n; j++)
{
sum += val[j][i];
ans += val[j][i];
ans -= val[j][i] * val[j][i];
}
ans += (sum*sum);
}
printf("%.2lf\n", ans);
}
//system("pause");
return 0;
}
HDU 5570:balls 期望。。。。。。。。。。。。。。。的更多相关文章
- HDU 5570 balls 期望 数学
balls Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5570 De ...
- hdu 5570 balls(期望好题)
Problem Description There are n balls with m colors. The possibility of that the color of the i-th b ...
- HDU 5810 Balls and Boxes(盒子与球)
Balls and Boxes(盒子与球) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ...
- HDU 5984 数学期望
对长为L的棒子随机取一点分割两部分,抛弃左边一部分,重复过程,直到长度小于d,问操作次数的期望. 区域赛的题,比较基础的概率论,我记得教材上有道很像的题,对1/len积分,$ln(L)-ln(d)+1 ...
- hdu 5810:Balls and Boxes(期望)
题目链接 这题似乎就是纯概率论.. E(V)=D(X_i)=npq (p=1/m,p+q=1) #include<bits/stdc++.h> using namespace std; t ...
- HDU 5810 Balls and Boxes (找规律)
Balls and Boxes 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...
- HDU 5810 Balls and Boxes 数学
Balls and Boxes 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...
- poj 2096 Collecting Bugs && ZOJ 3329 One Person Game && hdu 4035 Maze——期望DP
poj 2096 题目:http://poj.org/problem?id=2096 f[ i ][ j ] 表示收集了 i 个 n 的那个. j 个 s 的那个的期望步数. #include< ...
- HDU 4611 Balls Rearrangement 数学
Balls Rearrangement 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4611 Description Bob has N balls ...
随机推荐
- eclipse的版本代号
mars为4.5版本号 代号 代号名 发布日期Eclipse 3.1 IO 木卫一,伊奥 2005Eclipse 3.2 Callisto 木卫四,卡里斯托 2006Eclipse 3.3 Europ ...
- 安装docker并使用docker安装mysql
安装Docker 1. Docker 教程地址:https://www.runoob.com/docker/centos-docker.install.html 2.安装docker 命令:yum i ...
- 制作PPT时的一些技巧记录
1.当一页PPT上有很多图片,要选择其中一张图片时,发现图片都重叠了,不好选择时该怎么办? 2.对动画的编辑 技巧:与选择窗口配合使用
- 2020 CCPC Wannafly Winter Camp Day1 - I. K小数查询(分块)
题目链接:K小数查询 题意:给你一个长度为$n$序列$A$,有$m$个操作,操作分为两种: 输入$x,y,c$,表示对$i\in[x,y] $,令$A_{i}=min(A_{i},c)$ 输入$x,y ...
- touchstart和click 自动区分
var clickEvent = (function() { if ('ontouchstart' in document.documentElement === true) return 'touc ...
- idea如何提取变量(拆分变量赋值和声明)
需求描述: 我们时常遇到某个在某个局部作用域声明的变量,想要用在另一个地方,此时就需要在作用域外部声明变量,在作用域中给变量赋值. 在eclipse中这个功能和提取变量在一起,我们可以方便的拆分变量的 ...
- 队列的python实现
队列(queue),是一种操作受限的线性表.只允许在队列的一端添加元素,在队列的另一端删除元素.能添加元素的一端称为队尾,能删除元素的一端称为队头. 队列最大的特性是:先进先出(FIFO,first ...
- lsof 查看打开了一个文件的有哪些进程 统计那个进程打开的文件最多
lsof | grep /lib64/libc-2.12.so | wc == 查看打开了一个文件的有哪些进程 lsof | awk '{print $2,$1}' | sort | uniq - ...
- 记C++中发现的隐式转换问题
#include <iostream> #include <string> using std::cin; using std::cout; using std::endl; ...
- 【代码总结】SQL语句设计
1.根据空值(NULL)检索条件 select * from user where age is not null; //查询年龄为null的所有用户 2.使用IN进行范围对比查询 ,5的所有用户 , ...