---
title: "校门外的树"
created: 2025-11-28
tags:
- 算法
---
# 校门外的树
## 题目 [校门外的树](https://www.acwing.com/problem/content/424/)
![[image-4b75221d.png]]
## 思路分析
是模版的变形
也可以作为 农田灌溉
[[2-Learning/02-算法/03-刷题理模型/区间合并相关问题/管道|管道]] 无线网络 这三题的一个引入
可以用标记的方式 遍历标记查看数目 也可以用区间合并
这篇还给出了线段树、树状数组等方式的解答 等以后学到了回过头来看一下
要注意几个点
0~400 401~500
这一段是可以合并的 与模版有些不同
所以要把不合并的条件修改为 ed+1
using namespace std;
#define endl '\n'
typedef pair PII;
vector roads;
int L,M;
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>L>>M;
for(int i=0;i>l>>r;
roads.push_back({l,r});
}
sort(roads.begin(),roads.end());
int st=-100,ed=-100;
int res=0;
for(auto road:roads){
if(ed+1
using namespace std;
#define endl '\n'
const int N=100010;
typedef pair PII;
PII roads[N];
int cnt=0;
int L,M;
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>L>>M;
for(int i=0;i>l>>r;
roads[cnt++]={l,r};
}
sort(roads,roads+M);
int st=-100,ed=-100;
int res=0;
for(int i=0;i