给定一个矩形,将其分割成两个矩形,要求两个矩形甜度总和的差尽可能小,输出最小值。
我们可以通过枚举横切及竖切切的长度对矩形进行分割,并使用二维前缀和来O(1)的快速获得两个矩阵的甜度总和。
时间复杂度O(N2)
小蓝有一块矩形的巧克力,它被划分成 n 行 m 列的方格,每个方格内标有一个甜度值。他打算沿着行或列的方向掰一次,将巧克力分成两块完整的矩形,送给两位朋友。为了公平,他希望两块巧克力的甜度总和尽可能接近。
请你求出在所有可能的水平切割或垂直切割方式下,两块巧克力甜度总和之差的绝对值的最小值。
保证 1≤n,m≤103,每个甜度值是不超过 104 的正整数。
第一行包含两个整数 n 和 m(1≤n,m≤103),分别表示巧克力的行数和列数。 接下来的 n 行,每行包含 m 个用空格分隔的整数,表示对应方格的甜度值。每个甜度值为不超过 104 的正整数。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.