[BZOJ4923][Lydsy六月份月赛 .G][平衡树]K小值查询

CUDA编译踩坑实录:如何正确设置-gencode参数适配你的GPU算力 本文深入解析CUDA编译中-gencode参数的核心原理与实战配置,帮助开发者解决常见的'Unsupported gpu architecture'错误。通过厘清虚拟架构与真实架构的区别,并提供多版本兼容的CMake配置方案,确保编译出的代码能精准适配不同GPU算力,兼顾性能与广泛兼容性。 阅读详情

直接上题解
这里写图片描述

学了发非旋转Treap,感觉常数有点大

#include <cstdio>
#include <iostream>
#include <algorithm>

using namespace std;

const int N=100010;

int n,m;
int a[N];

struct node{
  node *l,*r;
  int val,fix,size,minus;
  node(){ }
  node(int x):val(x),fix(rand()),size(1),l(NULL),r(NULL),minus(0){}
  void Push(){
    if(!minus) return ;
    if(l) l->val-=minus,l->minus+=minus;
    if(r) r->val-=minus,r->minus+=minus;
    minus=0;
  }
  void Up(){
    size=(l?l->size:0)+(r?r->size:0)+1;
  }
  int mark(int x){
    val-=x; minus+=x;
  }
}poor[N],*rt;

inline char nc(){
  static char buf[100000],*p1=buf,*p2=buf;
  return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}

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

inline int Size(node *x){
    return x?x->size:0;
}

typedef pair<node*,node*> Droot;

inline node *newnode(int x,int p){
  poor[p].val=x; poor[p].fix=rand(); poor[p].size=1; return poor+p;
}

inline node *Merge(node *x,node *y){
  if(!x||!y) return !x?y:x;
  x->Push(); y->Push();
  if(x->fix<y->fix){
    x->r=Merge(x->r,y);
    x->Up(); return x;
  }
  else{
    y->l=Merge(x,y->l);
    y->Up(); return y;
  }
}

inline node *Query(int k){
  node *x=rt;
  while(x){
    x->Push();
    if(k==Size(x->l)+1) return x;
    if(k>Size(x->l)) k-=Size(x->l)+1,x=x->r;
    else x=x->l;
    }
    return 0;
}

inline int Rank(int k){
    node *x=rt; int ret=0;
    while(x){
        x->Push();
        if(x->val<k) ret+=Size(x->l)+1,x=x->r;
        else x=x->l;
    }
    return ret+1;
}

Droot Split(node *x,int k){
    if(!x) return Droot(NULL,NULL);
    x->Push();
    if(k<=Size(x->l)){
        Droot ret=Split(x->l,k);
        x->l=ret.second; x->Up();
        ret.second=x; return ret;
    }
    else{
        Droot ret=Split(x->r,k-Size(x->l)-1);
        x->r=ret.first; x->Up();
        ret.first=x; return ret;
    }
}

bool Modify(int k){
    int cur=Rank(k+1);
    node *p=Query(cur);
    if(!p||p->val>2*k) return false;
    Droot x=Split(rt,cur-1);
    Droot y=Split(x.second,1);
    y.first->val-=k;
    rt=Merge(x.first,y.second);
    cur=Rank(y.first->val);
    x=Split(rt,cur-1);
    rt=Merge(x.first,Merge(y.first,x.second));
    return true;
}

int opt,k;

int main(){
  rea(n); rea(m);
  for(int i=1;i<=n;i++) rea(a[i]);
  sort(a+1,a+1+n);
  for(int i=1;i<=n;i++)
    poor[i]=node(a[i]),rt=Merge(rt,poor+i);
  while(m--){
    rea(opt); rea(k);
    if(opt==1) printf("%d\n",Query(k)->val);
    else{
      while(Modify(k));
      int cur;
      if((cur=Rank(k+1))<=n){
        Droot x=Split(rt,cur-1);
        x.second->mark(k);
        rt=Merge(x.first,x.second);
      }
    }
  }
  return 0;
}
基于STM32F103的智能门禁门锁门卫系统设计 本文设计了一种基于STM32F103单片机的智能门禁系统,集成了密码、射频IC卡和指纹识别三种验证方式。系统采用模块化设计,包含MFRC522射频模块、AS608指纹模块、矩阵键盘、OLED显示和舵机控制等硬件,实现了身份验证、密码修改、IC卡/指纹管理以及安全防护功能。测试结果表明系统响应迅速(密码验证250ms、指纹验证600ms)、功耗低(待机50mA),且具备掉电密码保存功能。该系统操作简便、功能完善,适用于家庭和办公场所,具有较高实用价值。未来可扩展远程控制、人脸识别等功能以进一步提升智能化水平。 阅读详情

