算法题(答对追加100分):n*n矩阵,不同行不同列选n个数 使其和最大 怎么做? n个数中选取任意个数的选法总共有多少种?请给出算法

作者&投稿:喻泥 (若有异议请与网页底部的电邮联系)

^A..B..C

D..E..F

G..H..I

∑EFIH = ∑AGIC - ∑ADFC - ∑AGHB + ∑ADEB

先算出以A为左上角的所有矩阵的和(O(N^2))

再枚举所有的子矩阵(O(N^4))

如:

数组按照大小排序,排序的zhi同时记录下行号和列号,如果快速排序,时间复杂度log2(n)*n;

遍历排好顺序的数组,两两求和,同行或同列的就跳过,这个过程要遍历(n-1)+(n-2)+...+3+2次,就算时间复杂度为n2;再对结果遍历一次,取最大值,时间复杂度为n;加起来,忽略非主要项,时间复杂度是n2。

扩展资料:

矩阵在物理学中的另一类泛应用是描述线性耦合调和系统。这类系统的运动方程可以用矩阵的形式来表示,即用一个质量矩阵乘以一个广义速度来给出运动项,用力矩阵乘以位移向量来刻画相互作用。

求系统的解的最优方法是将矩阵的特征向量求出(通过对角化等方式),称为系统的简正模式。这种求解方式在研究分子内部动力学模式时十分重要:系统内部由化学键结合的原子的振动可以表示成简正振动模式的叠加。描述力学振动或电路振荡时,也需要使用简正模式求解。

参考资料来源:百度百科-矩阵



很难搞。

n 行n 列取 不同行不同列的元素求和的取法有 n!种

我试过了 16!(2004189184)的阶乘就是32位机的上限了,17!就会上溢。

然而你的这种题目,需要求出每种可能性的和,还要比较是否最大,我写了一个简单的程序,不包含耗时的比较操作,仅仅每次加了6个数的和,耗时平均9秒(winVista + intel 2160 + 4G ddr800), 所以 在n = 16的时候,是不可能完成1秒内求出最大和的。

下图是程序及结果



我只能用穷举的办法做,我试过,在运行速度上,和你要求的相差太多了,估计你没有耐心等到结果出来。如果你得到什么号算法,麻烦告诉我一下,谢谢!好复杂啊这题,数据联系千丝万缕,以我目前的水平是没办法想到好算法了,惭愧啊

A..B..C
. . .
D..E..F
. . .
G..H..I

∑EFIH = ∑AGIC - ∑ADFC - ∑AGHB + ∑ADEB

先算出以A为左上角的所有矩阵的和(O(N^2))
再枚举所有的子矩阵(O(N^4))

可以用回溯法解决的n皇后问题。代码在学算法设计的时候写过,但现在找不到了。

如何计算N*N维矩阵中的N数之和,值最大,每行每列仅选一个~

k=max(a,[],2)%a矩阵的行最大值,每行的一起就出来了。L=max(a)%a矩阵的列最大值,每一列的。R=sum(k)%计算每行最大值的和C=sum(L) %计算每列最大值的和需要计算的矩阵很多,就把这几行程序写个循环。

解:2的n次方吧!
每个数可以选也可以不选,就是有2种!
总共n个,就是2的n次方了!

算法题(答对追加100分):n*n矩阵,不同行不同列选n个数 使其和最大 怎么...
答:遍历排好顺序的数组,两两求和,同行或同列的就跳过,这个过程要遍历(n-1)+(n-2)+...+3+2次,就算时间复杂度为n2;再对结果遍历一次,取最大值,时间复杂度为n;加起来,忽略非主要项,时间复杂度是n2。

追加100分求解此编程题
答:const int N=20;char out[4]="__H";int map[N][N];int max=0;main(){ int i,j;max=N*N/2;if(N%2==1)max++;if(N>2){ for(i=0;i<N;i++){ if(i%2==0){ for(j=0;j<N;j+=2)map[i][j]=2;} else { for(j=1;j<N;j+=2)map[i][j]=2;} } } if...

魔兽世界知识问答~~~全部答对追加100~~
答:3.1次roll,就是说,一个法术发出后,它的命中,爆,和平射是在系统1次roll中判定的,也就是说这3个是同等地位。举个例子,你用冰箭打boss,冰箭本身命中是90%,爆率是20%,那么,如果根据1次roll理论,你的冰箭出手,系统roll一个100,(下面的数值都是我个人给的,仅仅为了解释这个理论才使用...

追加100分:W3C 扩展日志记录格式:到底是什么东西?
答:发送字节数 sc-bytes 服务端发送给客户端的字节数。 N 接受字节数 cs-bytes 服务端从客户端接收到的字节数。 N 花费时间 time-taken 执行此次行为所消耗的时间,以毫秒为单位。 N 协议版本 cs-version 客户端所用的协议(HTTP、FTP)版本。对HTTP协议来说是HTTP ...

初一数学题,急……!!!在线等,好的追加100分,因系统只能给这么多分啊...
答:多边形公式:180(n-2)1.180(n-2)=144n 180n-360=144n n=10 2.180(n-2)=150n 180n-360=150n n=12

...悬赏一百分!特别重要!!最快速答我再追加100分真很急!!!
答:(考试120分钟满分100分),“√”标记下列加点字的正确发音。 (3分)?俊(JUN JIN)模具(武穆)的样品,情感(ɡàikǎi)存款(zànɡcánɡ)机械(谢捷)胜(shènɡchénɡ)全 读拼音,写的话,要注意的书写规范,美观。 (4分)?陈金书海中,shǔn溪乡的知识甘霖,的感觉人类文化的...

C语言程序设计教程答案~有追加悬赏100分!
答:if (i+j+k*3==100&&i*5+j*3+k==100) printf(" %d %d %d\n",i,j,k*3);} 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法 源程序: main() {long a,b;int i; a=b=1; for(i=1;i<=10;i++) /*要计算前30项,把10改...

请用数学表达式求当员工迟到N次时,所发工资Y等于多少!答对后追加100
答:设迟到次数为X.所发工资数为Y 1﹚当X>5 Y=﹙1-10%﹚× 工资总数 2﹚当2≦X<5时 Y=工资总数 - 5 × 2的﹙X-2﹚次方 迟到2次扣5元,三次10元,四次20个,公式刚好 3﹚最后那个迟到分钟数算法就不说了,它是死的,按分钟掐算扣多少了 ...

二项式 几个公式的证明 高中数学 100分追加
答:(n,n)x^(n-1)令x= -1, 那么第一个结论得证。第三个结论证明; 请你模仿下上面的那个例题,也就是你划黑线的部分的变形方法 可以得到 原式= a(1)*[C(0,n)- C(1,n)+C(2,n)-...+(-1)^n*C(n,n)]- d[ C(0,n)-2C(1,n)+3C(0,n)-...(-1)^n *C(...

...报告格式书写~(最先完整答对4题即可追加100分)完整哦~~
答:1:不晓得你要实现什么乘法,所以只有写输入和对应元素相乘了。int a[3][3];int b[3][3];int c[3][3];for(int i=0;i<3;i++)//输入 { for(int j=0;j<3;j++){ cin>>a[i][j];} } for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ c[i][j]=a[i][j]*b...