HDU 5245 Joyful(期望)
http://acm.hdu.edu.cn/showproblem.php?pid=5245
题意:
给出一个n*m的矩阵格子,现在有k次操作,每次操作随机选择两个格子作为矩形的对角,然后将这范围内的格子填色,现在要求经过k次操作后填色格子的期望值。
思路:
给个格子都是独立的,所以只需要计算出每个格子经过k次操作后被填色的概率即可,最后所有格子相加就是期望值。但是直接求填色概率不好求,求不被填色概率会比较容易。假设一次操作的不被填色概率为p,那么k次之后的概率为p^k,最后该格子填色概率就是1-p^k。
如图所示,假设我们现在要求(i,j)这个格子的不被填色概率,那么我们可以选择的两个格子可以是上部,左部,右部和下部,但是这样的话对角的四个矩形区域重复计算了一次,所以需要减去。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
int m,n,k; int main()
{
//freopen("in.txt","r",stdin);
int T;
scanf("%d",&T);
int cas = ;
while(T--)
{
scanf("%d%d%d",&n,&m,&k);
double ans = ;
double sum = (ll)m*n*m*n;
for(ll i=;i<=n;i++)
{
for(ll j=;j<=m;j++)
{
ll num = ;
num += (i-)*m*(i-)*m; //上
num += (n-i)*m*(n-i)*m; //下
num += (j-)*n*(j-)*n; //左
num += (m-j)*n*(m-j)*n; //右
num -= (i-)*(j-)*(i-)*(j-);
num -= (i-)*(m-j)*(i-)*(m-j);
num -= (n-i)*(j-)*(n-i)*(j-);
num -= (n-i)*(m-j)*(n-i)*(m-j);
ans += - pow(num/sum, k);
}
}
int a = round(ans);
printf("Case #%d: %d\n",cas++, a);
}
return ;
}
HDU 5245 Joyful(期望)的更多相关文章
- hdu 5245 Joyful(期望的计算,好题)
Problem Description Sakura has a very magical tool to paint walls. One day, kAc asked Sakura to pain ...
- HDU 5245 Joyful (期望)
题意:进行K次染色,每次染色会随机选取一个以(x1,y1),(x2,y2)为一组对角的子矩阵进行染色,求K次染色后染色面积的期望值(四舍五入). 析:我们可以先求出每个格子的期望,然后再加起来即可.我 ...
- HDU 5245 Joyful(概率题求期望)
D - Joyful Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit S ...
- J - Joyful HDU - 5245 (概率)
题目链接: J - Joyful HDU - 5245 题目大意:给你一个n*m的矩阵,然后你有k次涂色机会,然后每一次可以选定当前矩阵的一个子矩阵染色,问你这k次用完之后颜色个数的期望. 具体思路 ...
- HDU 5984 数学期望
对长为L的棒子随机取一点分割两部分,抛弃左边一部分,重复过程,直到长度小于d,问操作次数的期望. 区域赛的题,比较基础的概率论,我记得教材上有道很像的题,对1/len积分,$ln(L)-ln(d)+1 ...
- HDU 5245 上海大都会 J题 (概率期望)
这道题的概率可以单独考虑每个格子对期望的贡献值.因为其实每个格子是否被选都可以认为是独立的,单独一个格子贡献的期望为1*(该格子K次被选的概率),所以答案其实就是每个格子K次被选中的概率之和. #in ...
- Joyful HDU - 5245 概率问题
Sakura has a very magical tool to paint walls. One day, kAc asked Sakura to paint a wall that looks ...
- HDU 5570 balls 期望 数学
balls Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5570 De ...
- 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< ...
随机推荐
- python小练习:读入一个考试得分,判断这个分数是哪个等级,并输出,考虑异常场景
读入一个考试得分,判断这个分数是哪个等级,并输出. 等级:>=90 优 ,>=80且小于90 良,>=70 且小于80,中,>=60且<70及格 <60 不及格 ...
- tomcat1章1
package ex01.pyrmont; import java.net.Socket; import java.net.ServerSocket; import java.net.InetAddr ...
- JXNU暑期选拔赛
最小的数 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Submissi ...
- [转载]FlipClock.js时钟,计数,3D翻转插件
1.FlipClock.js能够自动定义计数,时钟的翻牌效果,调用简单,下面简单记录下用法 2.官网地址:http://www.flipclockjs.com/ 3.调用2个文件 <link h ...
- Linux 执行文本保存报错 是使用了记事本等工具打开之后导致的
dos2unix xx.bat 格式化下就好了 安装: yum install -y dos2unix
- LoggerFactory.getLogger用法
使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类 如:Logger logger = LoggerFactory.getLogger(com.lz.Test.class); ...
- 爬虫学习06用selenium爬取空间
用selenium爬取空间 from selenium import webdriver from lxml import etree import time pro = webdriver.Chro ...
- log4j2笔记 #02# 启用异步日志
索引 参考 Making All Loggers Asynchronous 第一步,添加相应的disruptor库 第二步,设置系统属性log4j2.contextSelector 第三步,检验! 参 ...
- windows下使用命令行运行PHP
之前一直想,在命令行下能不能运行PHP程序,像C语言一样可以通过命令行拿到参数.今天尝试了一下发现可感觉挺有意思的,平时写着程序玩的时候就可以这样用,下面让咱么来看看怎么做的.我的环境是 php5.6 ...
- mysql备份与还原-mysqldump备份、mysql与source还原
以下都以在linux操作系统上的mysql为例 mysqldump备份 mysqldump实际就是将数据库中的数据转化为建库.建表和插入记录的sql语句 1.备份一个数据库 [或其中几个表],不指定表 ...