1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

我们只允许至多一次把一个子段 [l,r] 反转。逆序对只与相对顺序有关。把 [l,r] 反转时:

  • 区间外与区间内的“跨区间对”在反转前后依然满足“左下标 < 右下标”,比较的两值也没变,因此这部分逆序对数量不变。
  • 唯一会改变的是区间内部两两成对的关系。

设区间长度为 k = r-l+1,区间内

P3726.第4题-数组逆序反转

    1000ms Tried: 13 Accepted: 4 Difficulty: 6 所属公司 : 携程
    算法与标签>树状数组

题目内容

给定一个长度为 nnn 的整数数组 a=a=a={a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​}。你可以进行至多一次操作:选择一个区间 [l,r][l,r][l,r] 并将该区间内的元素顺序反转;也可以不进行任何操作。

记逆序对为满足 1≤i<j≤n1≤i < j≤n1≤i<j≤n 且 ai>aja_i>a_jai​>aj​ 的有序对数量(相等不计入逆序)。

请你在允许至多一次区间反转的前提下,使逆序对数量尽可能小,并输出该最小值。

  • 顺序反转的定义:选择 [l,r][l,r][l,r] 后,将段内顺序由 [al,al+1,...,ar][a_l,a_{l+1},...,a_r][al​,al+1​,...,ar​] 变为 [ar,ar−1,...,al][a_r,a_{r-1},...,a_l][ar​,ar−1​,...,al​] ;区间外元素及其相对顺序不变。若 l=rl=rl=r 等价于不操作。

输入描述

第一行输入一个整数 n(1≦n≦2×103)n(1 ≦n≦ 2×10^3)n(1≦n≦2×103) ;

第二行输入 nnn 个整数 a1,a2,...,an(1≦ai≦109)a_1,a_2,...,a_n(1≦ a_i≦ 10^9)a1​,a2​,...,an​(1≦ai​≦109) 。

输出描述

输出一个整数,表示在至多一次区间反转后,数组可能达到的最小逆序对数量。

样例1

输入

5
2 1 5 3 4

输出

2

说明

选择反转区间 [1,2][1,2][1,2] ,得到 [1,2,5,3,4][1,2,5,3,4][1,2,5,3,4] ,逆序对为 (5,3),(5,4)(5,3),(5,4)(5,3),(5,4) ,数量为 222 。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 40ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?