添加链接描述

#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相关推荐

  1. 洛谷P3400 仓鼠窝(单调栈)

    P3400 仓鼠窝 题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子 ...

  2. 洛谷10月月赛Round.1| P3400 仓鼠窝[单调栈]

    题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子矩阵!(实际上就是有 ...

  3. 单调栈求全1(或全0)子矩阵的个数 洛谷P5300与或和 P3400仓鼠窝

    爆零好爽,被中学生虐好爽,还好我毕业得早 求全1(或全0)子矩阵的个数,看了题解有好几种思路,我学了三种,但有两种不是很理解,而且也没另外那个跑得快,所以简单讲述一一下我会的那种来自Caro23333 ...

  4. CodeForces - 1313C2 Skyscrapers (hard version)(单调栈+dp/分治)

    题目链接:点击查看 题目大意:给出 n 块连续的空地可以建造摩天大楼,政府有规定,每块地最高只能建 a[ i ] 的高度,同时每栋大楼需要满足一个规则,即每栋大楼的两侧不允许同时存在比自己高的大楼,输 ...

  5. 洛谷 P3400 仓鼠窝

    题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子矩阵!(实际上就是有 ...

  6. CodeForces - 1407D Discrete Centrifugal Jumps(单调栈+dp)

    题目链接:点击查看 题目大意:给出 n 个大楼的高度记为 h,现在需要从第一个大楼到达第 n 个大楼,问最小步数是多少,只有满足以下条件时才能从 i 移动到 j ,设 i < j: 题目分析:无 ...

  7. [ZJOI2007] 棋盘制作(单调栈 / DP悬线法)

    problem 洛谷链接 solution1-单调栈 很容易想到,预处理出每个点向上最大能延伸的长度,然后对每个点求一个矩阵面积. 然后思考优化,不难想到每次对一行进行求解. 每一行的所有列一起构成了 ...

  8. [LUOGU]P3400 仓鼠窝

    传送门 首先分析问题,我们要求出所有的子矩形,不妨考虑以每一点为右下角的子矩形的个数,加起来正好就是总的子矩形数了. 然后考虑每一个点为左下角时的方案数,我们考虑每在它左上的点是否可以作为矩形的左上角 ...

  9. P3400 仓鼠窝 (单调栈 dp

    添加链接描述 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=3e3+9; l ...

最新文章

  1. 基于先验LiDAR点云地图的单目VIO定位(IROS 2020)
  2. Jquer学习之jQuery(function(){})与(function(){})(jQuery)之间的区别
  3. Spring源码-AOP(六)-自动代理与DefaultAdvisorAutoProxyCreator
  4. 自动加密企业关键业务数据 赛门铁克推出全新信息保护解决方案
  5. CentOS多网卡重命名配置
  6. CentOS(八)--crontab命令的使用方法
  7. php java c_当PHP、Java、C、C++ 这几种编程语言变成汽车是什么样的场景?
  8. CoffeeScript 学习笔记
  9. VB.NET工作笔记004---认识wsf文件
  10. submit text 插件安装教程
  11. [原创] 在XP/2K 下实现 Win+Ctrl+Del 等键的屏蔽的方法,附源码与演示程序下载。...
  12. 从零学ELK系列(一):为什么要跟我学从零学ELK系列
  13. [转载] 浅析Java OutOfMemoryError
  14. Python 绝对简明手册
  15. Landsat8处理小工具(python)
  16. Android中的Apk的加固(加壳)原理解析和实现
  17. 博弈论中SG函数的解释与运用
  18. unity ToggleGroup和Toggle.isOn的坑
  19. 分级基金下折套利风险介绍
  20. 十年一轮回,不再设限

热门文章

  1. USACO 2020 February Contest, Gold
  2. 解决 苹果ios input输入框弹出输入法 但是 无法输入内容问题
  3. Leetcode160. 相交链表
  4. Android 蓝牙SPP通信——简介
  5. 谷歌翻译插件imtranslator安装使用步骤
  6. SetRank(2020SIGIR)
  7. Nat. Mach. Intell. | 快速的蛋白质结构从头预测
  8. Boost读写锁:shared_mutex
  9. 自动钉木箱机器人_她用钉满小孔的木箱种花,几个月后路人全看傻眼
  10. mysql marked crashed_修复mysql数据“is marked as crashed and last (automatic?) repair failed”的几种方法...