POJ 2082 Terrible Sets

关于小样本学习综述论文的总结 对小样本学习综述的个人总结 阅读详情

/*
这题的题目比较难读懂,其实就是给定坐标系上一系列相邻的矩形,高度不等,求把这些矩形连起来看
能够得到的最大矩形的面积.这题我一开始想到的是需要用堆栈来往后处理,但是一直想不出来Discuss
里面说的O(N)的算法,再加上昨天又是09年最后一天,实在没心情搞下去了.今天早上睡了个懒觉,起来
状态不错,一下就想出了O(N)的算法,要想达到O(N)必须对矩形进行合并.具体思路如下:
(1)设置一个堆栈用来矩形.遇到比上一个矩形高度高的新矩形就入栈
(2)如果遇到比上一个矩形高度低的矩形就要进行出栈合并以及最大矩形面积计算的处理.假设当前新
矩形的高和宽分别为curh, curw, 利用totalw统计出栈的矩形的宽度和,然后一直进行出栈操作,每出
栈一个矩形就将其宽度加到totalw上,统计将其高度乘以totalw与maxsize比较进行更新.出栈矩形的
高度乘以totalw表示的是以这个矩形的高为大矩形的高可以得到的最大矩形面积.出栈操作一直进行
到栈顶矩形的高度小于等于新矩形的高度.
最后将新矩形的高度以及totalw + curw作为一个新的元素压入栈中.这样就完成了这种情况下对新矩形
的操作
(3)最后栈中还有一些列的矩形,这些矩形构成了一个高度非降序的矩形序列.然后再进行一边出栈处理就
可以了.可以参考图示分析.
这题整体并不难,但是确是一道非常好的题,考察对堆栈的应用以及对合并方法达到线性复杂度的理解
*/

 

图1:

图2:

 

图3:

 

#include <iostream>
#define MAX_N 50005
#define maxv(a, b) ((a) >= (b) ? (a) : (b))
using namespace std;

struct elem
{
    int h, w;
}stack[MAX_N];
int top, n, maxSize;

int main()
{
    int curw, curh, i, lasth;
    while(scanf("%d", &n) && n != -1)
    {
        top = lasth = maxSize = 0;
        int totalw , cursize;
        for(i = 1; i <= n; i++)
        {
            scanf("%d%d", &curw, &curh);
            if(curh >= lasth)
            {
                stack[top].h = curh;
                stack[top].w = curw;
                top++;
            }
            else
            {
                totalw = cursize = 0;
                while(top != 0)
                {
                    if(stack[top - 1].h > curh)
                    {
                        totalw += stack[top - 1].w;
                        if((cursize = totalw * stack[top - 1].h) > maxSize)
                            maxSize = cursize;
                        top -= 1;
                    }
                    else break;
                }
                totalw += curw;
                stack[top].h = curh;
                stack[top].w = totalw;
                top++;
            }
            lasth = curh;
        }
        totalw = cursize = 0;
        while(top != 0)
        {
            totalw += stack[top - 1].w;
            if((cursize = totalw * stack[top - 1].h) > maxSize)
                maxSize = cursize;
            top--;
        }
        printf("%d/n", maxSize);
    }
    return 0;
}

YOLOv11改进策略【独家融合改进】| MobileNetV4+BiFPN,轻松实现降参涨点,适用专栏内所有的骨干替换 可扩展的高效物体检测BiFPN(加权双向特征金字塔网络) 阅读详情

相关推荐

利用ENVI处理TIF文件,把多个tif整合到一个完整的tif,例如2003-2011年的tif整合到一个tif上。

利用ENVI处理TIF文件,把多个tif整合到一个完整的tif,例如2003-2011年的tif整合到一个tif上。

unique_sir的博客 1万+

poj2082 Terrible Sets

#include <iostream> #include <cstdio> #include <algorithm> #include <stack> using namespace std; const int maxn=50005; struct node{ int w,h; }data; int main(){ int n,ans,tot...

skykone1的博客 209

