竞赛
考级
思维水题。。 全题用时最短方法: 证据: 考虑一下两个移动能不能互相帮助就行了 AC代码:
SJZ08
作为整个比赛唯一一道普及-的题目,难度肯定是要高很多的 我是没想出来他们那些简单的解法qwq 先看看题目,可以任意选取k个数,所以我们只需要看看有多少个数可以不用拿取排序的 先用备用数组sort一下,找出第一小以后的第二小,第三小……如果第n+1小在第n小的前面那n就是不用拿取排序的数的数量
队团加不)ด้้童帅_者仇复
题面大意 给你一个长度为nnn的全排列ppp,和一个整数kkk,每次可以任意选择kkk个元素,以升序移动到ppp的末尾,直到ppp为升序。 题意分析 求最小操作次数,使得ppp变为升序 解题思路 找到以1开头的最长上升序子序列qqq,那么不属于qqq部分的则都要移动,将非qqq部分的元素移动到ppp的尾部就好。 时间复杂度解析 我们只需要遍历一次ppp序列,就能找到子序列qqq,复杂度为O(n)O(n)O(n)。 代码演示
AC君