HBC253625TheJourneyofGeorAutumn,思维Kevin的矩阵题解 (填数后的矩阵)

2拍不死你 算法基础篇 50 0
挑战自我,勇攀编程高峰!全网最全C++题库,助您成为编程达人。
氧气少年现在有一个长度为 nnn 的序列 aaa 和一个空的矩阵,矩阵的行数不限,但列数为 mmm,任选序列的某个位置,将此位置的数字修改为任意的数字;将矩阵的列数增加 111;填第 222 行第 mmm 列,以此类推,)。氧气少年想要让矩阵至少一列的所有数字均为目标数字 kkk,请求出他需要做的最少的操作次数,注意到此时第三列的所有数字均为目标数字 333,符合要求,因此答案为 000。

氧气少年现在有一个长度为 nnn 的序列 aaa 和一个空的矩阵,矩阵的行数不限,但列数为 mmm。 每次操作他可以从下面的操作中任选其一:  任选序列的某个位置,将此位置的数字修改为任意的数字;  将矩阵的列数增加 111;  将矩阵的列数减小 111(如果当前矩阵的列数大于 111)。 操作完成后,氧气少年将序列中的每个元素依次按照从上到下、从左到右的顺序填到矩阵中。(即:先填第 111 行第 111 列,再填第 111 行第 222 列,…dots… 填第 111 行第 mmm 列,填第 222 行第 111 列,填第 222 行第 222 列,…dots… 填第 222 行第 mmm 列,以此类推。) 氧气少年想要让矩阵至少一列的所有数字均为目标数字 kkk,请求出他需要做的最少的操作次数。 例如,当 a=[1,2,3,4,5,1,6,7,8,9,1,2,3,4,5,8,9],m=4,k=1a=[1,2,3,4,5,1,6,7,8,9,1,2,3,4,5,8,9],m=4,k=1a=[1,2,3,4,5,1,6,7,8,9,1,2,3,4,5,8,9],m=4,k=1 时,如果不执行任何操作,填数后的矩阵如下图所示: 12345167891234589defarraystretch{1.5} begin{array}{c:c:c:c} hdashline 1 & 2 & 3 & 4 \ hline 5 & 1 & 6 & 7 \ hline 8 & 9 & 1 & 2 \ hline 3 & 4 & 5 & 8 \ hline 9 & end{array}15839​2194​3615​4728​​ 如果在填数之前,先将 a16a_{16}a16​ 改为 111,再将矩阵的列数增加为 555,那么填数后的矩阵如下图所示: 12345167891234519defarraystretch{1.5} begin{array}{c:c:c:c:c} hdashline 1 & 2 & 3 & 4 & 5 \ hline 1 & 6 & 7 & 8 & 9 \ hline 1 & 2 & 3 & 4 & 5 \ hline 1 & 9 & end{array}1111​2629​373​484​595​​ 注意到此时第一列的所有数字均为目标数字 111,符合要求,并且没有比这耗费次数更少的操作方案。因此答案为 222。 例如,当 a=[1,2,3,4,5],m=3,k=3a=[1,2,3,4,5],m=3,k=3a=[1,2,3,4,5],m=3,k=3 时,如果不执行任何操作,填数后的矩阵如下图所示: 12345defarraystretch{1.5} begin{array}{c:c:c} hdashline 1 & 2 & 3 \ hline 4 & 5 end{array}14​25​3​ 注意到此时第三列的所有数字均为目标数字 333,符合要求。因此答案为 000。

不断学习,不断挑战,才能在编程领域中脱颖而出!全网最全C++题库,助您成为编程高手!

标签: HBC253625TheJourneyofGeorAutumn 思维Kevin的矩阵题解