可以修建的缆车总数不超过n,于是可以先通过$O(n^2)$的枚举求出所有可以修建的缆车. 对于一个缆车,若它仅连接i和i+1,那么它不受k的限制,把这种缆车额外取出,从大到小排序. 剩下的缆车两两之间要么是包含关系,要么没有任何交集,按照包含关系可以建出一棵树. 设f[i][j][k]表示以i为根的子树中修建了j个缆车,且该区间内所有点上面的缆车数的最大值为k的最优解. 则对于x的孩子i,通过枚举a,b,c,d,可以得到: f'[x][a+c][max(b,d)]=max(f'[x][a+c][…