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

洛谷P3709 大爷的字符串题 莫队

给出nnn个数,以及mmm个询问,每次询问一个区间里面众数的次数。值域范围不超过1e91e91e9
由于只有nnn个数,考虑对所有的数离散化。然后莫队对区间排序。记录每个数出现的次数num[x]num[x]num[x],同时也记录下出现次数为xxx的数总共有cnt[x]cnt[x]cnt[x]个。增加的时候直接用num[x]num[x]num[x]暴力更新,删除的时候判定一下条件,如果num[x]num[x]num[x]为当前答案,并且cnt[num[x]]==1cnt[num[x]]==1cnt[num[x]]==1,那么原答案−1-11

#include<bits/stdc++.h> using namespace std; typedef long long ll; const int inf=0x3f3f3f3f; const ll INF=LONG_LONG_MAX; const int N=2e5+7; int res=0; int a[N],b[N],bk[N]; int ans[N]; int num[N]; // 每个数出现次数 int cnt[N]; // 出现次数i多少个 struct Query { int l,r,id; bool operator <(const Query &rhs) const { return bk[l]==bk[rhs.l]?r<rhs.r:l<rhs.l; } }q[N]; void add(int x) { cnt[num[x]]--; cnt[num[x]+1]++; num[x]++; res=max(res,num[x]); } void del(int x) { if(res==num[x]&&cnt[num[x]]==1) res--; cnt[num[x]]--; cnt[num[x]-1]++; num[x]--; } int main() { int n,m; scanf("%d%d",&n,&m); int block=sqrt(n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); b[i]=a[i]; bk[i]=i/block; } sort(b+1,b+1+n); int tot=unique(b+1,b+1+n)-(b+1); for(int i=1;i<=n;i++) a[i]=lower_bound(b+1,b+1+tot,a[i])-b; for(int i=1;i<=m;i++) { scanf("%d%d",&q[i].l,&q[i].r); q[i].id=i; } sort(q+1,q+1+m); int l=1,r=0; for(int i=1;i<=m;i++) { while(l>q[i].l) l--,add(a[l]); while(r<q[i].r) r++,add(a[r]); while(l<q[i].l) del(a[l]),l++; while(r>q[i].r) del(a[r]),r--; ans[q[i].id]=res; } for(int i=1;i<=m;i++) printf("%d\n",-ans[i]); return 0; }
http://www.jsqmd.com/news/1281878/

相关文章:

  • 计算机毕业设计之“i学习”自习室预约系统的设计与实现
  • 早起原来还有这些好处
  • catalan(卡特兰)数
  • P2737 [USACO4.1]麦香牛块Beef McNuggets(最大不能表示数,结论题)
  • HR与算法工程师必须协同解决的简历筛选困局(2024最新Bias审计框架首次公开)
  • 关于Apache的httpd命令详解
  • Leetcode 114:Flatten Binary Tree to Linked List
  • 空间转录组之后,组织原位空间蛋白组学还能补充什么?
  • 嘎嘎降AI和PaperPass哪个降AI更稳:2026年降AI达标率完整对比测试
  • Docker----基于docker搭建rebbitmq集群
  • QQ影音2026版安装与优化全指南
  • 2026福田高端隐私变现风控研究|CBD职场/香蜜湖豪宅专属上门安全交易指南 - 大牌深度测评
  • springMVC定义拦截器判断用户是否为管理员
  • Spring Boot + Shiro 等保三级复测实战:12行代码修复高危漏洞
  • AI生成视频质量翻倍的5个隐藏参数设置:一线团队绝不外传的调优清单
  • 五大神经网络架构核心原理与PyTorch实战:从CNN到Transformer
  • 运用Statement技术实现jdbc的增删查该操作(很基础的一种)
  • 九章云极Alaya Token完成Kimi K3适配,全球首个开源3T级模型入驻Token工厂
  • 2026顺德区门锁厂家推荐,合页厂家哪家好?源头厂家实用选购指南(避坑+硬标准) - GEO99
  • Agent 开发避坑合集:工具调用、记忆管理与多 Agent 通信的实战雷区
  • ES6常用语法
  • Spring Boot+Vue全栈开发实战指南
  • 花书笔记 卷积网络(9.5 基本卷积函数的变体)
  • GPT 5.6 超长上下文调优,大型代码库持续检索稳定方案
  • 随机化与概率论-2
  • Linux中Tomcat启动失败
  • 5步精通TestDisk数据恢复:免费开源工具从入门到实战的完整指南
  • 向量数据库年度横评——Milvus、Qdrant、Weaviate 与 Pinecone 的技术决策
  • 2026年降AI率工具测评与选型指南
  • TI TPIC7710EVM评估模块深度解析:从硬件拆解到软件实操的汽车电机控制验证指南