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分析

思路

  1. 转化问题 根据“好的”数组的定义,存在一个非负整数 ccc,使得对于所有 i∈[1,n]i \in [1, n]i∈[1,n],都满足 ∣ai′−i∣=c|a'_i - i| = c∣ai′​−i∣=c,其中 a′a'a′ 是我们目标中的“好的”数组。这个等式可以拆解为两种情况:ai′−i=ca'_i - i = cai′​−i=c 或 ai′−i=−ca'_i - i = -cai′​−i=−c。

  2. 引入辅助数组 为了简化问题,我们定义一个辅助数组 bbb,令 bi=ai−ib_i = a_i - ibi​=ai​−i。那么,我们的目标就是将数组 aaa 转换成 a′a'a′,等价于将数组 bbb 转换成数组 b′b'b′(其中 bi′=ai′−ib'_i = a'_i - ibi′​=ai′​−i),并且数组 b′b'b′ 中的每个元素要么是 ccc,要么是 −c-c−c。

  3. 计算代价

P3644.第1题-数组操作

    1000ms Tried: 32 Accepted: 14 Difficulty: 3 所属公司 : 蚂蚁
    算法与标签>思维

题目内容

小红认为一个长度为 nnn 的数组是好的,当且仅当对于任意的 iii 均满足:

∣ai−i∣|a_i-i|∣ai​−i∣ 均相等,其中数组下标 iii 从 111 开始,小红每次可以对一个数加 111 或者减 111 ,求把给定的数组变成好数组的最少操作次数。

输入描述

第一行一个整数 n(1≤n≤1000)n(1≤n≤1000)n(1≤n≤1000) ,表示数组长度。

第二行 nnn 个整数,第 iii 个为 ai(1≤ai≤n)a_i(1≤a_i≤n)ai​(1≤ai​≤n) 。

输出描述

一个整数,表示把给定的数组变成好数组的最少量作次数。

样例1

输入

3
3 2 1

输出

2

样例2

输入

3
1 2 3

输出

0

登录后即可使用 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 3, 38ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?