题目背景
给定一个二分图,两个部分我们称之为A部和B部。
对于一个A部的点Ai,其在B部中相邻的点是一个连续的区间,记为[Li,Ri]。
现在你需要找一个尽量大的匹配,使之在具有匹配的性质的前提下,所有匹配边互不相交。(即不存在两条匹配边(Ai,Bx),(Aj,By),使得i<j,x>y)。
输入格式
第一行一个整数N,表示A部点数。 接下来N行,每行两个整数Li,Ri表示对应的区间。
输出格式
一行一个整数表示求出的最大匹配大小。
样例输入
Copy
4
1 1
1 2
1 2
2 3
样例输出
Copy
3
数据范围
对于30%的数据,N≤200。 对于50%的数据,N≤5000。 对于100%的数据,N≤100000,1≤Li≤Ri≤N。
这道题就跟平时处理最长上升子序列一样先考虑暴力DP
然后我们可以考虑每次dp值的变化规律
我们把dp数组转化为查分数组,那么可以发现:
对于一个区间(L,R),我们实际上先删掉>=R的第一个1
然后把R这个点删掉,这样把(L-1,R)这个区间左移了一位
然后再在原来L的位置插入一个1
这种操作可以很轻松的用splay来维护
随便写写应该就能A了(但我很菜所以改了很久)