首页 > 其他分享 >SP15620 POSTERIN - Postering 题解

SP15620 POSTERIN - Postering 题解

时间:2024-07-04 21:20:11浏览次数:13  
标签:海报 Postering 题解 POSTERIN 高度 int SP15620

题目传送门

前置知识

单调栈

解法

容易有每个建筑物的宽度对答案没有影响,故可以将其宽度均看作 \(1\)。

在最优策略下,对于每张海报,其高度一定等于所覆盖的楼的最小高度。

单调栈维护最小高度,记录额外海报数量(与先前高度相等时可以少用一张海报)。

最终,用总张数 \(n\) 减去额外海报数量即可。

代码

#include<bits/stdc++.h> 
using namespace std;
stack<int>s;
int main()
{
    int n,i,x,y,ans=0;
    cin>>n;
    s.push(0);
    for(i=1;i<=n;i++)
    {
        cin>>x>>y;
        while(s.empty()==0&&y<=s.top())
        {
            if(s.top()==y)
            {
                ans++;
            }
            s.pop();
        }
        s.push(y);
    }
    cout<<n-ans;
	return 0;
}

后记

多倍经验:luogu P3467 [POI2008] PLA-Postering

标签:海报,Postering,题解,POSTERIN,高度,int,SP15620
From: https://www.cnblogs.com/The-Shadow-Dragon/p/18284694

相关文章

  • reverse 题解
    reverse题解注意到本题数据范围较大且与数位有关,考虑数位DP。我们发现对于每个询问,我们可以将第一个条件拆开之后差分,可以先从后往前DP,预处理出末尾满足$L\le\operatorname{reverse}(n)\leR$的个数,之后使用试填法填数即可。具体地,在预处理时,处理出顶到上界,顶到下界......
  • Kithara常见问题解答
    目录通用问题我的内核驱动程序已经签名了吗?是否可以在打开驱动程序时防止显示介绍窗口?Windows7仍然支持吗?错误0x10142422(`KSERROR_CANNOT_START_KERNEL`)在`KS_openDriver`时出现?错误10145241(KSERROR_CANNOT_START_KERNEL)在KS_openDriver时出现?可以在C#应用程......
  • javascript url 传递参数中文乱码问题解决方案
    在JavaScript中,传递URL参数时,如果参数包含中文字符,可能会出现乱码问题。解决这一问题可以使用encodeURIComponent和decodeURIComponent函数。这些函数会对URL参数进行编码和解码,确保特殊字符(包括中文字符)能够被正确传递和解析。以下是一个完整的解决方案示例: 1.......
  • [JLU] 数据结构与算法上机题解思路分享-
    前言首先,请务必自己尽全力尝试实现题目,直接看成品代码,思维就被拘束了,也很容易被查重。这里只是思路解析的博客,代码仓库在JLU_Data_Structures_Record希望你能在这里找到你想要的:)第三次上机A手撕BST分数50作者朱允刚单位吉林大学对一棵初始为空的二叉查找树(Binary......
  • 牛客小白月赛97 A-D题解
    AAAAAAAAAAAAAAAAAAAAA-----------------------------题解-------------------------------------------统计数组中有没有出现三个相同的边即可点击查看代码#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;cin>>n;map<int,int>m;int......
  • P2286 [HNOI2004] 宠物收养场 题解
    P2286[HNOI2004]宠物收养场set做法题链\(_{洛谷}\)\(_{题库}\)思路一眼查找前驱后继的题。注意到一句话:那么用set就没有什么阻碍了,方便又快捷。题意很简单,若宠物多则查找与人需求最接近的上下两个值,人多则找与宠物最接近的上下两个人的值。出题人很善良,把选人和选宠物......
  • 刺杀 题解
    题目简述你在玩一个游戏,需要刺杀\(n\)个敌人。可以肉搏或者用子弹击杀敌人。肉搏第\(i\)个敌人会使你的体力值减少\(x_i\),你要保证你的体力值始终非负。击杀第\(i\)个敌人后,会获得\(y_i\)颗子弹,有可能\(y_i\)为\(0\),这时候你啥都拿不到。你初始体力值为\(s\),有一个......
  • P10589 题解
    经典题。tag:数状数组。开一个权值树状数组,从左往右遍历,统计左边比\(y_i\)小的数字个数\(ul_i\)与比\(a_i\)大的数字个数\(dl_i\);然后从右往左遍历,统计右边比\(y_i\)小的数字个数\(dr_i\)与比\(a_i\)大的数字个数\(ur_i\)。两个答案即为\(\sum_{i=1}^ndl_i\cdo......
  • CSP-S 2005 T1 谁拿了最多奖学金【题解】
    1.题目描述某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:院士奖学金,每人 8000 元,期末平均成绩高于 80 分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;五四奖学金,每人 4000 元,期末平均成绩高于 85 分(>85),并且班级......
  • 历年CSP-J初赛真题解析 | 2018年CSP-J初赛选择题(1-15)
    学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客第1题以下哪一种设备属于输出设备()A.扫描仪B.键盘C.鼠标D.打印机【答案】:D【解析】A、B、C都是输入设备第2题下列......