/ Vijos / 题库 /

砍树

砍树

时间限制:1秒  内存限制:256M


【题目描述】

H先生想把门前N棵树挡住了他家阳台的视线,因此计划进行适当的砍伐。已知第 i 棵树位于位置 xi(−109≤xi≤109)。
环境保护法限制了H先生可以砍伐哪些树。有K个限制(1≤K≤105),规定在线段 [li,ri](包含端点)中必须始终至少存在 ti 棵树(−109≤li,ri≤109)。输入保初始时满足这些限制。
H先生想请帮助他计算他可以砍伐的树的最大数量,同时仍然满足所有限制!

【输入格式】

  每个测试点包含T(1≤T≤10)组独立的测试数据。输入保证一个测试点中的所有N之和以及K之和均不超过3×105。
输入的第一行包含T。每组测试数据的格式如下:
- 第一行包含整数N和K。
- 下一行包含N个整数 x1,…,xN。
- 以下K行,每行包含三个空格分隔的整数li,ri 和 ti。

【输出格式】

  对于测试点,输出一行,包含一个整数,表示 H先生可以砍伐的树的最大数量。

【输入输出样例1】

 Input

3
7 1
8 4 10 1 2 6 7
2 9 3
7 2
8 4 10 1 2 6 7
2 9 3
1 10 1
7 2
8 4 10 1 2 6 7
2 9 3
1 10 4

 Output

4
4
3

【样例说明】

  对于第一组测试数据,H先生 可以砍伐前 4 棵树,留下位于 xi=2,6,7 的树来满足限制。
对于第二组测试数据,额外的限制不会影响 H先生 可以砍伐哪些树,因此他可以砍伐相同的树并同时满足两个限制。
对于第三组测试数据,H先生 至多只能砍伐 3 棵树,因为初始时有 7 棵树,但第二个限制要求他至少留下 4 棵树不砍伐。

【测试点性质】

  • 测试点 1:N,K≤16。
  • 测试点 2-4:N,K≤1000。
  • 测试点 5-6:对于所有的 i=1,…,K 有 ti=1。
  • 测试点 7-10:没有额外限制。

【来源】

  Mr.he

信息

ID
3292
难度
10
分类
离散化与扫描图结构 | 最短路差分约束数据结构 | 队列线段树树状数组 点击显示
标签
(无)
递交数
1
已通过
0
通过率
0%
被复制
2
上传者