蓝桥集训之矩形牛棚

蓝桥集训之矩形牛棚

  • 核心思想:单调队列

  •   #include <iostream>
      #include <cstring>
      #include <algorithm>
      
      using namespace std;
      const int N = 3010;
      
      int stk[N],top;
      int r[N],l[N];
      int g[N][N],h[N][N];
      int n,m,q;
      
      int work(int h[])  //找最大面积
      {
          top = 0;
          stk[++top] = 0;  //边界下标加入
          h[0] = h[m+1] = -1;  //左右边界
          for (int i = 1; i <= m; i ++ )
          {
              while (h[stk[top]] >= h[i]) top -- ;  //h[i]更优
              l[i] = stk[top];  //l[i]为左边第一个比h[i]小的
              stk[ ++ top] = i;
          }
          top = 0;
          stk[++top] = m+1;  //右边界下标
          for (int i = m; i; i -- )
          {
              while (h[stk[top]] >= h[i]) top -- ;
              r[i] = stk[top];  //r[i]为右边第一个比h[i]小的
              stk[ ++ top] = i;
          }
          
          int res=0;
          for(int i=1;i<=m;i++)
              res = max(res,h[i] * (r[i] - l[i] - 1));  //长乘宽
          return res;
      }
      int main()
      {
          cin>>n>>m>>q;
          while(q--)
          {
              int x,y;
              cin>>x>>y;
              g[x][y] = 1;
          }
          
          for (int i = 1; i <= n; i ++ )
              for (int j = 1; j <= m; j ++ )
                  if(!g[i][j])  //如果没有被破坏
                      h[i][j] = h[i-1][j] + 1;  //递归求h数组
                      
          int res=0;
          for (int i = 1; i <=n; i ++ )
              res = max(res , work(h[i]));
              
          cout<<res<<endl;
      }
    

相关推荐

  1. 集训修理牛棚

    2024-03-25 07:30:02       43 阅读
  2. 集训矩阵

    2024-03-25 07:30:02       41 阅读
  3. 集训星空

    2024-03-25 07:30:02       40 阅读
  4. 集训日期差值

    2024-03-25 07:30:02       50 阅读
  5. 集训日期问题

    2024-03-25 07:30:02       47 阅读
  6. 集训奶牛选美

    2024-03-25 07:30:02       39 阅读
  7. 集训八数码

    2024-03-25 07:30:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 07:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 07:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 07:30:02       82 阅读
  4. Python语言-面向对象

    2024-03-25 07:30:02       91 阅读

热门阅读

  1. 怎么解决父元素引起的高度坍塌?

    2024-03-25 07:30:02       39 阅读
  2. 20.Ubuntu下安装GCC

    2024-03-25 07:30:02       44 阅读
  3. C++测试代码

    2024-03-25 07:30:02       41 阅读
  4. Rancher(v2.6.3)——Rancher部署Redis(单机版)

    2024-03-25 07:30:02       40 阅读
  5. 中高级前端工程师招聘

    2024-03-25 07:30:02       44 阅读
  6. 报道:GPT-5将于今年年中发布

    2024-03-25 07:30:02       35 阅读
  7. Compose UI 之 Checkbox 复选框 & RadioButton 单选框

    2024-03-25 07:30:02       38 阅读