[BZOJ4373][线段树]算术天才⑨与等差数列

Android Qcom USB Driver学习(五) 在前面的第二期中,我们知道一些非标的USB的充电类型Floatingcharger,其具有和普通DCP相似的大电流能力,但在最初检测的时候会限制Inputcurrentlimit到100mA,来进行检测是否是SDP类型,所以要支持大电流输入就需要进行vote操作,前面的几篇都有涉及,所以本文学习一下pmicusbcharger都相关的vote机制。... 阅读详情

%%%Claris

这里写图片描述
这里写图片描述
我比较蠢……打了三个线段树,至于prei可以对于每一种权值开个set记录位置,然后搞一搞

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#define N 300010

using namespace std;

int n,m,ttt;
int A[N],B[N],C[N];
map<int,int> M;
set<int> S[N<<1];
set<int>::iterator itr;
struct seg{
  int l,r,x,Max,Min;  
}T1[N*5],T2[N*5],T3[N*5];

inline void rea(int &x){
  char c=getchar(); x=0;
  for(;c>'9'||c<'0';c=getchar());
  for(;c>='0'&&c<='9';x=x*10+c-'0',c=getchar());
}

int gcd(int x,int y){
  if(x==0||y==0) return x+y;
  return y?gcd(y,x%y):x;
}

inline void Up(seg *A,int g){
  A[g].x=gcd(A[g<<1].x,A[g<<1|1].x);
  A[g].Max=max(A[g<<1].Max,A[g<<1|1].Max);
  A[g].Min=min(A[g<<1].Min,A[g<<1|1].Min);
}

void Build(int g,int l,int r,seg *T,int *B){
  T[g].l=l; T[g].r=r;
  if(l==r) return void(T[g].x=T[g].Max=T[g].Min=B[l]);
  int mid=l+r>>1;
  Build(g<<1,l,mid,T,B);
  Build(g<<1|1,mid+1,r,T,B);
  Up(T,g);
}

void Update(int g,int x,seg *T,int *A){
  if(T[g].l==T[g].r) return void(T[g].x=T[g].Min=T[g].Max=A[x]);
  int mid=T[g].l+T[g].r>>1;
  if(x<=mid) Update(g<<1,x,T,A);
  else Update(g<<1|1,x,T,A);
  Up(T,g);
}

int theMin(int g,int l,int r,seg *T){
  if(T[g].l==l&&T[g].r==r) return T[g].Min;
  int mid=T[g].l+T[g].r>>1;
  if(r<=mid) return theMin(g<<1,l,r,T);
  if(l>mid) return theMin(g<<1|1,l,r,T);
  return min(theMin(g<<1,l,mid,T),theMin(g<<1|1,mid+1,r,T));
}

int theMax(int g,int l,int r,seg *T){
  if(T[g].l==l&&T[g].r==r) return T[g].Max;
  int mid=T[g].l+T[g].r>>1;
  if(r<=mid) return theMax(g<<1,l,r,T);
  if(l>mid) return theMax(g<<1|1,l,r,T);
  return max(theMax(g<<1,l,mid,T),theMax(g<<1|1,mid+1,r,T));
}

int query(int g,int l,int r,seg *T){
  if(T[g].l==l&&T[g].r==r) return T[g].x;
  int mid=T[g].l+T[g].r>>1;
  if(r<=mid) return query(g<<1,l,r,T);
  if(l>mid) return query(g<<1|1,l,r,T);
  return gcd(query(g<<1,l,mid,T),query(g<<1|1,mid+1,r,T));
}

