码迷,mamicode.com
首页 > 编程语言 > 详细

[CTSC2017]最长上升自序列(伪题解)(树状数组+DP套DP+最小费用最大流+Johnson最短路+Yang_Tableau)

时间:2018-04-19 20:50:40      阅读:421      评论:0      收藏:0      [点我收藏+]

标签:lcs   就是   html   str   .com   组成   task   https   tar   

部分分做法很多,但每想出来一个也就多5~10分。正解还不会,下面是各种部分分做法:

Subtask 1:k=1

LCS长度最长为1,也就是说不存在j>i和a[j]>a[i]同时成立。显然就是一个LDS,树状数组直接求即可。

Subtask 2:k=2

最多两个,也就是可以由两个LCS拼起来,f[i][j]表示第一个LCS以i结尾,第二个以j结尾的方案数,转移显然。

Subtask 3:k=2

树状数组优化DP,复杂度由$O(n^3)$降为$O(n^2 \log n)$

Subtask 4,5:B<=8

DP套DP:https://www.cnblogs.com/clnchanpin/p/7357564.html

一般与“子序列”同时出现,如最长上升自序列,最长公共自序列等。

Subtask 6,7:

一个显然的定理:一个序列的LCS最大为k意味着这个序列最少可以由k个不相交的LDS组成。

[CTSC2017]最长上升自序列(伪题解)(树状数组+DP套DP+最小费用最大流+Johnson最短路+Yang_Tableau)

标签:lcs   就是   html   str   .com   组成   task   https   tar   

原文地址:https://www.cnblogs.com/HocRiser/p/8886115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!