P3400 仓鼠窝 (单调栈 dp O(n*m
添加链接描述
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=3e3+9;
ll st[N],ch,dp[N],ans,depth[N];
int main(){int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){int top=0;for(int j=1;j<=m;j++){cin>>ch;if(ch==0)depth[j]=i;//如果为障碍 记录当前j的上限为iwhile(top&&depth[st[top]]<depth[j])top--;//得到大于等于当前i的jst[++top]=j;dp[top]=dp[top-1]+(i-depth[st[top]])*(st[top]-st[top-1]);ans+=dp[top];}}cout<<ans<<endl;return 0;
}
P3400 仓鼠窝 (单调栈 dp O(n*m相关推荐
- 洛谷P3400 仓鼠窝(单调栈)
P3400 仓鼠窝 题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子 ...
- 洛谷10月月赛Round.1| P3400 仓鼠窝[单调栈]
题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子矩阵!(实际上就是有 ...
- 单调栈求全1(或全0)子矩阵的个数 洛谷P5300与或和 P3400仓鼠窝
爆零好爽,被中学生虐好爽,还好我毕业得早 求全1(或全0)子矩阵的个数,看了题解有好几种思路,我学了三种,但有两种不是很理解,而且也没另外那个跑得快,所以简单讲述一一下我会的那种来自Caro23333 ...
- CodeForces - 1313C2 Skyscrapers (hard version)(单调栈+dp/分治)
题目链接:点击查看 题目大意:给出 n 块连续的空地可以建造摩天大楼,政府有规定,每块地最高只能建 a[ i ] 的高度,同时每栋大楼需要满足一个规则,即每栋大楼的两侧不允许同时存在比自己高的大楼,输 ...
- 洛谷 P3400 仓鼠窝
题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子矩阵!(实际上就是有 ...
- CodeForces - 1407D Discrete Centrifugal Jumps(单调栈+dp)
题目链接:点击查看 题目大意:给出 n 个大楼的高度记为 h,现在需要从第一个大楼到达第 n 个大楼,问最小步数是多少,只有满足以下条件时才能从 i 移动到 j ,设 i < j: 题目分析:无 ...
- [ZJOI2007] 棋盘制作(单调栈 / DP悬线法)
problem 洛谷链接 solution1-单调栈 很容易想到,预处理出每个点向上最大能延伸的长度,然后对每个点求一个矩阵面积. 然后思考优化,不难想到每次对一行进行求解. 每一行的所有列一起构成了 ...
- [LUOGU]P3400 仓鼠窝
传送门 首先分析问题,我们要求出所有的子矩形,不妨考虑以每一点为右下角的子矩形的个数,加起来正好就是总的子矩形数了. 然后考虑每一个点为左下角时的方案数,我们考虑每在它左上的点是否可以作为矩形的左上角 ...
- P3400 仓鼠窝 (单调栈 dp
添加链接描述 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=3e3+9; l ...
最新文章
- 基于先验LiDAR点云地图的单目VIO定位(IROS 2020)
- Jquer学习之jQuery(function(){})与(function(){})(jQuery)之间的区别
- Spring源码-AOP(六)-自动代理与DefaultAdvisorAutoProxyCreator
- 自动加密企业关键业务数据 赛门铁克推出全新信息保护解决方案
- CentOS多网卡重命名配置
- CentOS(八)--crontab命令的使用方法
- php java c_当PHP、Java、C、C++ 这几种编程语言变成汽车是什么样的场景?
- CoffeeScript 学习笔记
- VB.NET工作笔记004---认识wsf文件
- submit text 插件安装教程
- [原创] 在XP/2K 下实现 Win+Ctrl+Del 等键的屏蔽的方法,附源码与演示程序下载。...
- 从零学ELK系列(一):为什么要跟我学从零学ELK系列
- [转载] 浅析Java OutOfMemoryError
- Python 绝对简明手册
- Landsat8处理小工具(python)
- Android中的Apk的加固(加壳)原理解析和实现
- 博弈论中SG函数的解释与运用
- unity ToggleGroup和Toggle.isOn的坑
- 分级基金下折套利风险介绍
- 十年一轮回,不再设限
热门文章
- USACO 2020 February Contest, Gold
- 解决 苹果ios input输入框弹出输入法 但是 无法输入内容问题
- Leetcode160. 相交链表
- Android 蓝牙SPP通信——简介
- 谷歌翻译插件imtranslator安装使用步骤
- SetRank(2020SIGIR)
- Nat. Mach. Intell. | 快速的蛋白质结构从头预测
- Boost读写锁:shared_mutex
- 自动钉木箱机器人_她用钉满小孔的木箱种花,几个月后路人全看傻眼
- mysql marked crashed_修复mysql数据“is marked as crashed and last (automatic?) repair failed”的几种方法...