集合帖:区间问题
一、AcWing 803:区间合并
(1)题目来源:https://www.acwing.com/problem/content/805/
(2)算法代码:https://blog.csdn.net/hnjzsyjyj/article/details/145067059
#include <bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
struct Section {int x;int y;
} a[maxn];bool cmp(Section u,Section v) {if(u.x==v.x) return u.y<v.y;return u.x<v.x;
}int main() {int n;cin>>n;for(int i=1; i<=n; i++) {cin>>a[i].x>>a[i].y;}sort(a+1,a+1+n,cmp);int base=a[1].y;int cnt=1;for(int i=1; i<=n; i++) {if(a[i].x<=base) base=max(base,a[i].y);else cnt++,base=a[i].y;}cout<<cnt<<endl;return 0;
}/*
in:
10
-15 -8
-20 23
-2 11
2 22
18 23
11 27
-8 21
-18 14
-17 -12
-23 8
out:
1
*/
二、洛谷 P1496:火烧赤壁
(1)题目来源:https://www.luogu.com.cn/problem/P1496
(2)算法代码:https://blog.csdn.net/hnjzsyjyj/article/details/145073398
#include <bits/stdc++.h>
using namespace std;const int maxn=2e5;
struct Point {int x;int y;
} a[maxn];bool cmp(Point u,Point v) {if(u.x==v.x) return u.y<v.y;return u.x<v.x;
}int main() {int n;cin>>n;for(int i=1; i<=n; i++) {cin>>a[i].x>>a[i].y;}sort(a+1,a+1+n,cmp);int cnt=0;int from=a[1].x;int base=a[1].y;for(int i=1; i<=n; i++) {if(a[i].x<=base) base=max(base,a[i].y);else {cnt+=(base-from);from=a[i].x;base=a[i].y;}}cnt+=(base-from);cout<<cnt<<endl;return 0;
}/*
in:
3
-1 1
5 11
2 9
out:
11
*/
三、AcWing 905:区间选点
(1)题目来源:https://www.acwing.com/problem/content/907/
(2)算法代码:https://blog.csdn.net/hnjzsyjyj/article/details/142840548
#include <bits/stdc++.h>
using namespace std;const int inf=0x3f3f3f3f;
const int maxn=1e5+5;struct Scope {int le,ri;
} a[maxn];bool up(Scope u,Scope v) {return u.ri<v.ri;
}int main() {int n;cin>>n;for(int i=0; i<n; i++) {cin>>a[i].le>>a[i].ri;}sort(a,a+n,up);int ans=0;int t_ri=-inf;for(int i=0; i<n; i++)if(t_ri<a[i].le) {ans++;t_ri=a[i].ri;}cout<<ans<<endl;return 0;
}/*
in:
3
-1 1
2 4
3 5
out:
2
*/
四、AcWing 906:区间分组
(1)题目来源:https://www.acwing.com/problem/content/908/
(2)算法代码:https://blog.csdn.net/hnjzsyjyj/article/details/145081557
#include <bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
pair<int,int> a[maxn];
int n;int main() {cin>>n;for(int i=0; i<n; i++) {cin>>a[i].first>>a[i].second;}sort(a,a+n);priority_queue<int,vector<int>,greater<int>> q;for(int i=0; i<n; i++) {if(q.size() && a[i].first>q.top()) q.pop();q.push(a[i].second);}cout<<q.size()<<endl;return 0;
}/*
in:
10
-15 -8
-20 23
-2 11
2 22
18 23
11 27
-8 21
-18 14
-17 -12
-23 8out:
6
*/
五、AcWing 907:区间覆盖
(1)题目来源:https://www.acwing.com/problem/content/909/
(2)算法代码:https://blog.csdn.net/hnjzsyjyj/article/details/145083747
#include <bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
struct Section {int x;int y;
} a[maxn];bool cmp(Section u,Section v) {if(u.x==v.x) return u.y<v.y;return u.x<v.x;
}int main() {int st,en;cin>>st>>en;int n;cin>>n;for(int i=1; i<=n; i++) {cin>>a[i].x>>a[i].y;}sort(a+1,a+1+n,cmp);int ans=0;bool flag=false;for(int i=1; i<=n; i++) {int j=i,t=INT_MIN;while(j<=n && a[j].x<=st) {t=max(t,a[j].y);j++;}if(t<st) break;ans++;if(t>=en) {flag=true;break;}st=t,i=j-1;}if(!flag) ans=-1;cout<<ans<<endl;return 0;
}/*
in:
1 5
3
-1 3
2 4
3 5out:
2
*/
六、AcWing 802:区间和
(1)题目来源:https://www.acwing.com/problem/content/804/
(2)算法代码:https://blog.csdn.net/hnjzsyjyj/article/details/143309807
#include <bits/stdc++.h>
using namespace std;typedef pair<int,int> PII;
const int maxn=3e5+5;
int a[maxn],s[maxn];
int n,m;
vector<int> alls;
vector<PII> add,query;int find(int x) { //discretizationint le=0;int ri=alls.size()-1;while(le<ri) {int mid=(le+ri)>>1;if(alls[mid]>=x) ri=mid;else le=mid+1;}return ri+1;
}int main() {cin>>n>>m;for(int i=0; i<n; i++) {int x,c;cin>>x>>c;alls.push_back(x);add.push_back({x,c});}for(int i=0; i<m; i++) {int le,ri;cin>>le>>ri;alls.push_back(le), alls.push_back(ri);query.push_back({le,ri});}//de-weightsort(alls.begin(),alls.end());alls.erase(unique(alls.begin(),alls.end()), alls.end());for(auto v:add) {int x=find(v.first);a[x]+=v.second;}for(int i=1; i<=alls.size(); i++) {s[i]=s[i-1]+a[i]; //prefix sum}for(auto v:query) {int le=find(v.first);int ri=find(v.second);cout<<s[ri]-s[le-1]<<endl;}return 0;
}/*
in:
3 3
1 2
3 6
7 5
1 3
4 6
7 8
out:
8
0
5
*/
相关文章:
集合帖:区间问题
一、AcWing 803:区间合并 (1)题目来源:https://www.acwing.com/problem/content/805/ (2)算法代码:https://blog.csdn.net/hnjzsyjyj/article/details/145067059 #include <bits/stdc.h>…...
C#,入门教程(27)——应用程序(Application)的基础知识
上一篇: C#,入门教程(26)——数据的基本概念与使用方法https://blog.csdn.net/beijinghorn/article/details/124952589 一、什么是应用程序 Application? 应用程序是编程的结果。一般把代码经过编译(等)过程&#…...
迅翼SwiftWing | ROS 固定翼开源仿真平台正式发布!
经过前期内测调试,ROS固定翼开源仿真平台今日正式上线!现平台除适配PX4ROS环境外,也已实现APROS环境下的单机飞行控制仿真适配。欢迎大家通过文末链接查看项目地址以及具体使用手册。 1 平台简介 ROS固定翼仿真平台旨在实现固定翼无人机决策…...
CSS 样式 box-sizing: border-box; 详细解读
box-sizing是 CSS 中的一个属性,用于控制元素的盒模型计算方式。border-box值表示元素的宽度和高度将包括内边距(padding)和边框(border),而不仅仅是内容的宽度和高度。这意味着当你为元素设置宽度和高度时…...
FLASK创建下载
html用a标签 <!-- Button to download the image --> <a href"{{ url_for(download_file, filenameimage.png) }}"><button>Download Image</button> </a> 后端:url_for双大括号即是用来插入变量到模板中的语法。也就是绑…...
漫话架构师|什么是系统架构设计师(开篇)
~犬📰余~ “我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎” 关注犬余,共同进步 技术从此不孤单...
Web Socket
Web Socket WebSocket是一种基于TCP的网络通信协议,允许客户端和服务器之间建立全双工(双向)通信通道。WebSocket通过HTTP协议进行握手,建立连接后,客户端和服务器可以在同一个连接上同时发送和接收数据࿰…...
JavaSE学习心得(反射篇)
反射 前言 获取class对象的三种方式 利用反射获取构造方法 利用反射获取成员变量 利用反射获取成员方法 练习 保存信息 跟配置文件结合动态创建 前言 接上期文章:JavaSE学习心得(多线程与网络编程篇) 教程链接:黑马…...
使用FRP进行内网穿透
一、基本概念 内网穿透:它是一种网络技术或方法,旨在允许外部网络(如互联网)访问位于内部网络(内网)中的设备或服务。由于内部网络通常处于NAT(网络地址转换)、防火墙或其他安全机制…...
长安“战疫”网络安全公益赛的一些随想
起因 今年刚进入大学,开始带校队,为了培养校队新成员,也就一直计划着和当地的一些高校合作交流,但是由于种种原因一直被搁置下来。正巧学校信息中心和四叶草有一个培训项目的合作,学校的网安协会也算是沾了光成为了培…...
flutter 安卓端打包
在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB(Android App Bundle)。以下是打包 Flutter Android 应用的步骤: 1. 安装 Flutter 环境 确保你已经安装了 Flutter …...
Cesium中的CustomDataSource 详解
Cesium CustomDataSource 详解 在 Cesium 中,CustomDataSource 是一个强大的类,用于处理自定义的地理数据。它提供了一种方法,可以通过程序方式添加、管理和更新动态的地理实体,而无需依赖外部数据格式(如 GeoJSON 或…...
[Qt]常用控件介绍-按钮类控件-QPushButton、QRedioButton、QCheckBox、QToolButton控件
目录 1.QPushButton按钮 介绍 属性 Demo:键盘方向键控制人物移动 2.Redio Button按钮 属性 clicked、pressed、released、toggled区别 单选按钮的分组 Demo:点餐小程序 3.CheckBox按钮 属性 Demo:获取今天的形成计划 4.ToolBu…...
Windows 蓝牙驱动开发-安装蓝牙设备
蓝牙配置文件驱动程序有两种安装类型: 客户端安装,在此类安装中,远程设备播发其服务,并且计算机与之连接。 示例包括:鼠标、键盘和打印机;服务器端安装,在此类安装中,计算机播发服务…...
element表格有横向滚动条时产生错位或者偏移(火狐浏览器)
问题图 解决方法:给表头增加竖向滚动条的宽度 // 解决拖拽表格滚动条,错位问题 ::v-deep .el-table__header-wrapper{padding-right: 20px!important; // 滚动条宽度 }效果图如下:...
C# 下 SQLite 并发操作与锁库问题的 5 种解决方案
开篇:你是否被 SQLite 并发锁库困扰? 在当今数字化的时代浪潮中,数据已然成为了企业与开发者们手中最为宝贵的资产之一。C# 作为一门广泛应用于各类软件开发的强大编程语言,常常需要与数据库进行紧密交互,以实现数据的…...
2025封禁指定国家ip-安装xtables-addons记录
如何安装和使用 安装lux仓库(该仓库包含xtables-addons所需的依赖环境) # wget http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm # rpm -ivh lux-release-7-1.noarch.rpm 安装xtables-addons。注意:必须先安装kmod-xtables-addons,再…...
卷积神经02-CUDA+Pytorch环境安装
卷积神经02-CUDAPytorch环境安装 在使用Python进行pytorch的使用过程中遇到各种各样的版本冲突问题,在此进行记录 0-核心知识脉络 1)根据自己电脑的CUDA版本安装对应版本的Pytorch,充分的使用GPU性能2)电脑要先安装【CUDA ToolKi…...
高斯数据库与MySQL数据库的区别
高斯数据库与MySQL数据库的区别 在当今数据驱动的时代,选择合适的数据库管理系统(DBMS)对于项目的成功至关重要。高斯数据库和MySQL作为两款广泛使用的数据库系统,各自具有独特的特点和优势,适用于不同的应用场景。本…...
【 PID 算法 】PID 算法基础
一、简介 PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。也就是说,PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。 顾名思义,…...
别再乱用npm install了!手把手教你用npx only-allow为项目指定包管理器(支持pnpm/yarn/npm)
用only-allow统一团队包管理器:从配置到CI的全流程指南 你是否曾经在拉取一个新项目后,面对npm install、yarn还是pnpm i的抉择感到困惑?或者更糟的是,团队成员混用不同包管理器导致node_modules结构不一致,引发各种诡…...
FeHelper前端助手:30+开发工具集,让你的浏览器变身效率神器
FeHelper前端助手:30开发工具集,让你的浏览器变身效率神器 【免费下载链接】FeHelper 😍FeHelper--Web前端助手(Awesome!Chrome & Firefox & MS-Edge Extension, All in one Toolbox!) 项目地址:…...
毕业设计 yolov11骨折检测医疗辅助系统(源码+论文)
文章目录 0 前言1 项目运行效果2 课题背景2.1 研究背景2.2 国内外研究现状2.3 研究意义 3 设计框架(骨折检测系统设计框架说明)3.1. 系统架构图3.2. 技术选型3.2.1 核心组件3.2.2 辅助工具 3.3. 核心模块设计3.3.1 YOLO模型训练模块训练流程图关键伪代码…...
SMUDebugTool终极指南:如何深度掌控AMD Ryzen处理器的隐藏性能
SMUDebugTool终极指南:如何深度掌控AMD Ryzen处理器的隐藏性能 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...
深度解析HS2-HF Patch:从技术框架到创作工具链的完整升级方案
深度解析HS2-HF Patch:从技术框架到创作工具链的完整升级方案 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾因Honey Select 2的原版体验受…...
如何在3分钟内为任何活动搭建专业级滚动抽奖系统?Magpie-LuckyDraw全平台开源方案深度解析
如何在3分钟内为任何活动搭建专业级滚动抽奖系统?Magpie-LuckyDraw全平台开源方案深度解析 【免费下载链接】Magpie-LuckyDraw 🏅A fancy lucky-draw tool supporting multiple platforms💻(Mac/Linux/Windows/Web/Docker) 项目地址: https…...
基于IRS2092的200W D类功放设计:从PWM原理到保护电路实战
1. 项目概述与核心思路折腾音响功放,从经典的AB类玩到D类,感觉就像是从燃油车换到了电动车,动力响应和效率完全是两个维度。这次要聊的这块“200W Class-D Audio Power Amplifier [150115]”单板功放,就是一个非常典型的D类功放设…...
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包 【免费下载链接】BioAge Biological Age Calculations Using Several Biomarker Algorithms 项目地址: https://gitcode.com/gh_mirrors/bi/BioAge BioAge生物年龄计算工具包是一款基于R语言开发的强…...
Godot 2D随机地图三大静默故障:黑屏、穿墙、寻路失败的根源与修复
1. 为什么刚上手Godot做2D随机地图就总卡在“生成出来是黑的”“角色穿墙”“房间连不通”这三件事上?如果你是刚从Unity或GameMaker转来Godot,或者第一次用GDScript写程序逻辑的新手,大概率已经在2D随机地图生成这个环节反复摔过跟头——不是…...
AVR+ESP8266双核架构打造独立WiFi天气显示器:从硬件设计到软件实现
1. 项目概述:一个独立WiFi天气显示器的诞生几年前,我琢磨着在书桌上放一个能实时显示天气信息的小玩意儿,市面上成品要么功能单一,要么价格不菲,要么数据源依赖复杂的服务器。于是,我决定自己动手ÿ…...
