算法——问题转化

本质

这类型题目的本质就是将一种显而易见的求法转换成另一种等价的求法,以此来求解或降低时间复杂度

例题

这个题目我们很容易想到的就是枚举左上角和右下角的下标(四层循环)来暴力求解。但是显然会超时。一开始,我想从削减循环层数入手,可找了半天也没有发现能用动态规划/贪心/预处理来降层的方法。这个时候我们思维不能闭塞(非要盯着一处来思考),而是要大胆假设其他思路,从根本上换一种理解方式。其实,我们可以直接枚举一个矩形的上界和下界,固定之后可以发现对于同一个上下界,求最大矩形就类似于一维数组中的"求最大子数组",可用动态化规划解决,只不过我们需要通过预处理把多维矩阵压缩成一维。

相关推荐
hahaha60163 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
不会就选b3 小时前
算法日常・每日刷题--<贪心>10
算法
南京兴帝文化传媒有限公司3 小时前
本地生活服务商户GEO优化技术实践:AI大模型收录机制与地图POI权重算法拆解
大数据·人工智能·算法·生活·geo优化实操·csdn运营技巧·ai内容收录
linx2954 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
布莱克6054 小时前
C++ 七大排序算法详解:选择、冒泡、插入、计数、堆、快速与归并排序
数据结构·c++·算法·排序算法
shehuiyuelaiyuehao5 小时前
算法44,模拟算法,数青蛙
算法·哈希算法·散列表
hanlin035 小时前
刷题笔记:力扣第287题-寻找重复数
笔记·算法·leetcode
kevin_kang5 小时前
第02章 对话时间线与延迟分析
算法
科学实验家6 小时前
最小生成树:Prim,kruskal
数据结构·c++·算法
学习智者6 小时前
《玄》IDE v3.6.3重磅发布:全功能修复与性能飞跃
开发语言·c++·ide·算法·中文语言 玄