HDU 6052
题意略。
思路:我们单独考虑每种颜色的贡献,颜色c对答案的贡献 == 含有c的矩形个数,这就是在考查我们计数的能力,暴力可过。
#include<bits/stdc++.h>
#define maxn 105
using namespace std; int color[maxn][maxn];
int n,m; double calcu(int x,int y){
int l = ,r = m + ,c = color[x][y];
double ret = ;
for(int i = x;i >= ;--i){
if(color[i][y] == c && i < x) break;
for(int j = y - ;j >= ;--j){
if(color[i][j] == c){
l = max(l,j);
break;
}
}
if(i == x){
ret += max(,(y - l)) * (m - y + ) * (n - x + );
continue;
}
for(int j = y + ;j <= m;++j){
if(color[i][j] == c){
r = min(r,j);
break;
}
}
//printf("l == %d r == %d\n",l,r);
ret += max(,(y - l)) * max(,(r - y)) * (n - x + );
}
//printf("now ret == %lf\n",ret);
return ret;
} int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
for(int i = ;i <= n;++i){
for(int j = ;j <= m;++j){
scanf("%d",&color[i][j]);
}
}
double numerator = ,denominator = ;
for(int i = ;i <= n;++i){
for(int j = ;j <= m;++j){
denominator += i * j;
numerator += calcu(i,j);
}
}
printf("%.9lf\n",numerator / denominator);
}
return ;
} /*
1
3 3
1 2 3
4 5 6
7 8 9
*/
HDU 6052的更多相关文章
- HDU 6052 - To my boyfriend | 2017 Multi-University Training Contest 2
说实话不是很懂按题解怎么写,思路来源于 http://blog.csdn.net/calabash_boy/article/details/76272704?yyue=a21bo.50862.2018 ...
- HDU 6052 To my boyfriend(悬线法)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6052 [题目大意] 给出一个数字矩阵,求子矩阵期望数字种数 [题解] 我们统计[x,y]为其所表示 ...
- hdu 6052 To my boyfriend
题目 OvO click here http://acm.hdu.edu.cn/showproblem.php?pid=6052 (2017 Multi-University Training Con ...
- 2017ACM暑期多校联合训练 - Team 2 1008 HDU 6052 To my boyfriend (数学 模拟)
题目链接 Problem Description Dear Liao I never forget the moment I met with you. You carefully asked me: ...
- HDU 6052 To my boyfriend(概率 贡献)
To my boyfriend Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- HDU 6052 To my boyfriend(容斥+单调栈)
题意:对于一个n*m的方格,每个格子中都包含一种颜色,求出任意一个矩形包含不同颜色的期望. 思路: 啊啊啊啊啊,补了两天,总算A了这道题了,简直石乐志,前面的容斥还比较好写,后面的那个>13那个 ...
- ACM里的期望和概率问题 从入门到精通
起因:在2020年一场HDU多校赛上.有这么一题没做出来. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6829 题目大意:有三个人,他们分别有X,Y ...
- hdu 6040 Hints of sd0061(stl: nth_element(arr,arr+k,arr+n))
Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
随机推荐
- python字符编码-文件操作
字符编码 字符编码历史及发展 为什么有字符编码 ''' 原因:人们想要将数据存入计算机 计算机的能存储的信息都是二进制的数据 内存是基于电工作的,而电信号只有高低频两种,就用01来表示高低电频,所以计 ...
- 打包名命令:tar
将多个文件或目录包成一个大文件的命令功能,我们称它是一种"打包命令". tar的参数非常多,这里只列出几个常用的参数,更多的参数你可以自行man tar查询. [root@www ...
- linux初学者-swap分区篇
linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...
- 仿制shazzam的简单功能,将hlsl转换为WPF中的ShaderEffect
(此文章只是在对WPF的Effect产生兴趣才稍微研究了一点后面的知识;需要了解更多可参考https://archive.codeplex.com/?p=shazzam的源代码以及WPF基础知识) 1 ...
- js里的Document对象介绍
activeElement 返回代表文档中dangqianhuodejiaodianyuansudeduixaing body 返回代表文档中body元素 ...
- 第四次作业;创建raid5,源码编译安装;磁盘配额
创建raid5 格式化 ext4 创建物理卷: 创建卷组: 创建逻辑卷: 格式化 ext4 挂载 开机自启动 创建raid配置文件 源码编译安装: 创建本地yum仓库 umount /dev/sr0 ...
- 6.源码分析---和dubbo相比SOFARPC是如何实现负载均衡的?
官方目前建议使用的负载均衡包括以下几种: random(随机算法) localPref(本地优先算法) roundRobin(轮询算法) consistentHash(一致性hash算法) 所以我们接 ...
- 调测Onvif事件总结解决办法
主要在调测事件用例的过程中,发现了大量的信息,和未曾碰到的场景和非法错误等信息,先总结解决办法如下: (1)测试过程中发现以前的一个难题解决了,原先在生成soap空间命名的文件中有部分需要下载,离线生 ...
- C程序设计(第四版)课后习题完整版 谭浩强编著
//复习过程中,纯手打,持续更新,觉得好就点个赞吧. 第一章:程序设计和C语言 习题 1.什么是程序?什么是程序设计? 答:程序就是一组计算机能识别和执行的指令.程序设计是指从确定任务到得到结果,写出 ...
- JavaFX Metro UI 和 开发库
目录 [隐藏] 1 Metro UI For JavaFX! 1.1 例子 1.2 Switch 1.3 Button 1.4 案例: 2 ConsrolsFX 3 Notification 的使用 ...