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

20260709 紫题训练

P3233 [HNOI2014] 世界树

P5338 [TJOI2019] 甲苯先生的滚榜

相当于修改元素,查询以 AC 数倒序为第一关键字,罚时正序为第二关键字的排名。

修改元素转化为删除再插入,直接上平衡树维护就行。

但注意到数据生成方式相当于随机生成,所以直接用普通 BST 复杂度也是对的。

代码用的还是平衡树。

#include<bits/stdc++.h>
#define N 1100005
using namespace std;
using uint=unsigned;
mt19937 rng(20120412);
uint seed,n,m,lst=7;
struct Data{int AC,tim;bool operator<(const Data &x)const{return AC^x.AC?AC>x.AC:tim<x.tim;}
}a[N];
class FHQ_Treap{private:Data val[N];int rt,idx,p[N],lc[N],rc[N],siz[N];int make(Data x){siz[++idx]=1,val[idx]=x;lc[idx]=rc[idx]=0;return p[idx]=rng(),idx;}void Pushup(int x){siz[x]=siz[lc[x]]+siz[rc[x]]+1;}void split(int x,int &l,int &r,Data v){if(!x) return l=r=0,void();if(v<val[x]) r=x,split(lc[x],l,lc[r],v);else l=x,split(rc[x],rc[l],r,v);Pushup(x);}void merge(int &x,int l,int r){if(!l||!r) return x=l|r,void();if(p[l]<p[r]) x=l,merge(rc[x],rc[l],r);else x=r,merge(lc[x],l,lc[r]);Pushup(x);}public:void clear(){rt=idx=0;}void ins(Data v){int x,y;split(rt,x,y,v),rt=make(v);merge(rt,x,rt),merge(rt,rt,y);}void erase(Data v){int x,y,z;split(rt,x,y,v);split(x,x,z,{v.AC,v.tim-1});merge(z,lc[z],rc[z]);merge(x,x,z),merge(rt,x,y);}int rk(Data v){int res=0;for(int x=rt;x;)val[x]<v?(res+=siz[lc[x]]+1,x=rc[x]):(x=lc[x]);return res;}
}T;
static void get(int &x){x=(seed=seed*17+lst)%m+1;}
static void print(int x){if(!x) return putchar('0'),void();static int Out[8];int top=0;for(;x;x/=10) Out[top++]=x%10;for(;top--;putchar(Out[top]^48));
}
int main(){int Task;scanf("%lld",&Task);for(;Task--;T.clear()){scanf("%u%u%u",&m,&n,&seed);for(int i=1;i<=m;i++)T.ins(a[i]={0,0});for(int A,B;n--;)get(A),get(B),T.erase(a[A]),a[A].AC++,a[A].tim+=B,print(lst=T.rk(a[A])),putchar('\n'),T.ins(a[A]);}return 0;
}
http://www.jsqmd.com/news/1156769/

相关文章:

  • Windows XP重制版:经典系统现代化改造与安全实践指南
  • UE5开发自动化:基于MCP协议构建AI辅助工作流实战
  • 从零构建AI应用:Harness Engineering工程范式详解与金融问答机器人实战
  • Unity游戏模组开发终极指南:MelonLoader核心原理与实战
  • Codex Skills:面向开发者的语义化CLI技能框架
  • Codex辅助专利撰写:30分钟生成可授权级发明专利文档实操指南
  • 2026信阳靠谱防水公司推荐:卫生间免砸砖防水、外墙、地下室、楼顶渗漏、阳光房防水 选对服务商,售后无忧,告别房屋渗漏(7月最新靠谱公司解析) - 企业资讯
  • OpenGL纹理文字渲染:从原理到实现,打造高性能游戏UI系统
  • Unreal引擎模块加载失败全解析:从原理到实战排查指南
  • 衢州GEO系统贴牌服务商靠谱源头厂商综合实力推荐:本地合伙人如何选对源头工厂、搭建长期AI搜索业务线? - 子柔传媒
  • 锂离子电池组电压平衡技术与BQ25887应用解析
  • 2026三门峡靠谱防水公司推荐:卫生间免砸砖防水、外墙、地下室、楼顶渗漏、阳光房防水 选对服务商,售后无忧,告别房屋渗漏(7月最新靠谱公司解析) - 企业资讯
  • 嵌入式 C 语言内存屏障深度解析:从 volatile 到 DMB/DSB 指令的数据一致性保障机制
  • AOSP android-13.0.0_r82 源码下载:3步解决repo sync常见错误与Python 3.8配置
  • UE5技能系统:基于Gameplay标签的冷却与状态管理实战
  • 基于Godot引擎的FRT定制平台:从模块化架构到多平台部署实战
  • 如何5分钟搞定Windows免安装Postman便携版:完整新手指南
  • 零基础AI应用开发实战:从RAG到智能体的完整学习路径与项目搭建
  • 猫抓浏览器资源嗅探扩展:轻松捕获网页媒体资源的终极方案
  • 2026商丘靠谱防水公司推荐:卫生间免砸砖防水、外墙、地下室、楼顶渗漏、阳光房防水 选对服务商,售后无忧,告别房屋渗漏(7月最新靠谱公司解析) - 企业资讯
  • UE4 Mac构建中std::is_void_v报错:C++17标准库兼容性深度解析与解决方案
  • 2026渭南卫生间漏水维修哪家专业?免砸砖、外墙、地下室、楼顶渗漏处理 正规公司(7月) - 防水企业百科
  • C++ const char* 与 char* 辨析:从 3 个编译错误案例理解常量正确性
  • Linux Shell 内建 time 与 /usr/bin/time 对比:3 个关键差异与 2 种调用方式
  • 基于TC78H651和STM32的直流有刷电机驱动方案设计
  • 亨得利官方名表服务中心|热线电话与门店地址权威信息通知(2026年7月最新) - 亨得利官方博客
  • 去中心化 AI 服务的质量监控:模型输出漂移检测与链上反馈回路
  • Unity Job System避坑指南:内存管理、线程安全与Burst编译实战
  • Matplotlib与Seaborn箱型图配置详解:10个关键参数调优与可视化案例
  • Unity 2D物理实现磁吸效果:Area Effector 2D与刚体协同设计