CF1707B Difference Array

news/2025/11/22 16:17:09/文章来源:https://www.cnblogs.com/Red-river-hzh/p/19257051

题目大意

题目大意非常简短,就是给你一个数组。每次同时进行 \(a_i=a_{i+1}-a_i\) 的操作,求最后留下的一个数是什么,如下:

  1. 计算数组中相邻两个元素的差值,得到新的数组。
  2. 对新数组排序,然后将其替换。
  3. 重复此过程,直到数组只剩一个元素。

题意分析

关于直接暴力模拟差分,看似时间复杂度是 \(O(n^2\log n )\) 的,但是他还就不是。我们不难发现,如果有了零的话,这个零的位置是不用排序和怎么操作或操作太多的。而且既然是求差值,后面的数两两一求,是几乎直接折半的。于是这个时间复杂度是小于 \(O(n^2\log n )\) 的,接近于 \(O((n+m)\log n)\) 的,其中 \(m\)\(\sum_{i=1}^{n} a_i\)

CODE

#include<bits/stdc++.h>
#define wk(x) write(x),putchar(' ')
#define wh(x) write(x),putchar('\n')
#define ll long long
#define ull unsigned long long
#define ri register int
#define INF 2147483647
#define mod 998244353
#define N 100005
#define NO printf("No\n")
#define YES printf("Yes\n")using namespace std;
int n,m,k,jk,ans,sum,num,cnt,tot;
int head[N],dis[N],vis[N],wis[N],f[N];void read(int &x)
{x=0;int ff=1;char ty;ty=getchar();while(!(ty>='0'&&ty<='9')){if(ty=='-') ff=-1;ty=getchar();}while(ty>='0'&&ty<='9')x=(x<<3)+(x<<1)+ty-'0',ty=getchar();x*=ff;return;
}void write(int x)
{if(x==0){putchar('0');return;}if(x<0){x=-x;putchar('-');}char asd[201];int ip=0;while(x) asd[++ip]=x%10+'0',x/=10;for(int i=ip;i>=1;i--) putchar(asd[i]);return;
}signed main()
{read(jk);while(jk--){read(n);ans=0;for(int i=1;i<=n;i++) read(dis[i]);//输入。for(int i=n-1,bz=0,x=dis[n];i>=1;i--,x=dis[i+1],bz=0){for(int j=i;j>=1;j--){if(!dis[j]) bz=1;//判断当前位置是否为零。dis[j]=x-dis[j];x-=dis[j];//暴力直接求差。if(bz){sort(dis+j,dis+i+1);break;}//如果为零,就直接排序退出。}if(!bz) sort(dis+1,dis+i+1);//没排过就要排序。}wh(dis[1]);//输出。}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/973209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P3113 [USACO14DEC] Marathon G

题目大意 马拉松路线由 \(N\) 个检查点组成,选手必须按顺序经过每个检查点。有两种操作:更新某个检查点的坐标。 查询从检查点 \(X\) 到 \(Y\) 的最短路径长度,允许跳过其中一个中间。要求高效处理这些操作。 思路分…

封装map和set(红黑树作为底层结构如何完成map和set插入遍历)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

淮安市一对一辅导机构权威排行榜推荐:2026家教机构穿透式测评!

为贴合淮安市小学、初中、高中学生对语文、数学、英语、理化生、史地政全部学科一对一家教课外补习的核心需求,解决家长选择辅导培训教育机构的核心困扰——教师资质虚实难辨、教学方案千篇一律、隐形消费层出不穷、孩…

崖山数据库导出 - 华

崖山数据库导出将F:\A_MAZ\A_package\yashandb-client-23.4.1.102-windows-amd64\binF:\A_MAZ\A_package\yashandb-client-23.4.1.102-windows-amd64\lib放入环境变量 然后在F:\A_MAZ\A_package\yashandb-client-23.4.…

南昌航空大学-软件学院-23207201-吕玉英

题目集 1-3电梯调度程序实践与反思 一、前言 过去这些天里,我们开始了为期三周的电梯调度大作业学习,这三次题目集围绕电梯调度系统展开渐进式设计,体现了从基础到复杂、从单一功能到系统架构的完整学习路径。第一次…

AI Compass前沿速览:Nano Banana Pro、Gemini 3 、 HunyuanVideo 1.5 、Meta SAM 3D生成

AI Compass前沿速览:Nano Banana Pro、Gemini 3 、 HunyuanVideo 1.5 、Meta SAM 3D生成AI Compass前沿速览:Nano Banana Pro、Gemini 3 、 HunyuanVideo 1.5 、Meta SAM 3D生成 AI-Compass 致力于构建最全面、最实用…

Prufer序列与Cayley公式

Cayley公式:n个节点的带标号的无根树有n^(n-2)个。 证明 Prufer序列与树的转换 重要性质: prufer序列中某个编号出现的次数+1就等于这个编号的节点在无根树中的度数。

MX Round 27 解题报告

MX Round 27 解题报告 T1 观察一:对于区间 \([l,l]\),它如果不为 \(1\),那么有 \(a_i=w_{l,l}\);否则有 \(a_i=0\) 或 \(a_i=1\)。 观察二:对于第 \(i\) 个和第 \(i+1\) 个无法被确定的数,通过查询区间内已知的最…

11.22模拟赛

T1 给定一棵 \(n\) 个点的树,点有颜色,问有哪些 \(u\) 满足,对于任意的 \(v\),路径 \((u,v)\) 上不出现重复颜色。 对于所有数据,满足 \(1 \leq n \leq 2 \times 10^5, 1 \leq c_i \leq n\)。 题解 考虑用样的颜色…

从超时到秒杀:三路快排解决数组排序的完整实战与反思

从超时到秒杀:三路快排解决数组排序的完整实战与反思在算法学习中,“数组排序”是绕不开的基础问题,但看似简单的需求,却藏着对时间复杂度、空间复杂度的深度考量。本文结合我在 LeetCode “数组升序排列” 问题中…

2025年光伏安装厂家权威推荐榜单:光伏施工/光伏/光伏发电源头厂家精选

在能源转型战略的推动下,光伏产业迎来爆发式增长,专业的光伏安装服务正成为保障系统高效稳定运行的关键环节。 根据行业统计数据,2024年中国光伏新增装机量达277.57GW,同比增长28.3%,相当于2010年到2020年11年的累…

机房夸夸乐

前言 先开坑…… 咱们来写一个机房夸夸乐吧,争取 \(noip\) 前更完。 可能会有一些外号,自己猜猜是谁吧~~ 注:按照座位顺序来的。

2025年镀锌水沟盖板订做厂家权威推荐榜单:雨水沟盖板/污水沟盖板/镀锌排水沟盖板源头厂家精选

在城市化建设和工业基础设施升级的推动下,镀锌水沟盖板凭借其优异的防腐性能和承载能力,正成为市政工程、工业园区和道路排水系统的关键部件。 根据市场调研数据显示,2024年中国钢格板市场规模达到85亿元,年均增长…

完整教程:【Deepseek OCR】重磅测试,mac环境下的体验【本人已经本地实验成功】

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

使用C# Channel实现工位流水线调度系统

在现代制造业中,流水线生产需要精确的工位协作。本文将介绍如何使用C#的Channel实现一个高效的工位流水线调度系统。 1、首先我们准备一个工位接口public interface IWorkstation{string WorkName { get; }Task Start…

福星福袋助手,抖音福袋扭蛋机,抖音抢福袋工具

抖音福星福袋助手,抖音福袋扭蛋机,抖音抢福袋工具 DY福袋工具 抖音福袋福星福袋助手 最新版本群里下载 [2025-11-20] 抖音福星福袋助手,抖音抢福袋工具,抖音无水印视频下载器,抖音直播间录制下载器,抖音批量取消…

2025年发电机制造厂权威推荐榜单:康姆勒原装发电机组/康姆勒发电机组/全自动柴油发电机组源头厂家精选

在能源安全与应急供电需求日益重要的今天,发电机组作为各行业关键电力保障设备,其性能优劣直接关系到企业运营的连续性与稳定性。 发电机组作为重要的电力供应设备,在工业备用电源、基础设施建设、应急救援等领域发…

2025百元白酒精选推荐指南:十大香型佳酿与纯粮酒挑选策略

在白酒消费市场中,百元价位带凭借 “品质与性价比平衡” 的核心优势,成为日常口粮酒、家庭聚会及轻商务宴请的主流选择。据行业统计数据显示,百元档白酒占整体白酒消费市场份额超 35%,且年均增速保持在 12% 以上,…

BLOG1-NCHU-单部电梯调度程序

题目集 1-3 单部电梯调度程序 一.前言历经三周的时间,也是完成了每周一次Java课程的大作业。在我们每次完成的大作业当中均包含着NCHU-单部电梯调度程序的相关题目,并且每周题目呈现迭代递进的特点。从题目集1的NCHU…

Hadoop生态系统怎样优化存储性能

Hadoop生态系统优化存储性能是一个复杂的过程,涉及多个方面。以下是一些关键的策略和步骤,可以帮助您提高Hadoop的存储性能: 硬件优化主节点和从节点的配置:确保主节点(运行NameNode)的内存配置足够高,因为Name…