码迷,mamicode.com
首页 > 其他好文 > 详细

「考试」老司机的狂欢

时间:2019-10-19 10:04:26      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:直接   最小值   恶心   style   相同   方案   而且   lis   输出   

啊考场上没想到。

直接二分答案,然后$nlogn$求解最长上升序列来$check$是否大于$K$即可。

然后恶心的是要求输出方案,而且。。。字典序最小。

我们考虑二分出答案之后求出方案。

$LIS$的过程其实类似于建树,我们要把当前的决策挂在当前树上某一深度的点中,字典序最小的方案下面。

那么当我们比较两个方案的时候,只需要求出他们在$LIS$树上的$LCA$,那么在$LCA$以上的部分完全相同,所以只需要比较他们在$LCA$一下的部分中最小值的大小,较小的更优,一边跑$LIS$一边跑倍增$LCA$即可。

复杂度$O(nlognlog88400+nlog^2n)$

「考试」老司机的狂欢

标签:直接   最小值   恶心   style   相同   方案   而且   lis   输出   

原文地址:https://www.cnblogs.com/Lrefrain/p/11702737.html

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