相关推荐

开源 AHB不对称半桥反激电路设计(六)死区时间,谐振腔电流,谐振电感函数表达式

电流跌落可以使副边电流峰值和有效值降低,减小损耗,但如果开关管 S2 导通期间,谐振电流谐等于励磁电流,即副边电流A 点降至 0,会在原边变压器内形成环流,产生损耗,同时也不利于副边同步整流管驱动的正常工作,为了保证开关管 S2 导通期。在开关管 S1 和开关管 S2 均关断的死区时间内,谐振电流给原边开关管结电容和副边整流管结电容充放电,因此会引起开关 S1 关断瞬间电流跌落与开关 S2 关断瞬间电流震荡现象,受寄生参数影响原边谐振电流波形和副边电流波形如图。降到最低,变压器以最高效率向副边传递能量。

【Simon】的博客 1228

Lydsy(大视野2017八月份月赛)D--

Problem D: 字符串大师 Time Limit: 1 Sec  Memory Limit: 256 MB Submit: 164  Solved: 47 [Submit][Status][Discuss] Description 一个串T是S的循环节,当且仅当存在正整数k,使得S是T^k(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节 。给定一个长度为n的

沉醉不知归路 686

Realtek 10GbE芯片组解析:低成本高速网络方案

10GbE(万兆以太网)技术通过提升网络带宽,显著改善了数据传输效率,成为现代网络架构的核心组件。其工作原理基于高速串行通信协议,通过优化信号处理和编码技术实现低延迟、高吞吐量。在技术价值上,10GbE不仅满足数据中心和企业网络的高需求,还逐步渗透到消费级市场,推动家庭和小型企业的网络升级。应用场景包括NAS存储、视频编辑工作站和云服务接入等。Realtek最新发布的RTL8127、RTL8159和RTL8261C芯片组,以低功耗和低成本优势,进一步降低了10GbE的普及门槛。这些芯片支持PCIe Gen4

weixin_36427956的博客 585

BZOJ 4923: [Lydsy1706月赛]K小值查询 Splay + 思维

Code: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=100003; namespace IO { void setIO(string s) { string in=s+".in"; stri...

EM LGH 210

Coze工作流实战:Coze一键生成沉浸式历史故事视频

【coze工作流实战】一键生成火爆的沉浸式历史故事视频!短短3分钟,顶替你3天的工作量!

bickys的博客 1004

保姆级教程:在寒武纪MLU370上从零部署YOLOv5(附安全帽数据集)

本文提供在寒武纪MLU370上从零部署YOLOv5的保姆级教程,涵盖环境配置、模型迁移、安全帽数据集处理、训练优化及推理部署全流程。通过实战案例展示MLU370在目标检测任务中的高效性能,适合开发者快速掌握国产AI加速卡的应用技巧。

weixin_27419879的博客 189

Lydsy2457 双端队列(双端队列思想)

问题试求至少用几个双端队列可排序 那么我们不妨换过来思考,将数列排好序后,再来找队列个数 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct my{ int x,id; }; const int maxn...

allia990718的博客 208

[UE5蓝图基础二]1.[1d混合空间] 走和跑的动画切换(shift切换)

再双击”run”进去 我们需要给他指定一个动画姿势,这里就需要给他我们前面做的”1d”混合空间,然后可以看到”1d” 上有个speed参数,代表的速度 从前面的逻辑来看需要通过控制速度来切换动画,那么必然不能写死速度,把速度提升为变量传递进来即可,所以就得到以下蓝图节点。混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个”Animation”文件夹 在文件夹内创建混合空间。我们目前要实现的是一个走和跑的功能 那么创建1d即可。到这一步混合空间已经做完 下一步做”动画蓝图”

qq_30584617的博客 3299

[lydsy] 3224 普通平衡树 [Splay]

问题描述您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入x数 删除x数(若有多个相同的数,因只删除一个) 查询x数的排名(若有多个相同的数,因输出最小的排名) 查询排名为x的数 求x的前驱(前驱定义为小于x,且最大的数) 求x的后继(后继定义为大于x,且最小的数) 输入格式: 第一行为n,表示操作的个数,下面n行每行有两个数opt和x,opt表示操作的序号(1<

chutzpah 546

【AAAI 2025】轻量级特征增强新范式!FCM 模块助力小目标检测,即插即用提升模型泛化能力

本文介绍了AAAI 2025提出的轻量级特征增强新范式FCM模块,它通过显式分离并双向交互语义与空间特征,有效解决了小目标检测中特征信息失配的核心难题。该模块设计精巧,计算开销极低,能够即插即用式地嵌入YOLO等主流检测网络,显著提升模型对小目标的泛化检测能力,尤其适用于遥感、自动驾驶等对计算资源敏感的实际场景。

weixin_29056145的博客 287

Orange3实战教程:转换---预处理

部件提供了多种预处理方法,这些方法可以在单个预处理流程中组合使用。某些方法也可作为独立部件提供,支持更高级的技术和参数调整。连接到测试与评分:在交叉验证的每个批次中应用预处理器,随后学习器的预处理器会作用于预处理后的子集。连接到学习器:覆盖学习器的默认预处理流程,仅应用自定义流程(各学习器的默认步骤详见其文档)。直接连接到原始数据并输出预处理后的数据集,可能导致模型过拟合。:从原始数据中随机选择固定数量或百分比的特征,主要用于高级测试或教学用途。的预处理器输入,同时传入数据和学习器(如。

err2008的专栏 147

[BZOJ4923]K小值查询

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4923 好题啊!直接做肯定是不行的,我们需要发现一些性质。考虑减去k后对各个数的影响,对于(k,2k](即大于k小于等于2k)的数,它们被减后会小于等于k,但对于>2k的数,减去k后还是大于k的,且那些数的相对大小不变,因为要动态维护第k大,我们可以想到用平衡树,一般用splay,然...

weixin_34192732的博客 224

2xmax96717+max96724+agx orin驱动代码

说明:这里主要解决max96717的设备地址和sensor地址映射,vc0->vc1多颗max96717+max96724使用配置思路如下: 1、改变max96717的pipez stream id,然后max96724的pipe绑定使用相应的stream id 2、max96717默认是vc0,把vc0改写成vc1\vc2\vc3,然后max96724再重新映射vc输出

mantouyouyou的博客 113

LYDSY模拟赛day3 平均数

【 问题描述】有一天, 小 A 得到了一个长度为 n 的序列。他把这个序列的所有连续子序列都列了出来, 并对每一个子序列都求了其平均值, 然后他把这些平均值写在纸上, 并对它们进行排序,最后他报出了第 k 小的平均值。你要做的就是模仿他的过程。【 输入格式】第一行两个整数 n,k, 意义如题中所述。第二行 n 个正整数, 即为小 A 得到的序列。【 输出格式】一行一个实数, 表示第 k ...

weixin_30396699的博客 171

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

平衡二叉树中第k小的数 Kth Smallest Element in a BST

为什么80%的码农都做不了架构师?>>> ...

weixin_33964094的博客 822

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

LeetCode 230. 二叉搜索树中第K小的元素 (平衡树)

题目 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 1 示例 2: 输入: root = [5,3,6,2,4,null,null...

aa445354403的专栏 580

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[bzoj4923]K小值查询

来自FallDream的博客,未经允许,请勿转载,谢谢。 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值。 2 k,将所有严格大于k的数a_i减去k。 n,m<=100000 splay维护序列,每次操作小等于k的数字不变,大于2k的数字顺序不变,(k,2k]的数字减小至少一半,最多减小log次...

weixin_30371875的博客 181

[BZOJ 4923][Lydsy1706月赛]K小值查询

传送门 势能分析平衡树,splay或treap都可以 放个指针版的就跑 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define rep(i,a,b) for(int i=a;i<=b;++i) 4 const int maxn=100010; 5 template <class T&...

weixin_30827565的博客 167

4923: [Lydsy1706月赛]K小值查询(Splay)

Description 维护一个长度为n的正整数序列a_1,a_2,…,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值。 2 k,将所有严格大于k的数a_i减去k。 Input 第一行包含两个正整数n,m(1<=n,m<=100000),分别表示序列的长度和操作的个数。 第二行包含n个正整数a_1,a_2,…,a_n(1<=a_i<=10^9),分...

qq_43544481的博客 220

Lydsy2017省队十连测

5215: [Lydsy2017省队十连测]商店购物 可能FFT学傻了,第一反应是前面300*300背包,后面FFT... 实际上前面背包,后面组合数即可.只是这是一道卡常题,需要注意常数.. 1 //Achen 2 #include<algorithm> 3 #include<iostream> 4 #include<cstring&gt...

weixin_30662849的博客 219

BZOJ 5097: [Lydsy1711月赛]实时导航(最短路 + bitset)

题意 \(n​\) 个点的有向图,边权 \(\in \{1, 2, 3, 4\}​\) ,\(m​\) 次修改边权/加边/删边,\(q​\) 次询问:以 \(s_i​\) 为起点,输出它到其他点的最短路。 \(n ≤ 5 \times 10^2 ,m \le 5 \times 10^4 , q \le 5 \times 10^3\) 题解 这图很密,如果修改就做一遍 \(Dijsktra\) 是 ...

weixin_30332241的博客 161

[BZ4923][Lydsy1706月赛]K小值查询

K小值查询 题面 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值。 2 k,将所有严格大于k的数a_i减去k。 Input 第一行包含两个正整数n,m(1<=n,m<=100000),分别表示序列的长度和操作的个数。 第二行包含n个正整数a_1,a_2,...,a_n(1<=a_i<=10^9),...

weixin_30691871的博客 222

https://lydsy.download/archive/

https://lydsy.download/archive/ 转载于:https://www.cnblogs.com/zhangbuang/p/10393701.html

weixin_30916125的博客 265

Lydsy月赛合辑

前言 不想单开的就写在这里了 都还是挺不错的啊 权限题没有 4886 又是被OZY秒杀的我 不考虑严格大于的话你直接ai,bi取个max就过了… 现在要考虑严格大于,相当于每个矩形,都是一条在ai,bi中的边 我们定义这个数被作为一次长,当且仅当有一条新的边指向了他 最后我们就要给所有边定向,显然要求每个数最多只有一个入度,贡献就是出度*权值 显然所有的连通块要不就是环套树要不就是树 是树的很简单...

Rose_max的博客 399

bzoj 4923 [Lydsy1706月赛]K小值查询

http://www.elijahqi.win/archives/3702 Description 维护一个长度为n的正整数序列a_1,a_2,…,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值。 2 k,将所有严格大于k的数a_i减去k。 Input 第一行包含两个正整数n,m(1&lt;=n,m&lt;=100000),分别表示序列的长度和操作的个数。 ...

Elijahqi 344

BZOJ4923:[Lydsy1706月赛]K小值查询(Splay)

Description 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值。 2 k,将所有严格大于k的数a_i减去k。 Input 第一行包含两个正整数n,m(1<=n,m<=100000),分别表示序列的长度和操作的个数。 第二行包含n个正整数a_1,a_2,...,a_n(1<...

weixin_34127717的博客 231
上一篇: [BZOJ4920][Lydsy六月份月赛 .D][数学][三分]薄饼切割
下一篇: [AtCoder ARC077 .E] [扫描线] [乱搞]guruguru
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值