题目大意
给你一个n×m的矩阵,矩阵中每个元素的值都等于行和列的最小公倍数lcm(i,j),在给你一个k,表示k×k的矩阵,这个矩阵从左到右从上到下扫瞄,每扫一次就加矩阵中的最大值,问最大值是多少?解题思路
如果直接暴力的话是会TLE的,所以要用到二维滑动窗口降低时间复杂度,具体的是参考了Bzoj1047参考博客
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
int a[5005][5005],arr[5005][5005];
deque<int> dq;
void solve(int c){
//一维滑动窗口,遍历每行
dq.clear();
for(int i=1;i<=m;i++){
while(!dq.empty()&&a