poj1201 Intervals
题意:
给上N个区间,每个区间[li,ri]选择ni个数,求这N个区间最少要选择多少个数。
输入:
5
3 7 3
8 10 3
6 8 1
1 3 1
10 11 1
输出:
6
看到题的的第一眼以为是个dp,这几天dp写疯了,实际上贪心加线段树/树状数组就好了,只是贪心肯定会TLE。
对这个N个区间的r由小到大排序,每次标记的时候从右开始标记。
初始化tree数组为0,每次标记更改为1,查询求和就ok了。
附上AC代码
1 |
|
Welcome to onlooker's blog
给上N个区间,每个区间[li,ri]选择ni个数,求这N个区间最少要选择多少个数。
5
3 7 3
8 10 3
6 8 1
1 3 1
10 11 1
6
看到题的的第一眼以为是个dp,这几天dp写疯了,实际上贪心加线段树/树状数组就好了,只是贪心肯定会TLE。
对这个N个区间的r由小到大排序,每次标记的时候从右开始标记。
初始化tree数组为0,每次标记更改为1,查询求和就ok了。
附上AC代码
1 | #include<algorithm> |