Ambari 3.0.0 + BigTop 3.3.0 源码编译与集群部署指南(Kylin V10 / aarch64)

仅仅是针对“应用商店目录(Applications Catalog)”的一个外围附属子模块(它不是 YARN 监控大盘,不影响 YARN UI 网页的主体使用),我们可以采用。自带的 Node 二进制是 x86_64 版本,在 ARM64(aarch64)容器上无法执行(Exit value: 126)。:Ambari Server/Agent 使用 JDK 17,BigTop 大数据组件(Hadoop/HBase/Spark 等)使用 JDK 8。,源码中包含 x86 特定的原生二进制文件。

amumu1992的博客 481

poj 2082 Terrible Sets

Terrible Sets Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4188   Accepted: 2166 Description Let N be the set of all natural numbers {0 , 1 , 2 , . . . },

菜鸟起飞的平台 537

实战指南:在华为防火墙上构建基于自签CA的SSL证书挑战式认证体系

本文详细介绍了在华为防火墙上构建基于自签CA的SSL证书挑战式认证体系的实战指南。通过自签CA证书生成、华为防火墙SSL VPN配置、客户端安装与测试等步骤,帮助企业实现更安全的远程办公接入方案,有效防范密码泄露风险。文章重点讲解了证书挑战登录的实现原理和配置细节,适用于企业网络安全建设。

weixin_32428571的博客 256

WSL 2 部署 Rocky Linux 9:从零到生产环境配置指南(2025版)

本文详细介绍了如何在WSL 2上部署Rocky Linux 9,从环境准备到生产环境配置的全流程指南。通过优化安装流程和系统配置,帮助开发者和运维工程师在Windows环境下高效运行企业级Linux系统,特别适合需要本地开发但部署到RHEL系服务器的项目。

weixin_28455801的博客 479

poj2082(Terrible Sets单调栈入门题)

题意就是求最大连续矩形的面积。 这道题是poj2559的内涵加强版。 对于一个新的元素 (1)如果此时栈为空或者栈顶元素比新元素小,则该元素入栈; (2)如果栈顶元素与新元素相等,则跳过该元素; (3)如果栈顶元素比新元素大,那么此时需要更新栈顶元素并更新面积,一直到栈顶元素小于该元素为止。#include <iostream> #include <stdio.h> #include <s

帷幕后的文和 471

光通信仿真入门:手把手教你用VPI和Matlab搭建第一个联合仿真系统(含避坑指南)

本文详细介绍了如何使用VPI和Matlab搭建光通信联合仿真系统,涵盖软件配置、链路搭建、数据交互等关键环节,并提供常见问题的解决方案。特别适合初学者快速掌握光通信仿真技术,避免常见错误,提升仿真效率。

weixin_28733637的博客 378

POJ2082--Terrible Sets(栈)

题目大意:给出n个连续的矩形,并且给出他们的底边宽和高。求最大矩形面积 分析:和POJ2559原理一样。传送门http://blog.youkuaiyun.com/hhhhhhj123/article/details/47790801。只是POJ2559的底边宽都是1,而这题则不一样。所以代码有些许不同。 代码: #include #include #include using n

Apple.Daily的专栏 986

YOLO26改进 - SPPF模块 | 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!!

本文介绍了Large Separable Kernel Attention (LSKA)模块及其在YOLO26中的结合应用。LSKA旨在解决Visual Attention Networks (VAN)使用大内核卷积时的计算效率问题,通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,降低了计算复杂度和内存占用,且使VAN更关注物体形状。我们将集成LSKA的SPPF_LSKA模块引入YOLO26,大量实验表明,改进后的模型在对象识别、检测、分割和稳健性测试上表现出色。

魔改工程师的博客 252

基于YOLOv5的人脸识别系统:从构建到应用的全流程指南

