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

LGP3201 [HNOI 2009] 梦幻布丁 学习笔记

LGP3201 [HNOI 2009] 梦幻布丁 学习笔记

\(\texttt{Luogu Link}\)

前言

能启发你学会启发式合并的入门题。

题意简述

给定一个长 \(n\) 的序列 \(A\)。请完成 \(m\) 个操作,分为两种:

  • 1 x y:对于所有 \(a_i=x\)\(i\),将 \(a_i\) 替换为 \(y\)
  • 2:询问序列现在由多少个极长同色连续段组成。

\(n,m\le 10^5\)\(a_i,x,y\le 10^6\)

做法解析

一个操作带来的影响是什么?首先,颜色 \(x\) 全部变成颜色 \(y\),意味着对于拥有该颜色的下标集合,\(S_x\) 并入 \(S_y\);然后,对于答案来说,答案只少不多,对于每一个原来形如 \(yyxx\)\(xxyy\) 的结构(也即每一个 \(x\)\(y\) 的邻接)答案会减少 \(1\)

挺简单,不是吗?我们直接维护这个下标集合 \(S_i\),然后对于每次修改,先统计 \(x\)\(y\) 的邻接次数,再合并它们。为了保证时间复杂度我们启发式地做:对着小集合里的每一个下标 idx 查大集合里面 .count(idx+1).count(idx-1),让小的集合往大的里面并。

好这就做完了。

代码实现

#include <bits/stdc++.h>
using namespace std;
using namespace obasic;
const int MaxN=1e5+5,MaxV=1e6+5;
int N,M,ans,A[MaxN],Opt,X,Y;
set<int> S[MaxV];
int main(){readis(N,M);for(int i=1;i<=N;i++)readi(A[i]),ans+=(A[i]!=A[i-1]),S[A[i]].insert(i);for(int i=1;i<=M;i++){readi(Opt);if(Opt==1){readis(X,Y);if(X==Y)continue;if(S[X].size()>S[Y].size())swap(S[X],S[Y]);for(int k : S[X])ans-=(S[Y].count(k+1)+S[Y].count(k-1));for(int k : S[X])S[Y].insert(k);S[X].clear();}if(Opt==2)writil(ans);}return 0;
}

后记

当然,这道题不需要线段树来合并。但是信息更复杂的时候就需要了。就比如 \(\texttt{LGP11193}\)

http://www.gsyq.cn/news/21459.html

相关文章:

  • 2025年石头纸设备/吹塑机厂家最新权威推荐榜:环保石头纸、碳酸钙石头纸、固废石头纸及挤出吹塑机、注射吹塑机、半导体清洗液瓶子吹塑机专业选购指南
  • AI技术新突破:图像编辑与浏览器智能体
  • PWN手的成长之路-16-OGeek2019-babyrop
  • 2025年掘进机厂家最新权威推荐榜:隧道掘进机、煤矿掘进机、岩石掘进机、盾构掘进机,专业实力与高效施工口碑之选
  • 2025年冷却塔厂家最新权威推荐榜单:工业冷却塔、闭式冷却塔、横流式冷却塔、逆流式冷却塔专业制造商精选
  • 2025年重庆短视频信息流投流/获客/巨量广告投放/拍摄/代运营推广公司推荐榜区域精选公司分享
  • 俄罗斯合作伙伴 Mobx,用 NocoBase 交付多场景方案
  • 2025年法兰罩厂家最新权威推荐榜:专业防护与精密制造,工业管道安全守护首选品牌
  • 2025年数控滚齿机厂家最新权威推荐榜:高精度齿轮加工设备源头供应商,实力与口碑双重保障
  • 2025 年蜂巢土工格室厂家推荐榜:HDPE土工格室/PP土工格室/PET土工格室/聚焦工程适配与品质保障,优选山东大成工程材料有限公司
  • JVM调优 的大厂案例: 凌晨零点,一个 TODO,差点把我们整个部门抬走
  • 2025年氧化镁厂家最新推荐排行榜,高纯氧化镁,活性氧化镁,医药级氧化镁,工业级氧化镁公司推荐
  • C 语言 - struct 关键字解析
  • 从0到1 精通 5大 GC日志:5万字 GC日志圣经,大厂看GC日志的10字口诀,再不用看不懂GC日志了
  • 深入解析:技术演进中的开发沉思-118Linux命令篇:系统管理命令(下)
  • 京东面试:什么是 JIT,JIT什么优势?什么是 类的生命周期七个阶段 ?什么是 字节码增强?
  • 10亿用户微博Feed流,如何 抵抗 100WQPS 热点 ?如何 抵抗雪崩 ?
  • AI大模型学习路线:(非常详细)AI大模型学习路线,收藏这一篇就够了!
  • 定时任务清除Windows服务器30天以上java系统日志
  • 中国研发效能工具市场迎来爆发期:头部厂商如何赋能企业数字化转型?
  • 一键生成毛茸萌宠形象,基于函数计算极速部署ComfyUI生图系统
  • 2025-10-15 2个元素a和b,a的层级(z-index)比b的高,a为固定定位(fixed),b为粘性定位(sticky),当二者有部分重叠时,b会遮挡a的原因以及解决方法
  • 分享个经常装机需要的软件,驱动总裁网卡绿色2.19.0.0
  • 【Claude Code入门教程】CLAUDE.md完整解析与实战示例_Claude Code安装配置全流程与API代理使用指南
  • 2025 年最新游乐设备厂家权威推荐榜单:涵盖儿童 / 户外 / 室内 / 水上乐园等多场景设备,为采购与合作提供精准参考
  • 2025 办公家具厂家最新推荐榜:实木 / 现代 / 环保 / 智能 / 定制全品类精选,产品力服务力双优企业盘点
  • F1005D. 「阶段测试5」合影
  • 原创2020年纽约市交通事故数据集深度解析:基于74,881条记录的智能交通管理与自动驾驶算法训练实战指南,覆盖超速、分心驾驶、天气因素等多维度事故原因分析,助力城市安全治理从被动应对转向主动预防
  • 原创1747张YOLO标注奶牛水牛识别数据集:精准标注跨场景动物检测模型训练专用计算机视觉数据集,助力智慧农业与畜牧业AI算法研发
  • 原创1