manthanein 发表于 2015-11-15 22:28:49

有没有尽可能简单的解决方法

A是一个m×n阶矩阵,其元素为非负整数。
在每一行的最右边(矩阵外)写出了该行中最大的数。
在每一列的最下边(矩阵外)写出了该列中最大的数。
求矩阵所有元素之和的最小值.

manthanein 发表于 2015-11-15 22:31:58

记各行的最大值为`\{a_1,a_2,\cdots,a_m\}`, 各列的最大值为`\{b_1,b_2,\cdots,b_n\}`.
由于排列顺序并不重要,不妨假定这两个最值表是按升序排列的。(显然,`a_m=b_n`,为A中的最大元)
最极端的情况就是`m=n`, 且`\{a_1,a_2,\cdots,a_m\}=\{b_1,b_2,\cdots,b_n\}`,那么最小和就是`\sum a_i`或`\sum b_i`.
比如下面这个样子
                        1
                        2
                        3
1        2        3       
最小和就是6,相应的最小矩阵为:
1        0        0       
0        2        0       
0        0        3

hujunhua 发表于 2015-11-19 00:18:13

假定`\{c_1,c_2,\cdots,c_t\}=\text{Union}\{a_1,a_2,\cdots,a_m,b_1,b_2,\cdots,b_n\}`(Union函数删除重复元素,只留1个)
那么最小和等于 `d_1c_1+d_2c_2+\cdots+d_ic_i+\cdots+d_tc_t`,
这里`d_i`是`c_i`在`\{a_1,a_2,\cdots,a_m\} `或`\{b_1,b_2,\cdots,b_n\}`中的重数,取较大者。
页: [1]
查看完整版本: 有没有尽可能简单的解决方法