摘要: 如果用dp求LIS的话,记录路径是比较简单的,只要在更新dp数组的时候同时记录路径,最后找LIS长度的时候同时找到终点,通过终点逆向就能找到LIS路径了(这是我临时想的,可能有更好的方法,不保证正确性) for (int i = 1; i <= n; i++) for (int j = 1; j < 阅读全文
posted @ 2019-08-07 21:08 Zeronera 阅读(943) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个n的排列p,再给你一个n的排列k,一开始所有p不可用,对于每个ki表示下标为k1~ki的p可用,求当前可用的所有p的最长上升子序列(可能表达的不是很清楚,这里看题面) 题解:题意等价于一个完整的排列按照一定顺序依次删除每个数,然后计算每次操作后的 LIS 长度。这样就好办了,首先在 O 阅读全文
posted @ 2019-08-07 20:09 Zeronera 阅读(365) 评论(0) 推荐(0) 编辑