首页 > 其他 > 详细

「考试」老司机的狂欢

时间:2019-10-19 09:29:21      阅读:41      评论:0      收藏:0      [点我收藏+]

啊考场上没想到。

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

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

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

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

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

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

「考试」老司机的狂欢

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!