本文详细介绍了基于YOLOv5的人脸识别系统开发全流程。首先阐述了YOLOv5模型的高效性和准确性优势,随后分步骤讲解了深度学习环境配置、数据集准备(推荐WIDER FACE数据集)和模型训练方法。重点展示了如何将训练好的模型集成到Tkinter开发的GUI界面中,实现图片上传、人脸检测和结果可视化功能。文章提供完整的代码示例和飞书文档链接(密码:946m22&8),帮助开发者快速构建可交互的人脸识别系统,适用于安防、门禁等多种应用场景。通过该项目,读者可掌握YOLOv5的实际应用和界面集成技术。

FJN110的博客 169

poj 2082 Terrible Sets (数据结构 ——栈 STL)

 Terrible Sets Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 2999   Accepted: 1549 Description Let N be the set of all natural numbers {0 , 1 , 2 , . . .

Just do it ! 2078

【信息科学与工程学】信息科学领域——第一百三十三篇 半导体器件物理与电子封装01

③ 载流子浓度:n=∫Ec​∞​gc​(E)f(E)dE,f(E)=1+exp((E−EF​)/kB​T)1​,非简并时 n=Nc​exp(−kB​TEc​−EF​​),Nc​=2(ℏ22πme∗​kB​T​)3/2。简并时需用Fermi-Dirac积分 F1/2​(η)=π​2​∫0∞​1+ex−ηx​​dx,n=Nc​π​2​F1/2​(η),η=(EF​−Ec​)/kB​T。对于低维系统:2D g2D​(E)=πℏ2m∗​Θ(E−Ec​),1D g1D​(E)=πℏ1​E2m∗​​。

weixin_49199313的博客 552

POJ2082 Terrible Sets [DP 单调栈]

题意: 能把题目写得这么纠结真是种境界。 本质即是给定一定顺序的矩形,每个矩形都紧挨着x轴,问最大的矩形面积是? 思路: 1. O(n^2)的暴力法: #include #include #include #include #define max(a,b) (a>b?a:b) #define abs(a) ((a)>0?(a):-(a)) #define min(a,b) (a<b

Aszxqw 2362

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

POJ_2082_Terrible Sets

POJ_2082_Terrible Sets 单调栈

lws390322761的博客 497

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

POJ-2082-Terrible Sets

链接:https://vjudge.net/problem/POJ-2082#author=0 题意: 挨个给n个矩形的宽和高,求内部矩形的最大面积 思路: 单调栈,每次tmp记录出栈的总宽度。记录到下一次出栈要增加的宽度。 代码: #include <iostream> #include <memory.h> #include <vector&g...

weixin_34121282的博客 125

Poj 2082 Terrible Sets 【堆栈】

http://poj.org/problem?id=2082 堆栈是一种先进后出的数据结构。他有一个栈顶指针,通过对堆栈的入站和出栈控制,可以改变一个序列的顺序。 题目大意:紧贴x轴有一些互相挨着的矩形,给定每个矩形的长宽,问它们可以形成的最大矩形是多少。 用堆栈来实现,将矩形入栈,保持栈中的元素高度递增,如果即将入栈的高度data.h比栈顶元素的高度lasth小,则退栈。一直...

bantengbang8949的博客 180

Terrible Sets POJ - 2082

题目链接:点我 Let N be the set of all natural numbers {0 , 1 , 2 , . . . }, and R be the set of all real numbers. wi, hi for i = 1 . . . n are some elements in N, and w0 = 0. Define set B = {< x, y >

wood 384

POJ2082 Terrible Sets

还是经典的求最大子矩阵问题,但是这个又稍微不一样一点,因为每个矩阵不仅有高,还有宽,但是做法还是一样的,我的思路还是用的我自己的思路不是李煜东的那种,就是最后在统计答案的时候,需要用到前缀和数组,这个也是输入的时候统计的,我们有了矩形左右两边的下标了,就可以用前缀和数组O(1)的时间复杂度求出它的宽了,这样就得出答案了,知识点:单调栈,前缀和。

m0_73035684的博客 171
上一篇: POJ 2084 Game of Connections
下一篇: POJ 2080 Calendar
bobten2008
博客等级 码龄18年 153粉丝 157原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值