F 阎小罗的Minimax (第十届山东理工大学ACM网络编程擂台赛 正式赛 )
题解:by Mercury_Lc
阎小罗的矩阵给的n和m都不超过300,枚举一下所有情况就可以了,用前缀和来储存。数组a[x][y]代表前x行前y列的和是多少,那么枚举每一种切割的方式就可以。注意一下切掉的第x行和第y列的数都是不计入的,减掉的时候别重复或者遗漏了。
参考代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
typedef long long ll;
ll a[505][505];
ll min(ll x, ll y)
{
if(x > y)
return y;
else
return x;
}
ll max(ll x, ll y)
{
if(x < y)
return y;
else
return x;
}
int main()
{
ll t, n, m, i, j;
scanf("%lld", &t);
assert(1 <= t && t <= 10);
while(t--)
{
memset(a, 0, sizeof(a));
scanf("%lld %lld", &n, &m);
assert(n >= 3 && n <= 300 && m >= 3 && m <= 300);
for(i = 1; i <= n; i++)
{
for(j = 1; j <= m; j++)
{
scanf("%lld", &a[i][j]);
assert(a[i][j] >= 0 && a[i][j] <= 1000000000);
a[i][j] += a[i][j - 1];
}
for(j = 1; j <= m; j++)
{
a[i][j] += a[i - 1][j];
}
}
ll ans = 0x3fffffffffff;
for(i = 2; i < n; i++)
{
for(j = 2; j < m; j++)
{
ll aa, bb, cc, dd;
aa = a[i - 1][j - 1];
bb = a[i - 1][m] - a[i - 1][j];
cc = a[n][j - 1] - a[i][j - 1];
dd = a[n][m] - a[n][j] - (a[i][m] - a[i][j]);
ll maxx = max(max(aa, bb), max(cc, dd));
ll minn = min(min(aa, bb), min(cc, dd));
ans = min(maxx - minn, ans);
}
}
printf("%lld\n", ans);
}
return 0;
}
F 阎小罗的Minimax (第十届山东理工大学ACM网络编程擂台赛 正式赛 )的更多相关文章
- K Simple question (第十届山东理工大学ACM网络编程擂台赛 正式赛)
题解:素数筛+唯一分解定理 可以把素数筛那部分放到while之外,减小时间复杂度. #include <stdio.h> #include <stdlib.h> #includ ...
- ACM学习历程—NPU 2015年陕西省程序设计竞赛网络预赛(正式赛)F题 和谐的比赛(递推)
Description 今天西工大举办了一场比赛总共有m+n人,但是有m人比较懒没带电脑,另外的n个人带了电脑.不幸的是,今天机房的电脑全坏了只能用带的电脑,一台电脑最多两人公用,确保n>=m. ...
- NPU 2015年陕西省程序设计竞赛网络预赛(正式赛)F题 和谐的比赛(递推 ||卡特兰数(转化成01字符串))
Description 今天西工大举办了一场比赛总共有m+n人,但是有m人比较懒没带电脑,另外的n个人带了电脑.不幸的是,今天机房的电脑全坏了只能用带的电脑,一台电脑最多两人公用,确保n>=m. ...
- 第十二章:Python の 网络编程进阶(一)
本課主題 RabbitMQ 的介紹和操作 Hello RabbitMQ RabbitMQ 的工作队列 消息确应.消息持久化和公平调度模式 RabbitMQ的发布和订阅 RabbitMQ的主题模式 Ra ...
- Android学习之基础知识十二 — 第二讲:网络编程的最佳实践
上一讲已经掌握了HttpURLConnection和OkHttp的用法,知道如何发起HTTP请求,以及解析服务器返回的数据,但是也许你还没发现,之前我们的写法其实是很有问题的,因为一个应用程序很可能会 ...
- 【linux高级程序设计】(第十五章)UDP网络编程应用 5
域名与IP信息解析 /etc/hosts 文件中有部分IP地址与域名主机名的信息 /etc/resolv.conf 里面有DNS服务器的IP地址 struct hostent { char *h_na ...
- 【linux高级程序设计】(第十五章)UDP网络编程应用 4
socket信号驱动 为了使一个套接字能够使用信号驱动I/O,至少需要以下3步操作. 1.安装SIGIO信号 2.套接字的拥有者设定为当前进程.因为SIGIO信号只会送到socket拥有者进程. 通过 ...
- 【linux高级程序设计】(第十五章)UDP网络编程应用 3
UDP组播通信 组播IP地址: D类IP地址 1110.********** 224.0.0.1 ~ 239.255.255.255 组播MAC地址:低23位,直接对应IP地址, 从右数第24位为 ...
- 【linux高级程序设计】(第十五章)UDP网络编程应用 2
UDP广播通信 单播:一对一,TCP和UDP均可完成 广播:只能UDP完成.广播时发送方只发送一个数据包,但是网络上的交换机默认转发广播数据包到所有端口.路由器默认不转发任何广播数据包.故广播在局域网 ...
随机推荐
- Generator 实现
Generator 是 ES6 中新增的语法,和 Promise 一样,都可以用来异步编程 // 使用 * 表示这是一个 Generator 函数 // 内部可以通过 yield 暂停代码 // 通过 ...
- C#用户控件实战01_CSS布局
很多应用系统的主页布局,一般采用如下案例所示布局较多,如下图的CSS布局框架,上.中.下,接下来我们演示,在C#中实现如下的业务架构布局. 代码范例: 在<body></body&g ...
- ajax中的事件
blur : 当光标移开时(点击)触发 change : 当光标移开并且文本框中的内容和上一次不一致时(点击)触发
- python中数组用法
增加时a.append( 'a ')就可以了.只要按顺序加,就没有问题 . 使用时,完全可以使用下标: 代码如下 复制代码 a[0] a[1] 但出果引用不存在的下标,则会引发异常.这时,你需要先添加 ...
- iOS - 总结适配IOS10需要注意的问题
1.自动管理证书 首先要说的就是Xcode8.打开Xcode8最明显的就是Targets-->General下的自动管理证书模块.以前对于新手来说无论是开发还是打包都必须要被苹果的开发签名系统虐 ...
- java读取文件的几种方式性能比较
//普通输入流读取文件内容 public static long checksumInputStream(Path filename) { try(InputStream in= Files.newI ...
- javascript之位置
1.offset()获取匹配元素在相对浏览器窗口的偏移量 返回一个对象,包括两个属性.left:相对浏览器窗口左边的距离.top:相对浏览器顶部的距离. $("#div1").o ...
- nginx实现fastcgi反向代理
实现FastCGI: CGI的由来:最早的Web服务器只能简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html文件,但是后期随着网站功能增多网站开发也越 ...
- apache Directory Studio 简易使用
apache Directory Studio 简易使用 本文首发:https://www.somata.work/2019/apacheDirectoryStudioSimpleUse.html 以 ...
- PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
PHP开启目录引索 一. 前言 不知为何对nginx情有独钟, 最近练习php, 为了方便写代码, 便想要开启nginx的目录索引功能, 显然不如Apache开启的方便, 几次尝试都崩了... 我这个 ...