codeforces 1132 G(线段树+单调栈)
题意:
规定一个子序列为递增的且每一位上的数的下一位恰好是原序列中该数下一个大于他的数。求长度为k的连续区间中最长的子序列的长度是多少
题解:
通过维护一个单调递减的栈来获得一个数后一位数的位置,之后我们可以把得出的这层关系连边形成一个森林方向为大数->小数,并将所有入度为0的与一个须根(n+1)相连。
通过上述操作我们就可以发现,假如加上一个数的贡献,其贡献只会影响其子孙,删掉依然。于是我...
原创
2019-03-11 22:58:06 ·
272 阅读 ·
0 评论