acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 更正经题解|新年排列

    思维水题。。 全题用时最短方法: 证据: 考虑一下两个移动能不能互相帮助就行了 AC代码:

    userId_undefined

    SJZ08

    尊贵铂金
    22阅读
    2回复
    1点赞
  • 题解

    作为整个比赛唯一一道普及-的题目,难度肯定是要高很多的 我是没想出来他们那些简单的解法qwq 先看看题目,可以任意选取k个数,所以我们只需要看看有多少个数可以不用拿取排序的 先用备用数组sort一下,找出第一小以后的第二小,第三小……如果第n+1小在第n小的前面那n就是不用拿取排序的数的数量

    userId_undefined

    复仇者_帅童

    尊贵铂金
    38阅读
    0回复
    0点赞
  • 正经题解|新年排列

    题面大意 给你一个长度为nnn的全排列ppp,和一个整数kkk,每次可以任意选择kkk个元素,以升序移动到ppp的末尾,直到ppp为升序。 题意分析 求最小操作次数,使得ppp变为升序 解题思路 找到以1开头的最长上升序子序列qqq,那么不属于qqq部分的则都要移动,将非qqq部分的元素移动到ppp的尾部就好。 时间复杂度解析 我们只需要遍历一次ppp序列,就能找到子序列qqq,复杂度为O(n)O(n)O(n)。 代码演示

    userId_undefined

    AC君

    管理员
    倔强青铜
    27阅读
    0回复
    0点赞
首页