int main(){
  rea(n); rea(m);
  int tot=0;
  for(int i=1;i<=n;i++){
    rea(A[i]);
    int x;
    if(M[A[i]]) x=M[A[i]];
    else x=M[A[i]]=++tot;
    if(S[x].empty()) S[x].insert(i),B[i]=0;
    else{
      S[x].insert(i);
      itr=S[x].find(i); itr--;
      B[i]=*itr;
    }
    C[i]=abs(A[i]-A[i-1]);
  }
  Build(1,1,n,T1,B);
  Build(1,1,n,T2,C);
  Build(1,1,n,T3,A);
  int cnt=0;
  while(m--){
    int op,x,y,k;
    rea(op);
    if(op==1){
      rea(x); rea(y);
      x^=cnt; y^=cnt;
      int p=M[A[x]];
      itr=S[p].find(x); itr++;
      if(itr!=S[p].end()){
    int now=*itr; itr--;
    if(itr==S[p].begin()) B[now]=0;
    else itr--,B[now]=*itr;
    Update(1,now,T1,B);
      }
      S[p].erase(x);
      A[x]=y;
      if(M[y]) p=M[y]; else p=M[y]=++tot;
      S[p].insert(x);
      itr=S[p].find(x);
      if(itr!=S[p].begin()) itr--,B[x]=*itr,itr++;
      else B[x]=0;
      Update(1,x,T1,B);
      itr++;
      if(itr!=S[p].end()){
    B[*itr]=x;
    Update(1,*itr,T1,B);
      }
      C[x]=abs(A[x]-A[x-1]);
      if(x<n) C[x+1]=abs(A[x]-A[x+1]);
      Update(1,x,T2,C); Update(1,x+1,T2,C);
      Update(1,x,T3,A);
    }
    else{
      rea(x); rea(y); rea(k);
      x^=cnt; y^=cnt; k^=cnt;
      if(x>y) swap(x,y);
      if(y==x) { puts("Yes"); cnt++; continue; }
      if(k==0)
    if(theMax(1,x,y,T3)==theMin(1,x,y,T3)) { puts("Yes"); cnt++; continue; }
    else { puts("No"); continue; }
      if(theMax(1,x,y,T1)>=x) { puts("No"); continue; }
      if((theMax(1,x,y,T3)-theMin(1,x,y,T3))!=k*(y-x)) { puts("No"); continue; }
      if(query(1,x+1,y,T2)%k==0) { puts("Yes"); cnt++; }
      else puts("No");
    }
  }
}
DCNv4+YOLOv8:2024最新可变形卷积赋能目标检测,从原理到实战的科研级优化指南 从理解DCNv4“自适应变形卷积核”的核心思想,到亲手将其嵌入YOLOv8并验证在复杂场景的检测效果,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解目标检测中“特征自适应提取”的核心价值。现在就开始行动,相信你会在目标检测的“自适应特征提取”之路上,走出一条属于自己的技术路径。实验通常会证明:嵌入DCNv4后,YOLOv8在复杂场景下的检测精度提升3-5个百分点,尤其是小目标和遮挡目标的AP提升更为明显,而推理速度仅下降5%-10%(可通过模型量化进一步优化)。2024年最新推出的。 阅读详情

相关推荐

ESP8266入门(一)固件烧录及常见问题分析

为了实现对数据的远程收集和分析,偶然间发现了esp8266这个模块,对此进行了深入的学习,可是在学习之初遇到了大量的问题,这个系列文章就为大家讲讲我遇到的坑以及解决办法,还有esp8266如何连上oneNet云平台的方法。因为我用的是esp8266nodemcu,可以直接连接usb进行烧录,如果用模块的话接线就比较麻烦,可以去搜搜看.

Jerryxuzherui的博客 8952

[BZOJ4373算术天才⑨与等差数列] 线段树

[BZOJ4373算术天才⑨与等差数列] 线段树分类:Data Structure1. 题目链接[BZOJ4373算术天才⑨与等差数列]2. 题意描述算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了

Fighting! 714

SQL Server2008详细安装步骤(超详细步骤)

https://pan.baidu.com/s/1yvolqfU-AbiuGrIzblA7pA 提取码:lzw81.下载好安装包后解压到除C盘以外的磁盘,避免系统卡顿2.使用管理员身份打开安装程序注意:使用管理员身份打开时,此时如果显示以下画面属于正常现象,下载安装即可。因为.net现在有很多软件都需要,包括SQLSERVER2008,它里面有visual studio都要有net,电脑系统没有的话安装一下好了。3.选择全新安装或向现有安装添加新功能4.点击确定5.出现以下画面之后,输入产品密钥即可(密钥在

m0_67402774的博客 4万+

线段树 bzoj4373 算术天才⑨与等差数列

传送门:点击打开链接 题意:强制在线,单点更新,区间询问,询问这个区间的数从小到大排序后,是否能构成等差为k的等差数列 思路:利用线段树维护数字之和,维护平方和,因为平方和很大所以还要取模,还要维护区间内的最小值 然后每次查询先取出最小值,然后通过等差k求出区间内数字和以及平方和应该等于多少,然后再用线段树查询,看是否等于这么多。 #include #include #include #i

qwb的博客 1586

STM32CubeMX-电机控制2-电机相关配置部分

