P3400 仓鼠窝 (单调栈 dp
添加链接描述
#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;while(top&&depth[st[top]]<depth[j])top--;st[++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相关推荐
- 洛谷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 O(n*m
添加链接描述 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=3e3+9; l ...
最新文章
- 中科院脑科学与智能技术卓越创新中心:在“脑海”中突破进取
- faster rcnn结构
- 《Google软件测试之道》- Google软件测试介绍
- 以云原生的名义,举办一次技术聚会
- Leetcode 117. 填充每个节点的下一个右侧节点指针 II 解题思路及C++实现
- 【万众期待】左盟主688页QT教程震撼发布!88个例程,一大波酷炫UI+项目实战案例来袭,让您久等了!!!...
- 教你用 Newprep 一键封装工具 封装XP克隆系统- 视频教程
- sqlserver迁移数据到mysql_SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql
- http://www.a.cn/?a.b=1 取a.b的值
- python类构造方法缺省_浅谈python3 构造函数和析构函数
- Linux 常用的IO接口
- MAVEN项目的搭建
- Web Components 系列(十)—— 实现 MyCard 的基本布局
- python基本操作(四)
- 重置IBM刀片服务器的管理模块
- 卸载控制面板(Control Panel)存在的重复程序(CrowdStrike)
- 黑客攻击手段揭秘(转)
- postman更换皮肤
- 计算机考试彩虹云朵,抖音王源彩虹云朵歌曲歌词完整版
- Android Audio音量设置流程