前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >F 阎小罗的Minimax (第十届山东理工大学ACM网络编程擂台赛 正式赛 )

F 阎小罗的Minimax (第十届山东理工大学ACM网络编程擂台赛 正式赛 )

作者头像
Lokinli
发布2023-03-09 17:12:55
1880
发布2023-03-09 17:12:55
举报
文章被收录于专栏:以终为始

题解:by Mercury_Lc

阎小罗的矩阵给的n和m都不超过300,枚举一下所有情况就可以了,用前缀和来储存。数组a[x][y]代表前x行前y列的和是多少,那么枚举每一种切割的方式就可以。注意一下切掉的第x行和第y列的数都是不计入的,减掉的时候别重复或者遗漏了。

参考代码:

代码语言:javascript
复制
#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;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档