BZOJ 1683.City skyline 城市地平线

传送门

从左到右扫一遍,考虑什么时候会和之前形成同一幢房子从而不用统计

显然是当前的高度和之前某个点高度相同,并且它们之间没有更矮的建筑

考虑用一个单调栈维护一个单调上升的房子轮廓,然后对于扫到的每一个高度,看看栈里有没有相同的高度就行了

但是我比较傻逼,没想到,所以用 $set$ 去维护单调栈就可以维护的东西...

每个位置进出 $set$ 一次,复杂度 $O(n \log n)$

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<set>
using namespace std;
inline int read()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); }while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }return x*f;
}
const int N=5e5+7;
int n,m,ans;
set <int> S;
set <int>::iterator it,pit;
int main()
{n=read(),m=read();int x,y; S.insert(0);for(int i=1;i<=n;i++){x=read(),y=read();for(it=S.upper_bound(y);it!=S.end();it=S.upper_bound(y)) S.erase(it);if(S.find(y)==S.end()) { ans++; S.insert(y); }}printf("%d\n",ans);return 0;
}

 

转载于:https://www.cnblogs.com/LLTYYC/p/11320741.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3 eslint 编译器宏和 defineProps,defineEmits,no-undef 规则警告

.eslintrc.js修改 定义全局globals module.exports {globals: {defineProps: readonly,defineEmits: readonly,defineExpose: readonly,withDefaults: readonly},env: {browser: true,es2021: true},extends: [plugin:vue/vue3-strongly-recommended, standard],parserOptio…

Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台: 微服务是当前非常流行的技术框架&#xff0c;通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性&#xff0c;可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性…

JS两个对象数组过滤掉相同的对象

let arr1 [{uid:1,name:张三},{uid:2,name:李四}]; let arr2 [{id:1,name:张三},{id:2,name:王五,age:23},{id:3,name:罗翔}]; 去掉arr2中包含的arr1相同name的对象: //ES6的方法&#xff0c;得到新数组 const newArr arr2.filter((item) > {return !arr1.some(ele>…

亚伦•斯沃茨:提升时间的品质

亚伦•斯沃茨&#xff1a;提升时间的品质 不休不眠地工作是低效的&#xff0c;怎样发挥时间的最大效率&#xff1f; 伏维阁主 2013-01-18 16:45图片来源&#xff1a;personalitytutor.com &#xff08;亚伦•斯沃茨Aaron Swartz / 文&#xff09;《 怎样有效利用时间 》中给出的…

useEffect中使用异步函数

useEffect是不能直接用 async await 语法糖的 /* 错误用法 &#xff0c;effect不支持直接 async await*/useEffect(async ()>{/* 请求数据 */const res await getData()},[]) useEffect 的回调参数返回的是一个清除副作用的 clean-up 函数。因此无法返回 Promise&#xf…

Flex4_HttpService组件

1、在JavaWeb项目中新建Servlet(FlexLoginServelt) &#xff1a; public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setContentType("text…

想要提高记忆力?做梦去吧!

想要提高记忆力&#xff1f;做梦去吧&#xff01; 豆豆助 2010-11-26 11:47经验说&#xff1a;不好好学习&#xff0c;就知道睡觉 实验说&#xff1a;要想记忆好&#xff0c;睡觉不能少。做梦可以增强我们的记忆。 有没有办法能让人不费吹灰之力增强记忆力&#xff1f; 做梦吧你…

This beta version of Typora is expired, please download and install a newer version. 解决方案

原文链接&#xff1a;https://blog.csdn.net/yyywxk/article/details/125133205 问题描述 今日打开 Typora 软件时&#xff0c;突然报错&#xff0c;提示软件版本已过期&#xff0c;需要安装新版本&#xff0c;如下图所示。 关闭错误提示框后会自动跳转到&#xff1a;https://…

MySQL查询count(*)、count(1)、count(field)的区别收集

count(*)对行的数目进行计算&#xff0c;包含NULLcount(column)对特定的列的值具有的行数进行计算&#xff0c;不包含NULL值。 count()还有一种使用方式&#xff0c;count(1)这个用法和count(*)的结果是一样的。 任何情况下select count(*) from tablename是最优选择&#xff1…

真想学习?扔掉你详细的计划吧!

真想学习&#xff1f;扔掉你详细的计划吧&#xff01; 该不该定个计划&#xff1f;详细的计划确实可以更高效&#xff0c;也许可以将你减肥的速度加快一倍。但是如果想学习&#xff0c;还是扔掉详细的计划吧&#xff01;因为它会占用你太多的认知资源&#xff0c;只顾着闷头做事…

Swift中文件和图片上传处理

前言&#xff1a;基于Alamofire4.5网络框架开发的Swift项目中上传文件和图片代码参考。 上传文件 extension HttpRequestService {typealias UploadDoneBlock (_ dict:[String : Any]) -> Void//成功blockfunc uploadEcgFileWithGatherRecord(model :RecordModel, fileName…

下载各种在线视频及字幕

1. http://en.savefrom.net/ 支持30多个有名的网页呢 &#xff0c;YouTube等等 Supported resourcesHow to use?filefactory.comsendspace.com youtube.commetacafe.combreak.comdailymotion.comvimeo.comsevenload.commail.rusmotri.comyandex.rurambler.rutvigle.ruintv.ru…

React Icons

发现一个Icon库,分享下哈; 使用React-Icons轻松地在React项目中包含流行图标&#xff0c;它利用es6导入&#xff0c;允许只包含项目正在使用的图标。 Installation (for standard modern project) npm install react-icons --save Usage import { FaBeer } from react-ico…

对flex深入研究一点

flex顶层设计 1.在任何流动的方向上(包括上下左右)都能进行良好的布局 2.可以以逆序 或者 以任意顺序排列布局 3.可以线性的沿着主轴一字排开 或者 沿着侧轴换行排列 4.可以弹性的在任意的容器中伸缩大小 5.可以使子元素们在容器主轴方向上 或者 在容器侧轴方向上 进行对齐 主轴…

那些你可能还不知道的新发明

The Wello WaterWheel 对世界上六分之一的人来说&#xff0c;取水是个苦活&#xff1a;步行数小时&#xff0c;排队等待&#xff0c;负重运送。 而花费在这个基本需求上的时间让许多儿童不得不辍学&#xff0c;让女人不能负起责任来处理家务或者工作以取得收入。在很多欠发达地…

AntD中Form的input正则校验:不能输入空格

什么是正则表达式&#xff1f; 在编写处理字符串的程序或网页时&#xff0c;经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说&#xff0c;正则表达式就是记录文本规则的代码。 正则test() 方法 定义和用法 test() 方法用于检测一…

引用数据类型分类

引用类既是自己定义的一个类&#xff0c;后面应用非常广泛 类的定义格式 创建java文件&#xff0c;与类名相同 public class 类名{ 数据类型 属性名称1&#xff1b; 数据类型 属性名称2&#xff1b; … } publicclass Phone { /* * 属性 */ String brand;// 品牌型号 String …

关于英文邮件一些tips

需要写的英文邮件多了&#xff0c;就觉得很吃力&#xff0c;尤其是当需要经常写给同一个人时。希望邮件的开头、结尾、一些客套的话能有不同的表达~~ 邮件的开头&#xff1a;感谢读者是邮件开场白的好办法。感谢您的读者能让对方感到高兴&#xff0c;特别是之后你有事相求的情…

react之react-spring动效库

react-spring具有基于钩子和基于组件的API&#xff0c;这里将专门针对所有动画使用具有基本状态的钩子. framer-motion也很好用,但是体积2M多,太大了劝退 react-spring才6KB. react-spring npm搜索 老官网react-spring 官网Getting started | React Spring 做了个横向遍…

Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析

Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析 生鲜电商搜索引擎的特点 众所周知&#xff0c;标准的搜索引擎主要分成三个大的部分&#xff0c;第一步是爬虫系统&#xff0c;第二步是数据分析&#xff0c;第三步才是检索结果。首先&#xff0c;电商的搜…