CF1604A Era

技术CF1604A Era CF1604A Era洛谷题面
题目大意
给一个长度为 \(n\) 的序列 \(a_1,a_2,\dots,a_n\),每次可以往序列中插入任意个整数,求最少插入多少个整数时

CF1604A时代

罗蒂面条

题目大意

给定一个长度为(n)的序列(a_1,a_2,\dots,a_n\),您可以一次向序列中插入任意整数,并找出至少要插入多少个整数。

题目分析

因为您想保留任何\(a_i\le i\),所以很容易想到在\(a_{i-1}\)和\(a_i\)之间插入\(a_i-i\) \(1\),因为\(a_)

因此,很容易得到\(\rm Idea-1\):

使用\(sum\)指示使序列满足条件的最小操作数。

对于每一个\(a_i\),如果\(a_i\gt i\),那么\(sum \得到sum (a_i-i)\)。

这个方法明显有缺陷,比如数据1 3 4。

\(a[2]2\),\(sum\)在\(i=2\)时等于\(1 \);实际顺序将变成1 1 3 4。

\(i=3\),我们需要再次插入\(1\),但实际上我们没有改变序列,所以我们发现我们的算法在这个时候会出错。

考虑到插入\(1\)后每个数据都会移动,我想到用另一个变量\(move\)来记录每个数据向后移动的次数。

不过,std::move 是关键字。今年 \(\rm CSP-J\) 有人在代码里使用了 move,惨遭爆零(

代码

const int ma=105

结构节点

{

int val

int mov

};

节点节点[ma];

int n;

内嵌void init()

{

memset(节点,0,sizeof(节点));

}

内联整数计算()

{

int sum=0;

for(寄存器int I=1;I=n;(一)

{

节点[i]。mov=总和;

if(节点[i]。valnode[i]。mov)

{

sum=节点[i]。val-node[i]。mov

}

}

返回总和;

}

int main(空)

{

int T=read();

而(T -)

{

init();

n=read();

for(寄存器int I=1;I=n;(一)

{

节点[i]。val=read();

节点[i]。mov=I;

}

printf('%d\n ',calc());

}

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/74736.html

(0)

相关推荐

  • 凯撒密码对应表,凯撒密码求编程。语言不限

    技术凯撒密码对应表,凯撒密码求编程。语言不限凯撒加密是最简单的加密,就是 把字符移动n位, 例如 凯撒密码对应表:移动1位时,a就用b表示,f用e表示。#includeint main(void){

    生活 2021年10月25日
  • kafka分区数量设置多少合适(kafka 分区个数与集群大小的关系)

    技术如何为Kafka集群确定合适的分区数以及分区数过多带来的弊端如何为Kafka集群确定合适的分区数以及分区数过多带来的弊端,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到

    攻略 2021年12月15日
  • 如何理解php中echo

    技术如何理解php中echo这篇文章主要介绍“如何理解php中echo”,在日常操作中,相信很多人在如何理解php中echo问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解php中e

    攻略 2021年10月22日
  • Linux下Hadoop 2.7.3如何安装搭建

    技术Linux下Hadoop 2.7.3如何安装搭建这篇文章将为大家详细讲解有关Linux下Hadoop 2.7.3如何安装搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux

    攻略 2021年11月30日
  • js判断某个元素是否有指定的class名的方法有哪些

    技术js判断某个元素是否有指定的class名的方法有哪些这篇文章主要介绍“js判断某个元素是否有指定的class名的方法有哪些”,在日常操作中,相信很多人在js判断某个元素是否有指定的class名的方法有哪些问题上存在疑

    攻略 2021年11月5日
  • 手机软件开发费用,开发一个App的费用是多少

    技术手机软件开发费用,开发一个App的费用是多少首先手机软件开发费用,一个App开发的基本要求,至少需要ios和android两个平台,来满足现在主要的手机平台使用用户,ios和android平台其中任意一个的开发价格大

    生活 2021年10月25日