P8783 [蓝桥杯 2022 省 B] 统计子矩阵

题目:P8783 [蓝桥杯 2022 省 B] 统计子矩阵 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

代码:(部分解析在代码中)

#include<bits/stdc++.h>
using namespace std;
long long a[1010][1010];
long long pre[1010][1010];
long long ptr(int x1,int y1,int x2,int y2)
{
	return pre[x2][y2]-pre[x2][y1-1]-pre[x1-1][y2]+pre[x1-1][y1-1];
}
int main()
{
	std::ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	int n,m;
	long long k;
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
			pre[i][j]=pre[i-1][j]+pre[i][j-1]-pre[i-1][j-1]+a[i][j];
		} 
	}
	long long ans=0;
	//i记录左上角的横坐标 
	for(int i=1;i<=n;i++)
	{
		for(int j=i;j<=n;j++)//j记录右下角的横坐标 
		{
			for(int l=1,r=1;l<=m;l++)//l记录左上角的纵坐标,r记录右下角的纵坐标  
			{
				while(r<=m&&ptr(i,l,j,r)<=k)//若此时的子矩阵满足条件,右下角的元素继续往右边移动,即纵坐标++ 
				r++;
				r--;//上面记录的右下角的元素并不满足条件才退出,所以此时回退一格 
				ans+=r-l+1;   
			}
		}
	}
	cout<<ans;
	return 0;
 } 

相关推荐

  1. 洛谷 P8783 [ 2022 B] 统计矩阵

    2024-04-06 11:30:04       16 阅读
  2. P8783 [ 2022 B] 统计矩阵

    2024-04-06 11:30:04       15 阅读
  3. 2022 B 洛谷P8783 统计矩阵

    2024-04-06 11:30:04       15 阅读
  4. P8780 [ 2022 B] 刷题统计

    2024-04-06 11:30:04       34 阅读
  5. P8780 [ 2022 B] 刷题统计 Python

    2024-04-06 11:30:04       23 阅读
  6. P8683 [ 2019 B] 后缀表达式

    2024-04-06 11:30:04       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-06 11:30:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-06 11:30:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-06 11:30:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-06 11:30:04       18 阅读

热门阅读

  1. 关于人员的管理问题小讨论

    2024-04-06 11:30:04       14 阅读
  2. spring 和spring boot的区别

    2024-04-06 11:30:04       15 阅读
  3. C/C++中const关键字用法总结

    2024-04-06 11:30:04       15 阅读
  4. springcloud第4季 使用resilience4j实现服务流量治理

    2024-04-06 11:30:04       14 阅读
  5. C++入门

    C++入门

    2024-04-06 11:30:04      14 阅读
  6. Linux 指令

    2024-04-06 11:30:04       22 阅读
  7. MySQL Payload

    2024-04-06 11:30:04       13 阅读
  8. 金蝶Apusic应用服务器 未授权目录遍历漏洞复现

    2024-04-06 11:30:04       13 阅读
  9. 在Ubuntu 14.04上如何备份和恢复Redis数据

    2024-04-06 11:30:04       17 阅读