蓝桥杯 子矩阵 (找大小为a*b的矩阵的最大最小值的乘积,queue)

题目链接 : https://www.lanqiao.cn/problems/3521/learning/?subject_code=1&group_code=3&match_num=14&match_flow=1&origin=cup

思想 : 用堆维护最大值最小值即可 暴力实现 复杂度 N^2 * log(N^2) 

代码:

#include<bits/stdc++.h>
using namespace std;#define int long long
typedef array<int,3> arr;const int N = 1001;
const int mod=998244353;int n,m,a,b;
int g[N][N];signed main(){ios::sync_with_stdio(false);cin.tie(nullptr);cin>>n>>m>>a>>b;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>g[i][j];}}priority_queue<arr,vector<arr>,greater<arr>> heap;priority_queue<arr> q;int ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){q.push({g[i][j],i,j});heap.push({g[i][j],i,j});if(i>=a&&j>=b){auto x1=q.top();auto x2=heap.top();while(x1[1]<=i-a||x1[2]<=j-b){q.pop(),x1=q.top();}while(x2[1]<=i-a||x2[2]<=j-b){heap.pop(),x2=heap.top();}ans=(ans+1ll*(x1[0]*x2[0]%mod))%mod;}}}cout<<ans<<"\n";return 0;	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/493477.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深入理解设计模式】建造者设计模式

建造者设计模式 建造者设计模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;旨在通过将复杂对象的构建过程拆分成多个简单的步骤&#xff0c;使得相同的构建过程可以创建不同的表示。该模式允许您使用相同的构建过程来创建不同的对象表示。 概述…

Leetcode刷题笔记题解(C++):6. Z 字形变换

思路&#xff1a;遍历时候需要更新步进长度 到达0行的时候步进长度为1&#xff1b;到达最后一行numRows-1行的时候步进长度为-1&#xff1b;代码如下所示&#xff1a; class Solution { public:string convert(string s, int numRows) {//如果字符串长度为1或者所给行数为1 …

[c++] char * 和 std::string

1 char * 和 std::string 的区别 char * 字符串是常量字符串&#xff0c;不能修改&#xff1b;std::string 指向的字符串可以修改 实例代码如下图所示&#xff0c;s1 和 s2 均是常量字符串&#xff0c;字符串常量保存在只读数据区&#xff0c;是只读的&#xff0c;不能写&…

Unity类银河恶魔城学习记录7-9 P75 Saw spin sword源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Sword_Skill_Controller.cs using System.Collections; using System.Col…

QT信号槽实现分析

1.宏定义 qt中引入了MOC来反射&#xff0c;编译阶段变成 MOC–>预处理–>编译–>汇编–>链接 1-1、Q_OBJECT 这个宏定义了一系列代码&#xff0c;包括元对象和处理的函数 #define Q_OBJECT \public: \QT_WARNING_PUSH \Q_OBJECT_NO_OVERRIDE_WARNING \static c…

设计模式(二)单例模式的七种写法

相关文章设计模式系列 面试的时候&#xff0c;问到许多年轻的Android开发他所会的设计模式是什么&#xff0c;基本上都会提到单例模式&#xff0c;但是对单例模式也是一知半解&#xff0c;在Android开发中我们经常会运用单例模式&#xff0c;所以我们还是要更了解单例模式才对…

如何卸载Erlang以及RabbitMQ

参考以下两篇文章 https://blog.csdn.net/m0_49605579/article/details/130196536 Windows如何完全卸载RabbitMQ和Erlang_删除注册表hkey_local_machine\software\ericsson\erlang\e-CSDN博客 首先我是按照链接一的操作进行了卸载&#xff0c;但是Erlang的安装目录一直删除不…

jax可微分编程的笔记(5)

jax可微分编程的笔记(5) 第五章 JAX编程范式及即时编译 对于任意一门哲学的理论&#xff0c;都是先有世界观&#xff0c;然后才能有方法论 λ演算正是函数式编程的“世界观” 我曾经高傲地以为&#xff0c;尽管大数据&#xff0c;人工智能和量子计算正推动着 人类社会第四次…