当前位置: 首页 > wzjs >正文

北京网站制作团队南宁seo专员

北京网站制作团队,南宁seo专员,青岛城乡住房建设厅网站,在荔浦找事情做投简历那个网站极简极短版速写 单调栈 这里要找每个柱 左侧 以及 右侧 第一个比当前柱短的柱子的位置: 构建一个从栈顶到栈底的单调递减栈,只有想要入栈的元素大于栈顶元素时,才能入栈,否则栈顶元素出栈。 从左到右遍历, 栈顶元…

极简极短版速写

单调栈

这里要找每个柱 左侧 以及 右侧 第一个比当前柱短的柱子的位置:

构建一个从栈顶到栈底的单调递减栈,只有想要入栈的元素大于栈顶元素时,才能入栈,否则栈顶元素出栈。

从左到右遍历,

栈顶元素出栈时 表明 栈顶元素找到了右边第一个小于它的柱子(的位置);而且此时栈内 栈顶元素的前一个元素 是 当前栈顶元素左侧第一个小于它的元素

这样某个元素的左右侧第一个小于它的元素都找到了

 

栈顶元素连续出栈?上述过程照常进行。

 

在一次出栈时即可找到第一个比当前数小的数的位置,以及最后一个比当前数小的数的位置。

一次入栈出栈就解决问题不用从另一个方向遍历第二次

#include <bits/stdc++.h>
using namespace std;
const int N=1005;
int Map[N][N],stk[N];
int n,m,top,ans;
char o;
int main()
{cin>>n>>m;for(int i=1;i<=n;i++){top=0;for(int j=1;j<=m+1;j++){if(j!=m+1){cin>>o;if(o=='F')Map[i][j]=Map[i-1][j]+1;// else Map[i][j]=0;}while(top&&Map[i][stk[top]]>=Map[i][j]){int h=Map[i][stk[top]];top--;int l=top?stk[top]:0;ans=max(ans,(j-l-1)*h);}stk[++top]=j;}}cout<<3*ans;return 0;
}

确实是我经过反复碰壁+看题解后两个月后自己写出来的。

 

http://www.dtcms.com/wzjs/357516.html

相关文章:

  • phpmysql网站开发实例经典广告推广词
  • 一个网站的成本重庆seo什么意思
  • 淮南网站建设好seo的定义是什么
  • 三合一网站建设多少钱公司做网站怎么做
  • 信息管理网站开发实验体会app推广赚钱平台
  • 网站列表页怎么做的品牌运营
  • 微信公众号做电影网站要域名吗电商seo是指
  • 网站如何做线下推广百度seo怎么提高排名
  • 网站建设技术合同模板下载免费网络推广网址
  • 网站怎么做国际化发软文是什么意思
  • 青岛市疫情最新情况地图重庆seo职位
  • 做进化树的在线网站seo能干一辈子吗
  • 这几年做哪些网站致富江门关键词排名优化
  • 网站建设店铺介绍怎么写百度公司的业务范围
  • 简单好看的版面设计图衡水seo优化
  • 购物网站用那个软件做小红书推广方式
  • 青岛网站建设找润商品牌网站建设解决方案
  • 无锡网络公司无锡网站制作seo推广知识
  • ip动态地址做网站网站设计方案模板
  • 南阳做网站优化山东网络优化公司排名
  • 电子商务网站建设与规划信息流广告投放公司
  • 找合伙人的网站做淘宝引流推广方法
  • 成都网站的优化如何线上推广引流
  • 广告设计公司品牌设计南宁seo收费
  • 一个人做网站赚钱山东进一步优化
  • 昆明网站建设锐网郑州seo管理
  • web网站开发需要什么软件奉化seo页面优化外包
  • zblog做微网站百度推广登录平台官网
  • 开锁换锁做网站优化网站推广教程整站
  • 天津本地网站如何推广网上国网