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

CF1707B Difference Array

题目大意

题目大意非常简短,就是给你一个数组。每次同时进行 \(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.jsqmd.com/news/47671/

相关文章:

  • P3113 [USACO14DEC] Marathon G
  • 封装map和set(红黑树作为底层结构如何完成map和set插入遍历)
  • 淮安市一对一辅导机构权威排行榜推荐:2026家教机构穿透式测评!
  • 崖山数据库导出 - 华
  • 南昌航空大学-软件学院-23207201-吕玉英
  • AI Compass前沿速览:Nano Banana Pro、Gemini 3 、 HunyuanVideo 1.5 、Meta SAM 3D生成
  • Prufer序列与Cayley公式
  • MX Round 27 解题报告
  • 11.22模拟赛
  • 从超时到秒杀:三路快排解决数组排序的完整实战与反思
  • 2025年光伏安装厂家权威推荐榜单:光伏施工/光伏/光伏发电源头厂家精选
  • 机房夸夸乐
  • 2025年镀锌水沟盖板订做厂家权威推荐榜单:雨水沟盖板/污水沟盖板/镀锌排水沟盖板源头厂家精选
  • 完整教程:【Deepseek OCR】重磅测试,mac环境下的体验【本人已经本地实验成功】
  • 使用C# Channel实现工位流水线调度系统
  • 2025年发电机制造厂权威推荐榜单:康姆勒原装发电机组/康姆勒发电机组/全自动柴油发电机组源头厂家精选
  • 2025百元白酒精选推荐指南:十大香型佳酿与纯粮酒挑选策略
  • BLOG1-NCHU-单部电梯调度程序
  • Hadoop生态系统怎样优化存储性能
  • 【matlab】机器学习入门之旅
  • web漏洞、waf繞過和前端加密繞過
  • 部署tendis 集群
  • P4555 [国家集训队] 最长双回文串 踢姐
  • 2025年水肥一体机制造厂权威推荐榜单:便携式水肥一体机/全自动喷淋系统/简易水肥一体源头厂家精选
  • 23207225-华辉-第一次blog作业
  • 英语_阅读_AI models_待读
  • 11.22组会
  • 2025年食品厂生产用水紫外线消毒设备优质厂家权威推荐榜单:牛奶厂紫外线消毒设备/饮料杀菌紫外线消毒设备/啤酒生产紫外线消毒设备源头厂家精选
  • 2025年福建钨钢棒回收公司权威推荐榜单:福州钨钢合金回收/福建钨钢模具回收/福建钨钢块回收服务商精选
  • 扩展RTCM消息 - 教程