矩阵求和

题目 矩阵求和

image-6ff56a07

思路分析

能想到的就是暴力+二维前缀和做

n太大了 静态数组 二维的1e7+10没运行就直接炸了

所以采用vector根据输入的n分配空间 能过几个是几个

最后是过了三 得10分

image-6255e5ed image-d58c34a0

代码实现

#include<bits/stdc++.h>

using namespace std;

#define endl '\n'

int n;

int main()

{

	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

	cin>>n;

	vector<vector<int>> a(n + 1, vector<int>(n + 1));

	for(int i=1;i<=n;i++){

		for(int j=1;j<=n;j++){

			int x=__gcd(i,j);

			x*=x;

			a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+x;

		}

	}

	cout<<a[n][n];

	return 0;

 }

同类题型

视频讲解


⬅️ 搭积木 🏠 00-冲刺国赛 ➡️ 第十届蓝桥杯大赛软件赛决赛C/C++ 大学 B 组