返回顶部
摘要: 题意:有一组数,每次操作可以将某个数移到头部或者尾部,问最少操作多少次使得这组数非递减. 题解:先离散化将每个数映射为排序后所对应的位置,然后贪心,求最长连续子序列的长度,那么最少的操作次数一定为$n-len$. 感觉不好解释,直接上图,其实就是排序后它们一定是连续的,所以我们就求一个最长的连续的, 阅读全文
posted @ 2020-06-19 13:11 _Kolibri 阅读(296) 评论(0) 推荐(0)
摘要: 题意:有一个字符串,要求使用其中字符构造一个环(不必全部都用),定义一个环是k美的,如果它转$k$次仍是原样,现在给你$k$,要求最长的k美环的长度. 题解:我们首先看$k$,如果一个环转$k$的因子次是美的,那么$k$次也一定是美的,然后再看环,假如一个环最少转$d$次是美的,那么这个环的长度$n 阅读全文
posted @ 2020-06-19 12:50 _Kolibri 阅读(250) 评论(0) 推荐(0)
摘要: 题意:有一个字符串和一组数,可以对字符串删去任意字符后为数组的长度,且可以随意排序,要求修改后的字符串的每个位置上的字符满足:其余大于它的字符的位置减去当前位置绝对值之和等于对应序列位置上的数. 题解:贪心,我们发现,数组中$0$的位置一定对应字符串中最大的字符,所以我们从这个位置来构造,我循环来找 阅读全文
posted @ 2020-06-19 12:26 _Kolibri 阅读(363) 评论(0) 推荐(0)
摘要: 题意:有一排座位,要求每人之间隔$k$个座位坐,$1$代表已做,$0$代表空座,问最多能坐几人. 题解:我们分别从前和从后跑个前缀和,将已经有人坐的周围的位置标记,然后遍历求每一段连续的$0$,对于每一段最多能坐$\lceil len/(k+1) \rceil$,求个和就可. 代码: #includ 阅读全文
posted @ 2020-06-19 12:07 _Kolibri 阅读(208) 评论(0) 推荐(0)