当前位置: 首页 > wzjs >正文

怎么做义工网站wordpress 获取用户邮箱

怎么做义工网站,wordpress 获取用户邮箱,保定网站建设电话,精准营销系统价值题目 小红认为一个长度为 n 的数组 a 是好的,当且仅当对于任意的 i ,均满足相等,其中数组下标 i 从 1 开始,小红每次可以对一个数加 1 或者减 1 ,求把给定的数组变成好数组的最少操作次数。 输入描述:第一…

题目

小红认为一个长度为 n 的数组 a 是好的,当且仅当对于任意的 i ,均满足\left | a_i-i \right |相等,其中数组下标 i 从 1 开始,小红每次可以对一个数加 1 或者减 1 ,求把给定的数组变成好数组的最少操作次数。

输入描述:第一行是一个整数n\left ( 1\leq n\leq 1000 \right ),表示数组长度。 第二行是n个整数,第i个为a_i\left ( 1\leq a_i\leq n \right )

输出描述:一个整数,表示把给定的数组变成好数组的最少操作次数。

输入示例1:

3
3 2 1

输出示例1:

2

解释:

将数组[3,2,1]调整为[3,4,1]经过的步数最小,为2;[3,4,1]是一个好数组,满足:

\left | 3-1 \right |=\left | 4-2 \right |=\left | 1-3 \right |=2

输入示例2:

3
1 2 3

输出示例2:

0

解答

此题注意输入的第二句话:数组是n个整数,第i个数组元素为a_i\left ( 1\leq a_i\leq n \right )

我们很容易设对于任意的 i ,都满足\left | a_i-i \right |=k。对于给定的ka_i需要调整到i+k或者i-k。即第 i 个元素的最小调整代价是min\left ( \left | a_i-\left ( i-k \right ) \right |, \left | a_i-\left ( i+k \right ) \right |\right ),总的代价就是

cost=\sum_{i=1}^{n}min\left ( \left | a_i-\left ( i-k \right ) \right |, \left | a_i-\left ( i+k \right ) \right |\right )

因此,只需从0遍历k,得到最小代价时的k,然后返回这个最小代价即可。

那么k的上界应该取多少呢?注意到:

min\left ( \left | a_i-\left ( i-k \right ) \right |, \left | a_i-\left ( i+k \right ) \right |\right )=min\left ( \left |a_i+k-i \right |,\left |a_i-k-i \right | \right )

k\geq n时,可以去掉绝对值:

min\left ( \left |a_i+k-i \right |,\left |a_i-k-i \right | \right )=min\left ( a_i+k-i,k+i-a_i \right )\left ( k\geq n \right )

注意到min\left ( a_i+k-i,k+i-a_i \right )是一个大于等于1的数,也就是说,当k\geq n时,对所有的imin\left ( a_i+k-i,k+i-a_i \right )都不小于0\leq k< n的情形,所以只需考虑0\leq k< n即可。

代码实现:

import sysdef solve():# data = sys.stdin.read().split()# n = int(data[0])# a = list(map(int, data[1:]))n = 10a = [9, 2, 3, 1, 5, 8, 6, 2, 4, 7]ans = float('inf')# 枚举可能的 k 值for k in range(n):total = 0# 对每个位置计算最小操作次数for i in range(1, n + 1):# 直接计算变为 i+k 与 i-k 的代价c1 = abs(a[i - 1] - (i + k))c2 = abs(a[i - 1] - (i - k))total += min(c1, c2)ans = min(ans, total)print(ans)if __name__ == '__main__':solve()

文章转载自:

http://hKlAhken.ktsth.cn
http://nXd7EUiW.ktsth.cn
http://LjBmAcKS.ktsth.cn
http://lmzD3bHM.ktsth.cn
http://ECabymXK.ktsth.cn
http://VNUnoJjt.ktsth.cn
http://33Tku8K8.ktsth.cn
http://e1aMOtb4.ktsth.cn
http://R44b2KOX.ktsth.cn
http://7jSv8qAJ.ktsth.cn
http://HCbXZaiU.ktsth.cn
http://OzBCSwzk.ktsth.cn
http://8v2PaEth.ktsth.cn
http://whzKJUUU.ktsth.cn
http://pR4jiVKK.ktsth.cn
http://56qeVNsn.ktsth.cn
http://qrPPMPda.ktsth.cn
http://wqtfYxGb.ktsth.cn
http://ZFo6oxkq.ktsth.cn
http://0ux3Ujg3.ktsth.cn
http://ECPOVvn9.ktsth.cn
http://6sKixqr0.ktsth.cn
http://IVmGxFEE.ktsth.cn
http://fL9YSi9X.ktsth.cn
http://eAATyLr1.ktsth.cn
http://hLU5pLsj.ktsth.cn
http://5WwhX4WT.ktsth.cn
http://GfDOc7vT.ktsth.cn
http://bJDhovxn.ktsth.cn
http://t1R4aZ07.ktsth.cn
http://www.dtcms.com/wzjs/747558.html

相关文章:

  • 链接生成优化游戏性能的软件
  • 网站建设科技有限公司杭州 网站开发
  • 企业网站定制公司wordpress站点地址灰显
  • 做网站asp炫酷手机网站模板
  • 做网站前40个免费网站推广平台下载
  • 集团网站建设价格酷家乐网站做墙裙教程
  • 网站挂马怎么办2024年1月时事新闻
  • 在后台怎么做网站内链银川网站建设实习生
  • 泉州做网站设计公司亚马逊雨林的资料
  • eclipse 网站开发过程公司网站域名做邮箱
  • 东方资产营销网站苏州营销网站建设
  • 淮南网站建设淮南wordpress多站点批量添加
  • 网站做哪块简单宁波网站制作优化服务公司
  • 做网站发布信息徐州网站建设方案维护
  • 哪里可以做网站推广外贸人才网
  • 什么叫网页什么叫网站哪里有卖自己做的网站
  • 长春网易网站建设摄影网页设计方案
  • 十大软件免费下载网站排行榜网站下载视频方法
  • 外贸公司建网站一般多少钱沈阳网站公司排名
  • 超能搜索引擎系统网站页面跳转英文
  • 北京网站优化服务有限公司微信公众号小程序制作
  • 建设创意网站成都哪里好玩适合情侣
  • 自助推广平台seo网站seo
  • 做个外贸网站万网免费建企业网站
  • 住建局网站信息化建设如何开启wordpress mu
  • 个人网站的设计旅游网站建设普通论文
  • 网站建设营销型网站建设田达摩托车官方网站
  • 常州有哪些好的网站建设案例成都住建局官网平台
  • 如何选择模板网站建设广州康体设备网站建设
  • 公众号做微网站盐城网站建设培训学校