代表元计数——CF720D Slalom 题解
代表元计数——CF720D Slalom 题解
首先这题路径数的定义与平时不太一样:如果其没有以不同的方式跨过障碍,即使路径所走的是不同的,也要算作一条。
对于算作一条的许多路径,如果可以使仅其中一条产生贡献,便可以解决问题。为了方便,这里取最低的一条,称作代表路径
设 \(f_{i,j}\) 表示走到 \(i,j\) 的代表路径数是多少。
如果没有矩形,直接 \(f_{i,j}=f_{i-1,j}\)。
设向下第一个碰到的第一个矩形上界为 \(u\) 那么 \(f_{i,j}=\sum_{k=u+1}^jf_{i-1,k}\)
从左到右扫描线,求和用线段树,找 \(u\) 用 set 维护一下当前被覆盖的线段。复杂度 \(T:\mathcal O((m+k)\log n) M:\mathcal O(k)\)。


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号