Problem Description

正如你所知道从前有一个人叫s_sin,她拥有着坐拥三千舰狼的梦想!然而天不遂人愿当她踏进hentai collection的大门之后,现实让她领略到了无情。身为一个坚强的妹子,她知道即使出门大破,即使十一连抽全是R,也要坚信着“玄不救非,氪不改命”,而自己是一个欧白这样最初的信仰!

有一天s_sin率领着她的舰狼们到达了某海峡,以一个N*M的矩阵表示,每一个元素为w或者b。其中b为暗礁,暗礁上是不允许有舰狼存在的。而s_sin也相信着一个道理,那就是只有把她的舰狼们组成矩形,她才能有足够的信仰在打败了最终boss之后捞到心仪的新舰狼。请问s_sin有多少种获取足够信仰的方法?(即在N*M的矩阵中有多少个全部由w组成的子矩形)
Input

输入第一行为一个正整数N,M表示有N行M列的矩阵。

接下来N行每行有M个字母为b或者w,如描述中所述。
Output

求N*M的矩阵中有多少个全部由w组成的子矩形。
Sample Input
2 3

bbb
www

2 2

bw
wb
Sample Output
62
Hint
1<=M,N<=2000
不太会,抄了一遍
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
struct thing
{long long n,x;
} stack[2001];
long long n,m,t,sum,ans,num[2001];
char c;
int main()
{cin.sync_with_stdio(false);while(cin>>n>>m){memset(num,0,sizeof(num));ans = 0;for(int i = 1;i <= n;i++){sum = t = 0; for(int j = 1;j <= m;j++){cin>>c;if(c == 'b') num[j] = t = sum = 0;else{num[j]++;thing u;u.x = num[j];u.n = 1;while(t && stack[t].x >= u.x){sum -= stack[t].x*stack[t].n;u.n += stack[t].n;t--;  }   sum += u.x*u.n;stack[++t] = u;ans += sum; }}}cout<<ans<<endl;}
} 

A - 非提的救赎 Fzu-2190 (单调栈)相关推荐

  1. fzoj Problem 2190 非提的救赎 【单调栈】

    题目链接:fzoj Problem 2190 非提的救赎 Problem 2190 非提的救赎 Accept: 106 Submit: 312 Time Limit: 1000 mSec Memory ...

  2. Fzu-2190 非提的救赎 (单调栈)

    Problem Description 正如你所知道从前有一个人叫s_sin,她拥有着坐拥三千舰狼的梦想!然而天不遂人愿当她踏进hentai collection的大门之后,现实让她领略到了无情.身为 ...

  3. fzu2190---非提的救赎 (单调栈)

    Problem Description 正如你所知道从前有一个人叫s_sin,她拥有着坐拥三千舰狼的梦想!然而天不遂人愿当她踏进hentai collection的大门之后,现实让她领略到了无情.身为 ...

  4. leetcode:6080. 使数组按非递减顺序排列【单调栈 + 合并】

    分析 保存一个单调递减的stack,元素是(num, max+t) 遇到大于等于栈顶的,把栈顶的挪出来,然后记录同一次挪出的最大的max_t 如果挪完st还有剩余的话,max_t ++ 然后ans就是 ...

  5. 后缀数组 ---- 2018~2019icpc焦作H题[后缀数组+st表+二分+单调栈]

    题目链接 题目大意: 给出nnn个数,定义f[l,r]f[l,r]f[l,r]表示 区间[l,r][l,r][l,r]的最大值,求所有 子区间的最大值的和,要求相同的子区间只能算一次 比如数列 5 6 ...

  6. 0x11.基本数据结构 — 栈与单调栈

    目录 一.栈 0.AcWing 41. 包含min函数的栈 (自己造栈) 1.AcWing 128. 编辑器 (对顶栈) 2.AcWing 129. 火车进栈 3.AcWing 130. 火车进出栈问 ...

  7. 【数据结构】单调栈和单调队列 详解+例题剖析

    算法:单调栈和单调队列 一.单调栈和单调队列 二.单调栈例题 1.模板题入门 2.不懂不要急,看这道题 三.单调队列例题 1.入门 2.进阶 一.单调栈和单调队列 单调栈和单调队列与普通的栈,队列不同 ...

  8. 直方图中最大的矩形(遍历与单调栈)

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [ ...

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

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

最新文章

  1. 【转帖】Nginx优化use参数epoll,kqueue,rtsig,eventport,poll
  2. SYN攻击SYN Attack
  3. 汇编语言--转移指令的原理
  4. 【Tools】MarkDown教程(七)-Typora详细教程
  5. 【渝粤教育】电大中专新媒体营销实务 (7)作业 题库
  6. Effective前端5:减少前端代码耦合
  7. php布尔类型代码,PHP数据类型之布尔型的介绍
  8. eslint的安装与使用
  9. c语言log_C语言最大难点揭秘:编程的祸根!
  10. C# Windows Form编程
  11. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(8)签到题5题
  12. android模拟器directx,DX千骑驱动器模拟器
  13. 英语语法学习--名词
  14. android gpu 视频编码,Android Mp4视频录制(OpenGL实现篇,附DEMO)
  15. 用户使用移动支付的风险与防范策略
  16. JSP实用教程-第三章Tag文件与Tag标记
  17. python的plt绘制子图_Matplotlib 多子图绘制
  18. React Native三端同构
  19. 最常用的五个网页JS特效代码:收藏本站、设为首页、刷新本页
  20. Idea如何配置svn或集成svn。

热门文章

  1. numpy求矩阵的逆和伪逆
  2. unix系统病毒概述(转)
  3. #今日论文推荐# 莫纳什大学最新《长文档摘要》综述,39页pdf长文档摘要的实证研究:数据集、模型和指标
  4. Apple Music(应用内打开Apple Music)
  5. 2020.10.13--PS--像素化滤镜、扭曲类滤镜、波浪和水波
  6. win10电脑连接手机热点时所出现的问题。
  7. cannot find -lnl
  8. MySQL入门 - 数据分组之 group by
  9. 大疆aeb连拍_给无人机新手的3个航拍技巧,入门机也能拍大片!
  10. 神经网络常用的训练方式,神经网络训练过程详解