题目链接 题解 原本也有想到过类似之前学军集训一道题的思路,但感觉是模拟费用流就有意回避,往其他的方面想就自闭了。 首先按照价值从大到小排序,对于当前的,如果在它的区间内有位置,那就找到最左边的一个放下;否则考虑退流:从左往右考虑每一个已经占的位置,如果它的右端点比当前的右端点大,说明他可能通过退到更后面来腾出位置,这个又转化为原来问题,递归下去解,一遇到空位就占,这样保证是最优的。由于没考虑一个数最多只会把每一个数考虑一遍,效率是 O ( n 2 ) O(n^{2}) O(n2)的。