rmq
ypxrain
这个作者很懒,什么都没留下…
展开
-
AtCoder Regular Contest 080 E - Young Maids
题意 给出一个排列,要求按如下方式构造一个新排列,使得新排列的字典序尽量小。 每次可以在原排列中选择两个相邻的数,将这两个数在原排列中删掉并按照原来的相对顺序放在新排列的最前面。 n<=200000 分析 由于要字典序最小,我们可以倒着贪心。 首先找到下标奇偶性不同且字典序最小的两个数(a[x],a[y]),那么a[x]和a[y]就会作为新排列的开头,然后将序列拆分成三...原创 2018-04-16 16:37:34 · 191 阅读 · 0 评论 -
bzoj 5073: [Lydsy1710月赛]小A的咒语
给出两个字符串A,B和一个常数x,问能否从A中取不超过x段出来,将其按原来顺序拼接后可以组成B。 Solution 我们可以设f[i,j]表示A的前i个字符选了j段出来能拼成的B的最长前缀是多少。 用后缀数组+RMQ即可做到O(1)转移 Code #include <bits/stdc++.h> const int N = 200005; int n,m,x,f[1...原创 2018-04-26 21:47:31 · 283 阅读 · 0 评论