首页 > 试题广场 >

监视任务

[编程题]监视任务
𝑅𝑒𝑘𝑖在课余会接受一些民间的鹰眼类委托,即远距离的狙击监视防卫。
𝑅𝑒𝑘𝑖一共接到了𝑚份委托,这些委托与𝑛个直线排布的监视点相关。
第𝑖份委托的内容为:对于区间[𝑙𝑖, 𝑟𝑖]中的监视点,至少要防卫其中的𝑘𝑖个。
𝑅𝑒𝑘𝑖必须完成全部委托,并且希望选取尽量少的监视点来防卫。

输入描述:
第一行,两个正整数𝑛,𝑚。
接下来𝑚行,每行三个整数𝑙𝑖,𝑟𝑖,𝑘𝑖


输出描述:
一行,一个整数,即所需防卫的最少监视点数量。
示例1

输入

11 5
3 7 3
8 10 3
6 8 1
1 3 1
10 11 1

输出

6

备注:
对于10%的数据,𝑛 ≤ 10。
对于20%的数据,𝑛 ≤ 20。
对于30%的数据,𝑛,𝑚 ≤ 30。
对于60%的数据,𝑛,𝑚 ≤ 1000。
对于100%的数据,𝑛 ≤ 500000,𝑚 ≤ 1000000,𝑙𝑖 ≤ 𝑟𝑖,𝑘𝑖 ≤ 𝑟𝑖−𝑙𝑖+1。
头像 cccccccccchy
发表于 2019-08-03 11:57:52
区间查询 单点更新 题面 𝑅𝑒𝑘𝑖在课余会接受一些民间的鹰眼类委托,即远距离的狙击监视防卫。𝑅𝑒𝑘𝑖一共接到了𝑚份委托,这些委托与𝑛个直线排布的监视点相关。第𝑖份委托的内容为:对于区间[𝑙𝑖, 𝑟𝑖]中的监视点,至少要防卫其中的𝑘𝑖个。𝑅𝑒𝑘𝑖必须完成全部 展开全文
头像 1907040417+张舟
发表于 2020-12-25 10:43:29
用差分加前缀和求出每个点会被几个区间覆盖,优先选择被覆盖多的点,树状数组维护每个区间内被选中点的数量,线段树维护这个区间中与其他区间交集最多的点是哪个,(当这个区间选完后需要将这个区间的影响删除,蒟蒻因为这个一直通过率0%,要用到懒标记) #include<iostream> #incl 展开全文
头像 张广文
发表于 2020-03-19 16:11:22
include<bits/stdc++.h> using namespace std; define lowbit(x) ((x)&(-x)) define pi acos(-1.0) define eps 1e-8 define MOD 1000000007 define IN 展开全文