CSP

学术版

StеlІаwіnD @ 2026-05-31 17:59:13

第五题写了一个最坏n3的做法过了n=3000

然后呢,我考虑正解做法,我发现把他拍到序列上,我也不会做

序列上的题意:给一个排列p,你要维护一个数列a,你先从p上面选择一个位置i,然后a=pi,拿走pi,每次操作,你可以拿走被拿走的区间的前一个或者后一个数,并把这个数放在a的首或者尾,要求a字典序最小,n1e5

我猜这是一个很简单的东西,但是我不会做


by yulexun @ 2026-05-31 18:13:15

贪心,我觉得好像可以先选序列中最小的数作为一个区间,然后左右两边取最小值,左边小就拿到左边,右边小就拿到右边。

但是我也不知道思路是否正确,因为我是巨弱,如果大错特错的话不要嘲笑我hh。


by yulexun @ 2026-05-31 18:25:59

@yulexun不是不是 刚才看错了 如果是字典序最小的话就两边比较最小的插区间首尾取最小值即可。


|