首先考虑如果是链上而不是环上,那限制就等价于所有线过了同一点,很好处理。直接断环,最终方案所有跨过 $n$ 到 $1$ 的之间一定互相有交,没有被断开的一定过同一点。
把没有被断开的称为 A 类,被断开的称为 B 类。那么直接枚举最终没有被断开的线段相交的点(可先离散化),限制就是 $\forall_{i\in A,j\in B} l_j\ge l_i \lor r_j\le r_i$(被断开也不妨令 $l_i\le r_i$,即将靠左的端点称为 $l_i$)。
把 $(l_i,r_i)$ 拍到平面直角坐标系中,对于 A 类点 $i$,不存在 B 类点 $j$ 满足 $l_j\lt l_i \land r_j\gt r_i$,即不存在 B 类点在其左上方。
从前往后 dp,记录 $dp_{i,j}$ 表示考虑了 $l_p\ge i$ 的所有 $p$ 选择的 A 类点的最小 $r$ 为 $j$,转移考虑转到一个 $r$ 更小的 A 类点或者不动,然后获得其上方 A 类点数加下方 B 类点数的贡献。
容易线段树优化做到单次 $O(n\log{n})$,加上枚举相交点的复杂度为 $O(n^2\log{n})$。