JoyfulHDU - 5245

  题目大意:有N*M个正方形,进行k次涂色,每次会随机的选两个正方形作为一个矩形区域的顶点,然后把这个区域内的涂色,最后问k次之后,预计被涂了色的正方形有几个(也就是数学期望),转化成整数输出。

  数学期望的定义是一切可能的取值xi与对应的概率Pi(=xi)之积的和,所以就想到了求出每个正方形被涂色的概率,然后一个正方形的权值就是1,所以把每个正方形的被涂色的概率加起来就是答案。因为是进行k次涂色,那么k中至少有一次被涂到的概率就是1-k次都涂不到的概率。

  至于怎么算它不被涂到的概率呢?首先因为作为顶点的两个正方形是选择是互不影响的,每个都有n*m种选择,所以总的方案就是n*m*n*m。然后不把当前正方形包含在矩形内的方案有多少,可以画图理解。

  

  红色正方形就是我们目前要求的正方形,因为不能把它包含在内,那么两个正方形的选择应该在同一侧,就像上图的蓝色部分,然后在同一侧的两个正方形的选择是互不影响的,也就是所有正方形个数的平方。而蓝色部分重叠了绿色部分,所以绿色部分得去掉。

 #include<cstdio>
#define pf(x) (x*x)
typedef long long ll;
int main()
{
int t=,T,n,m,k;
scanf("%d",&T);
while(t<=T)
{
scanf("%d%d%d",&n,&m,&k);
ll sum=1ll*pf(n)*pf(m);
double ans=0.0;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
ll num=;
num+=pf(1ll*n*(j-))+pf(1ll*n*(m-j));//左右两侧的方案
num+=pf(1ll*m*(i-))+pf(1ll*m*(n-i));//上下两侧的方案
num-=pf(1ll*(i-)*(j-))+pf(1ll*(i-)*(m-j));//上侧两角的方案
num-=pf(1ll*(n-i)*(j-))+pf(1ll*(n-i)*(m-j));//下侧两角的方案
double no=1.0*num/sum,kno=1.0;
for(int kk=;kk<k;kk++)
kno*=no;
ans+=1.0-kno;
}
printf("Case #%d: %.0f\n",t++,ans);
}
return ;
}

我不是一个粉刷匠

HDU - 5245 概率的更多相关文章

  1. Joyful HDU - 5245 概率问题

    Sakura has a very magical tool to paint walls. One day, kAc asked Sakura to paint a wall that looks ...

  2. J - Joyful HDU - 5245 (概率)

    题目链接: J - Joyful  HDU - 5245 题目大意:给你一个n*m的矩阵,然后你有k次涂色机会,然后每一次可以选定当前矩阵的一个子矩阵染色,问你这k次用完之后颜色个数的期望. 具体思路 ...

  3. HDU 5985 概率

    n种硬币各有cnt[i]枚,每轮下其有p[i]概率保留,问各种硬币只有它存活到最后一轮的概率. 设k轮后i硬币存活概率$a[i][k]=(1-p^k_i)^{cnt[i]}$ 则最后只有第i种硬币存活 ...

  4. HDU 5245 Joyful(概率题求期望)

    D - Joyful Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit S ...

  5. HDU 5245 上海大都会 J题 (概率期望)

    这道题的概率可以单独考虑每个格子对期望的贡献值.因为其实每个格子是否被选都可以认为是独立的,单独一个格子贡献的期望为1*(该格子K次被选的概率),所以答案其实就是每个格子K次被选中的概率之和. #in ...

  6. HDU 5245 Joyful(期望)

    http://acm.hdu.edu.cn/showproblem.php?pid=5245 题意: 给出一个n*m的矩阵格子,现在有k次操作,每次操作随机选择两个格子作为矩形的对角,然后将这范围内的 ...

  7. hdu 1203 概率+01背包

    I NEED A OFFER! Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  8. HDU 4405 (概率DP)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4405 题目大意:飞行棋.如果格子不是飞行点,扔骰子前进.否则直接飞到目标点.每个格子是唯一的飞行起点 ...

  9. hdu 4465 概率称号

    http://acm.hdu.edu.cn/showproblem.php?pid=4465 第一直觉概率DP但很快被否定,发现只有一个简单的二项分布,但感情的表达,没有对生命和死亡的例子.然后找到准 ...

随机推荐

  1. 基于keepalived搭建mysql双主高可用

    目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能 ...

  2. Jmeter的基础使用一安装、启动、关联、断言

    一.下载Jmeter,配置环境变量 下载完解压即可, 环境变量配置: -------在环境变量中添加新变量JMETER_HOME:D:\jmeter\apache-jmeter-4.0 ------- ...

  3. Java lesson18homework

    package com.xt.lesson19; import java.util.Scanner;import java.util.Set;import java.util.TreeSet; /** ...

  4. 解决maven依赖包下载慢的问题

    修改maven 目录下setting.xml配置文件 在mirrors中添加如下配置即可 <mirror> <id>alimaven</id> <name&g ...

  5. SQLite数据库_c/s架构的心得

    1.使用是Navicat Premium软件, Microsoft Windows版本. 2.选择SQLite并新建数据库: 3.将建好的SQLite数据库,放到新建的项目的debug文件下中, 并在 ...

  6. idea2019 Tomcat9 Tomcat Localhost log 乱码

    网上一顿搜索,基本没用,可能版本不一样. idea2019 tomcat9解决方案: 找到Tomcat的安装目录,进入conf目录 打开logging.properties 找到java.util.l ...

  7. 养成一个SQL好习惯

    要知道sql语句,我想我们有必要知道sqlserver查询分析器怎么执行我么sql语句的,我么很多人会看执行计划,或者用profile来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查询分析 ...

  8. 打印从1到最大的n位数(考虑大数问题)

    void Print1ToMaxOfNDigits(int n) { if(n <= 0) { return; } int * number = new int[n]; for(int i = ...

  9. JavaMaven【七、插件使用】

    配置pom.xml 配置在那个周期的那个阶段执行该插件的功能 上图是配置了使用插件source3.0.1,该插件的功能是打包源码 并配置了在package阶段后执行打包源码的操作jar-no-fork ...

  10. sql分页查询(2005以后的数据库)和access分页查询

    sql分页查询: select * from ( select ROW_NUMBER() over(order by 排序条件) as rowNumber,* from [表名] where 条件 ) ...