早教吧作业答案频道 -->数学-->
关于带权皇后矩阵一个问题的求解,求一个高效的算法就是n行n列的矩阵,从中选n个数,要求这n个数都不同行不同列,并使这n个数中的最大值最小.如下面的3*3矩阵:123456789如果选择159,那
题目详情
关于带权皇后矩阵一个问题的求解,求一个高效的算法
就是n行n列的矩阵,从中选n个数,要求这n个数都不同行不同列,并使这n个数中的最大值最小.
如下面的3*3矩阵:
1 2 3
4 5 6
7 8 9
如果选择 1 5 9,那么这个最大数值就是9
如果选择 7 2 6,那么这个最大数值就是7
.
.
.
.
有很多中选择,找出一个选择,使它们中的最大值最小.
要求时间复杂度小.所以不能用全排列来一一比较!
想找一个比较好的算法!
就是n行n列的矩阵,从中选n个数,要求这n个数都不同行不同列,并使这n个数中的最大值最小.
如下面的3*3矩阵:
1 2 3
4 5 6
7 8 9
如果选择 1 5 9,那么这个最大数值就是9
如果选择 7 2 6,那么这个最大数值就是7
.
.
.
.
有很多中选择,找出一个选择,使它们中的最大值最小.
要求时间复杂度小.所以不能用全排列来一一比较!
想找一个比较好的算法!
▼优质解答
答案和解析
这个其实应该叫"带权车"问题了吧?斜线没有限制呢.
是这样,由于只是横竖方向上不能冲突,所以一个可行解经过"行间"调换之后,仍然是一个可行解.
那么利用这一点,就可以进行贪心.
先将所有数字排序,然后每一行的数字也进行排序.排序的时候不是原地的,而是新开两个表.同时记录下每个数字对应的行列.
接下来先生成一个任意解,比如(1,1)(2,2)...(n,n).
然后,从大到小扫描对全部数字排序的数组.每次扫描到数字K,就先判断K是否在解之中(可以使用二维hash判断),然后尝试优化这个解.
优化的方式是,挨个的找数字K在它那行上的下一个比它小的数字P,然后尝试交换P所在列上冲突的那个数字,交换到K那行上去,看看会不会超过K.不会则交换,然后重新找K.否则继续找P
直到某一次找P失败,则解已经最优.
对于你的例子.
一开始的解集是{1,5,9}
第一大的数字是9,优化9.这行第二小是8.交换5-6.9-8,因为6
是这样,由于只是横竖方向上不能冲突,所以一个可行解经过"行间"调换之后,仍然是一个可行解.
那么利用这一点,就可以进行贪心.
先将所有数字排序,然后每一行的数字也进行排序.排序的时候不是原地的,而是新开两个表.同时记录下每个数字对应的行列.
接下来先生成一个任意解,比如(1,1)(2,2)...(n,n).
然后,从大到小扫描对全部数字排序的数组.每次扫描到数字K,就先判断K是否在解之中(可以使用二维hash判断),然后尝试优化这个解.
优化的方式是,挨个的找数字K在它那行上的下一个比它小的数字P,然后尝试交换P所在列上冲突的那个数字,交换到K那行上去,看看会不会超过K.不会则交换,然后重新找K.否则继续找P
直到某一次找P失败,则解已经最优.
对于你的例子.
一开始的解集是{1,5,9}
第一大的数字是9,优化9.这行第二小是8.交换5-6.9-8,因为6
看了 关于带权皇后矩阵一个问题的求...的网友还看了以下:
排列组合从5名男生和4名女生中选出4人去参加辩论比赛.(1)如果4人中男生和女生各选2人,有多少种 2020-05-13 …
排列组合从5名男生和4名女生中选出4人去参加辩论比赛.(1)如果4人中男生和女生各选2人,有多少种 2020-05-13 …
数学问题考试中求解答甲箱中有2个苹果,3个雪梨,2个柑子;乙箱中有3个苹果,4个雪梨,1个柑子;现 2020-05-17 …
单选如果磷氧比值为3,下列表述正确的是如果磷氧比值为3,下列表述正确的是A、消耗3摩尔相应的底物B 2020-07-02 …
党支部换届选举,应选支委3人,正式候选人4人.第一轮结果2人当选支委,且出现了另选他人两人,但未当选 2020-11-07 …
1)第5题的C选项为什么不选,如果不选那D怎么选出来的?2)第6题的D为什么后来反向了3)第10题的 2020-11-24 …
数学排列组合从5名男生和4名女生中选出4人去参加辩论比赛.(1)如果4人中男生和女生各选2人,有多少 2020-11-29 …
3男2女共5人,现从这5人中选出3人坐车前往某处,如果随机选择,被选中的3人中有2男1女的几率是多大 2020-12-03 …
排列组合4某小组有12人,其中正、副组长各一名、现选派3人参加会议(1)共有多少种不同选法?(2)如 2020-12-05 …
从5名男生和3名女生中选出3人参加某项活动如果选出的3人中既有男生又有女生则不同选法有多少种解题方法 2020-12-12 …