题面
给 \(n\) 条线段 \([l_i,r_i]\),每条有个颜色 \(t_i\in\{0,1\}\),求最多选出多少条线段,使没有不同颜色的线段相交。
数据范围:\(1\le n\le 2\cdot 10^5\),\(1\le l_i\le r_i\le 10^9\)。
蒟蒻语
昨天蒟蒻打 \(\tt CF\),发挥得不错,迷惑回橙。但是蒟蒻没做出这题,赛后想了好久感觉这题很奇妙,于是蒻蒻地来写篇题解。
蒟蒻解一
线段树维护 dp。
先将每条线段 \(l_i,r_i\) 离散化。
设 \(f(i,j,0/1)\) 表示看到坐标 \(i\),从坐标 \(j+1\) 到当前坐标都是颜色为 \(0/1\) 的线段的最多线段数。
未完待续
代码
蒟蒻解二
代码
祝大家学习愉快!