• POJ-2082-Terrible Sets


    链接:https://vjudge.net/problem/POJ-2082#author=0

    题意:

    挨个给n个矩形的宽和高,求内部矩形的最大面积

    思路:

    单调栈,每次tmp记录出栈的总宽度。记录到下一次出栈要增加的宽度。

    代码:

    #include <iostream>
    #include <memory.h>
    #include <vector>
    #include <map>
    #include <algorithm>
    #include <cstdio>
    #include <math.h>
    #include <queue>
    #include <string>
    #include <stack>
    
    using namespace std;
    
    typedef long long LL;
    
    const int MAXN = 5e4 + 10;
    
    struct Squere
    {
        int _w;
        int _h;
    }squ[MAXN];
    
    int main()
    {
        int n;
        while (scanf("%d", &n))
        {
            if (n == -1)
                break;
            for (int i = 1;i <= n;i++)
                scanf("%d%d", &squ[i]._w, &squ[i]._h);
            stack<Squere> r;
            int res = 0;
            for (int i = 1;i <= n;i++)
            {
                int tmp = 0;
                while (!r.empty() && r.top()._h > squ[i]._h)
                {
                    Squere f = r.top();
                    r.pop();
                    res = max(res, f._h * (f._w + tmp));
                    squ[i]._w += f._w;
                    tmp += f._w;
                }
                r.push(squ[i]);
            }
            while (!r.empty())
            {
                Squere f = r.top();
                r.pop();
                res = max(res, f._h * f._w);
                if (!r.empty())
                    r.top()._w += f._w;
            }
            printf("%d
    ", res);
        }
    
        return 0;
    }
    

      

  • 相关阅读:
    vue生命周期总结
    Generator的基本用法
    React context基本用法
    盗链
    Linux 黑白界面显示
    nginx 反向代理Apache
    apache+php windows下配置
    正则表达式匹配空行
    列表页条目不刷新删除
    linux终端自定义设置
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10606792.html
Copyright © 2020-2023  润新知