设a=2i-3j+k,b=i-j+3k,c=i-2j,求(a+b)x(b+c)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设a=2i-3j+k,b=i-j+3k,c=i-2j,求(a+b)x(b+c)相关的知识,希望对你有一定的参考价值。

是在三维坐标里面的,i,j,k是单位,a,b,c的坐标分别为(2,-3,1),(1,-1,3),(1,-2,0)
加法是对应坐标分别相加,a+b的坐标=(3,-4,4),b+c=(2,-3,3)
两个向量相加还是一个向量,两个向量相乘得到一个数,这个数等于对应坐标的乘积再相加
(a+b)*(b+c)=(3,-4,4)*(2,-3,3)=3*2+(-4)*(-3)+4*3=6+12+12=30
参考技术A 解:
a+b=(3,-4,4)
b+c=(2,-3,3)

i j k
(a+b)×(b+c)=3 -4 4 =-j-k=(0,-1,-1)
2 -3 3本回答被提问者采纳

luogu 1004

动态规划。

设f[i][j][k]为行列之和为i,第一条路到第j行,第二条路到第k行的方案数。

f[i][j][k]=max(f[i-1][j][k],f[i-1][j-1][k],f[i-1][j-1][k-1],f[i-1][j][k-1])+a[j][i-j] (j=k)

f[i][j][k]=max(f[i-1][j][k],f[i-1][j-1][k],f[i-1][j-1][k-1],f[i-1][j][k-1])+a[j][i-j]+a[k][i-k] (j!=k)

#include"cstdio"
#include"cctype"
#include"algorithm"
using namespace std;
int n,a[10][10],f[21][10][10];
int main()
{
    scanf("%d",&n);
    while(1)
    {
        int x,y,z;
        scanf("%d%d%d",&x,&y,&z);
        if(!x && !y && !z) break;
        a[x][y]=z;
    }
    for(int i=1;i<=2*n;i++)
        for(int j=1; j<=min(i-1,n); j++)
            for(int k=1; k<=min(i-1,n); k++)
                if(j==k) f[i][j][k]=max(max(f[i-1][j][k],f[i-1][j-1][k]),max(f[i-1][j-1][k-1],f[i-1][j][k-1]))+a[j][i-j];
                else f[i][j][k]=max(max(f[i-1][j][k],f[i-1][j-1][k]),max(f[i-1][j-1][k-1],f[i-1][j][k-1]))+a[j][i-j]+a[k][i-k];
    printf("%d\n",f[2*n][n][n]);
    return 0;
}

 

以上是关于设a=2i-3j+k,b=i-j+3k,c=i-2j,求(a+b)x(b+c)的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ 3527 力 | FFT

hdu 6076 huntian oy 杜教筛

灵活运用比例因子

已知有三个整数,他们的和小于50,每两个数的和分别是K+20 K+15和K+31,其中K是一个两位数,求K。

bzoj1911: [Apio2010]特别行动队

CodeForces 595B