STM32CubeMX-电机霍尔传感器 写在前面的话:之前一直使用库函数,调程序时总会觉得是配置出现问题,要画一些时间去检查配置程序,所以目前转到了STM32CubeMX。写这些内容一方面是整理记录,因为是刚入门,所以难免出现错误,希望能得到大家指正;另一方面是因为自己一个人调试,走了很多弯路,写下来希望能给相同处境的人一些参考。 步骤一: 电机霍尔传感器接口 我目前使用的是STM32F4,电机的...

niker_co的博客 1万+

【5G NB-IoT NTN】3GPP R17 NB-IoT NTN介绍_nbiot ntn

在3GPP R17协议中,将NB-IoT集成到了NTN(非陆地网络,即卫星通信)中,并定义了一个系统架构。在这个架构中包括一个可配置再生payload的低轨道(LEO)卫星,这意味着该卫星可以执行传统基站的全部或部分功能。该系统架构还可以适配同步轨道(GEO)卫星,这些卫星与LEO卫星类似,也可以配置再生payload。系统高度范围轨道波束覆盖范围LEO300~1500km绕地球转100~1000kmGEO35786km与地球自转同步200~3500km。

2401_84010302的博客 3568

BZOJ 4373 算术天才⑨与等差数列 [线段树]

BZOJ 4373 算术天才⑨与等差数列 [线段树]

ACTerminate的博客 529

RK平台PCIE-Ethernet扩展:Intel I210移植与性能飞升之路

本文详细介绍了Intel I210千兆以太网控制器在瑞芯微RK平台的移植与优化过程。通过硬件适配、内核配置、驱动开发及性能调优四个关键环节,实现了RK平台的网络性能提升。硬件方面,重点说明了PCIE接口的规范连接与供电检查;软件方面,系统阐述了内核配置、设备树修改和驱动编译流程。在性能优化环节,详细介绍了中断优化、缓冲区设置和TCP/IP协议栈调优策略,并采用Iperf和Netperf工具进行量化测试验证。测试结果显示,优化后的网络吞吐量提升20%以上,延迟降低40%,为工业控制、智能安防等场景提供了可靠的

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 350

BZOJ4373 算术天才⑨与等差数列 【线段树】*

BZOJ4373 算术天才⑨与等差数列 Description 算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了不被他鄙视,你必须要快速并正确地回答完所有问题。 注意:只有一个数的数...

Dream_maker的博客 286

qiankun(微前端) - 解决Element组件库部分样式失效,主应用和子应用分别使用element-ui和element-plus,前端微应用qiankun样式无效污染隔离子应用样式影响其他应用

乾坤qiankun,微前端,vue,qiankun主应用使用vue2+elementui子应用使用vue3+element plus样式失效,子应用样式影响其他应用样式问题,qiankun项目与子应用样式混乱问题,彻底搞定样式污染,前端微应用qiankun样式污染,组件样式部分失效怎么办,互相影响,qiankun子应用中使用element-plus样式失效问题,组件库样式污染混乱,子应用样式影响到主应用怎么办,微前端qiankun子应用样式影响其他应用样式,样式冲突,Vue+qiankun框架样式混乱问题的

✅ 精选推荐文章 8874

RT-DETR升级:TGRS2026 CKConv结合RepC3 | 方向特征与跨阶段融合协同,小目标漏检率大幅下降

小目标鲁棒性提升:CKConv方向选择性抑制背景噪声,RepC3跨阶段传递保留深层微弱热信号,显著改善低对比度、低信噪比场景下的检测精度。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 151

bzoj 4373: 算术天才⑨与等差数列 线段树

题意 算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了不被他鄙视,你必须要快速并正确地回答完所有问题。 注意:只有一个数的数列也是等差数列。 1&lt;=n,m&lt;=300000,0&l...

beginend 323

Android Update Engine 分析(三四)OTA 签名都支持哪些算法?

写了几十篇还没涉及到 OTA 签名算法细节,OTA 讨论群也很少问这个,毕竟签名算法纯理论的问题,一旦实现好就极少需要改动,只需要进行一些配置,准备好签名的秘钥和证书就可以了。限于签名的算法理论太过于抽象,本篇不讨论签名算法细节,但会总结一些签名操作。以及 Android OTA 包支持的签名算法。本文主要分析 Update Engine 中支持的签名算法,以及这些算法的操作实现(不涉及原理部分),并总结签名和验签使用的 key。

洛奇看世界 713

BZOJ 4373: 算术天才⑨与等差数列 线段树

Description 算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了不被他鄙视,你必须要快速并正确地回答完所有问题。 注意:只有一个数的数列也是等差数列。 In...

weixin_30419799的博客 112

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

BZOJ 4373算术天才⑨与等差数列(线段树)

题意:给你一个长度为n的序列,有m个操作,写一个程序支持以下两个操作: 1. 修改一个值 2. 给出三个数l,r,k, 询问:如果把区间[l,r]的数从小到大排序,能否形成公差为k的等差数列。 n,m≤300000 0≤k,a[i]≤109 题解 这题坑我很久。 一眼望去这题不可作。(倒是想到维护最小值和最大值。) 然后翻了题解。发现我的想法和题解差不多。 直接维护区...

Aaronliu17008的博客 194

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

BZOJ4373: 算术天才⑨与等差数列 线段树

题意:一个序列,两种操作:1.单点修改 2.查询[l,r]内的数由小到大排序后能否形成公差k的等差数列 1<=n,m<=300000,0<=a[i]<=10^9,强制在线 正解是这么说的。。。若能形成公差为k的等差数列则:1.最大值=最小值+(r-l)*k ,2.相邻两数之差都为k的倍数 ,3.没有重复元素 第一个好维护,第二个差分后维护,由于公共gcd从下到上是单调不增的所以均摊log,关

リーインカーネイション 646

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

BZOJ 4373 算术天才⑨与等差数列 线段树 set 维护区间最值/GCD

$ \Rightarrow $ 戳我进BZOJ原题 算术天才⑨与等差数列 Time Limit: 10 Sec \quad Memory Limit: 128 MB   Description 算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为 $ n $ 的序列,其中第 $ i $ 个数为 $ a[i] $ 。 他想考考你,每次他会给出询问 $ l,r,k $ ,问区间 ...

ayf1988的博客 233

BZOJ 4373(算术天才⑨与等差数列-线段树+hash)

Description算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了不被他鄙视,你必须要快速并正确地回答完所有问题。 注意:只有一个数的数列也是等差数列。Input第一行包含两个正整数n,m(1

nike0good |Oier&ACMer | 熟能生巧 522

【BZOJ4373】算术天才⑨与等差数列 [线段树]

算术天才⑨与等差数列 Time Limit: 10 SecMemory Limit: 128 MB[Submit][Status][Discuss] Description   算术天才⑨非常喜欢和等差数列玩耍。   有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。   他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的...

weixin_30781631的博客 60

BZOJ 4373 算术天才⑨与等差数列 线段树+set(恶心死我了)

mdzz,这道题重构了4遍,花了一个晚上。。。 满足等差数列的条件: 1. 假设min是区间最小值,max是区间最大值,那么 max-min+k(r−l) 2. 区间相邻两个数之差的绝对值的gcd=k 3. 区间没有重复的数 前两个条件直接线段树就好啦;而第三个条件:对于每个权值开个set,值为位置(离散化)然后维护一个pp[i],表示当前a[i]这个值,在i前面最后一次...

132

[BZOJ]4373: 算术天才⑨与等差数列 线段树+hash

线段树+hash

TYB的博客 406

【线段树 集合hash】bzoj4373: 算术天才⑨与等差数列

hash大法好(@ARZhu);大数相乘及时取模真的是件麻烦事情 Description 算术天才⑨非常喜欢和等差数列玩耍。有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。当然,他还会不断修改其中的某一项。为了不被他鄙视,你必须要快速并正确地回答完所有问题。注意:只有...

weixin_30432579的博客 160

[BZOJ4373]算术天才⑨与等差数列(线段树)

[l,r]中所有数排序后能构成公差为k的等差数列,当且仅当: 1.区间中最大数-最小数=k*(r-l) 2.k能整除区间中任意两个相邻数之差,即k | gcd(a[l+1]-a[l],a[l+2]-a[l+1],...,a[r]-a[r-1]) 3.区间中任意两个数不相同,即设pre[i]为序列中i之前第一个与a[i]相等的数的位置,则max(pre[l],...,pre[r])<l ...

weixin_30652271的博客 70

bzoj4373 算术天才⑨与等差数列 [线段树+平衡树]

Description: 单点修改,询问区间是否构成公差为kkk的等差数列。 Solution: 公差为kkk的等差数列可以改成以下性质: 111.相邻两项差的gcdgcdgcd%k=0 222.最大值与最小值的差为(r−l)∗k(r−l)∗k(r-l)*k 333.区间内没有相同的数 所以第一项维护差的gcdgcdgcd,维护区间最大最小值,第三项给每个权值开个平衡树,记录每个...

pocket_legend 249
上一篇: [BZOJ4804][积性函数][线性筛][莫比乌斯反演]欧拉心算
下一篇: [BZOJ3837][Pa2013][随机][乱搞]Filary
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值