数据结构-Trie、并查集、堆
Trie通常有两种写法一种是竞赛常用的数组表示另一种问更直观的结构体表示数组acwing835void insert(string str){int curr 0;for (int i 0; i str.size(); i){if (!son[curr][str[i] - a])son[curr][str[i] - a] index; //一定是indexcurr son[curr][str[i] - a];}cnt[curr]; //索引是curr不是index}int query(string str){int curr 0;for (int i 0; i str.size(); i){if (!son[curr][str[i] - a])return 0;curr son[curr][str[i] - a];}return cnt[curr]; //索引是curr不是index}int main(){int n;cin n;while (n--){char ch;string str;cin ch str;if (ch I)insert(str);elsecout query(str) endl;}return 0;}结构体#define alpha 26typedef struct treeNode{struct treeNode* children[alpha];bool is_end;}treenode;treenode* createnode(){treenode* p new treenode;p-is_end false;for (int i 0; i alpha; i){p-children[i] NULL;}return p;}void insertnode(treenode* root, const string str){treenode* now root;for (int i 0; i str.size(); i){int index str[i] - a;if (now-children[index] NULL){now-children[index] createnode();}now now-children[index];}now-is_end true;}bool findnode(treenode* root, const string str){treenode* now root;for (int i 0; i str.size(); i){int index str[i] - a;if (now-children[index] NULL){return false;}now now-children[index];}return now-is_end;}int main(){treenode* root createnode();insertnode(root, apple);if (findnode(root, apple))cout true;elsecout false;return 0;}并查集例题acwing836const int N 100010;int set[N];int find(int num){if (set[num] 0)return num;return set[num] find(set[num]);}void merge(int num1, int num2){int f1 find(num1);int f2 find(num2);if (f1 f2)return;if (set[f1] set[f2])set[f2] f1;else if (set[f1] set[f2])set[f1] f2;else{set[f2]--; //注意一定是高度增加在先set[f1] f2;}}int main(){int n, m;cin n m;for (int i 0; i n; i){set[i] -1;}while (m--){string str;int a, b;cin str a b;if (str M)merge(a, b);elsecout ((find(a) find(b)) ? Yes : No) endl;}return 0;}堆堆排序acwing838const int N 100010;int heap[N];int sz 0;void Swap(int a, int b){swap(heap[a], heap[b]);}void up(int index){int curr index;while (curr / 2 heap[curr] heap[curr / 2]){Swap(curr, curr / 2);curr / 2;}}void insert(int num){heap[sz] num;up(sz);}void down(int index){int curr index;if (index * 2 sz heap[index * 2] heap[curr]) //注意index和curr的使用curr index * 2;if (index * 2 1 sz heap[index * 2 1] heap[curr])curr index * 2 1;if (curr index)return;Swap(curr, index);down(curr);}int main(){int n, m;cin n m;for (int i 0; i n; i){int num;cin num;insert(num);}for (int i 0; i m; i){cout heap[1] ;Swap(1, sz);sz--;down(1);}return 0;}模拟堆acwing839const int N 100010;int heap[N];int h[N];int p[N];int pos 0;int sz 0;void Swap(int index1, int index2){swap(h[p[index1]], h[p[index2]]); //三者的顺序需要注意swap(heap[index1], heap[index2]);swap(p[index1], p[index2]);}void up(int index){int curr index;while (curr / 2 heap[curr] heap[curr / 2]){Swap(curr, curr / 2);curr / 2;}}void down(int index){int curr index;if (index * 2 sz heap[index * 2] heap[curr])curr index * 2;if (index * 2 1 sz heap[index * 2 1] heap[curr])curr index * 2 1;if (curr index)return;Swap(curr, index);down(curr); //down在交换下面且需要down的索引是curr}void pop_min(){Swap(1, sz);sz--;down(1);}void pop(int index){int curr h[index];Swap(curr, sz);sz--;up(curr);down(curr);}void insert(int num){heap[sz] num;h[pos] sz;p[sz] pos;up(sz);}void change(int index, int num){heap[h[index]] num;up(h[index]);down(h[index]);}int main(){int n;cin n;while (n--){string str;cin str;if (str I){int num;cin num;insert(num);}else if (str PM)cout heap[1] endl;else if (str DM)pop_min();else if (str D){int index;cin index;pop(index);}else{int a, b;cin a b;change(a, b);}}return 0;}

相关新闻

证券公司智能运维平台哪个品牌做得好?擎创科技智能运维 2.0 适配券商全场景

证券公司智能运维平台哪个品牌做得好?擎创科技智能运维 2.0 适配券商全场景

证券行业行情、交易系统承载海量实时业务,系统卡顿、故障中断会直接影响客户交易体验,同时伴随严格监管核查要求。当下多数券商运维体系面临多重难题: 多套监控、日志、链路工具独立部署形成数据孤岛,每日海量告警淹没关键故障&am…

2026/9/29 9:10:52 阅读更多 →
Strawberry核心功能详解: reactivity系统与sb-mark指令完全指南

Strawberry核心功能详解: reactivity系统与sb-mark指令完全指南

Strawberry核心功能详解: reactivity系统与sb-mark指令完全指南 【免费下载链接】strawberry Zero-dependency, build-free framework for the artisanal web. 项目地址: https://gitcode.com/gh_mirrors/stra/strawberry Strawberry是一款零依赖、无需构建的…

2026/9/28 19:57:50 阅读更多 →
运维日志检索平台厂商哪家做得好?2026年选型不能只看“搜得快”

运维日志检索平台厂商哪家做得好?2026年选型不能只看“搜得快”

在微服务和云原生架构成为主流的今天,日志早已不是“出问题才看一眼”的辅助数据。一次业务故障,往往涉及数十个微服务、跨多个数据中心的调用链路,运维人员需要在海量日志中快速定位异常——这直接决定了故障恢复时间。但现实是,…

2026/9/29 2:04:27 阅读更多 →

最新新闻

AMD平台微星主板开机慢?Memory Context Restore与Power Down联动优化指南

AMD平台微星主板开机慢?Memory Context Restore与Power Down联动优化指南

1. 问题现象与背景拆解如果你用的是AMD平台搭配微星主板,大概率遇到过这样一个场景:按下电源键,风扇转了、灯亮了,但屏幕就是黑着不动,十几秒甚至半分钟之后才“滴”一声亮起微星LOGO,然后才进入系统。整个…

2026/10/4 11:10:44 阅读更多 →
LLM推理加速器架构解析与部署实战:从KV Cache优化到性能调优

LLM推理加速器架构解析与部署实战:从KV Cache优化到性能调优

1. 为什么LLM推理需要专用硬件加速器大模型推理这件事,表面上看是"输入一句话,等几秒,出一段话",但真正跑过推理服务的人都知道,这几秒背后是一场和内存带宽、算力利用率、功耗墙的贴身肉搏。我最早在一台单…

2026/10/4 11:10:44 阅读更多 →
floorplan-3d 三语国际化实现:简繁英切换如何不用框架轻量搞定(附 OpenCC 用字表技巧)

floorplan-3d 三语国际化实现:简繁英切换如何不用框架轻量搞定(附 OpenCC 用字表技巧)

floorplan-3d 三语国际化实现:简繁英切换如何不用框架轻量搞定(附 OpenCC 用字表技巧) 【免费下载链接】floorplan-3d 项目地址: https://gitcode.com/gh_mirrors/fl/floorplan-3d floorplan-3d 是一个纯前端的户型装修设计工具&…

2026/10/4 11:10:44 阅读更多 →
Godot BoneAttachment3D 节点详解:将子节点绑定到骨骼与覆盖骨骼姿态的完整指南

Godot BoneAttachment3D 节点详解:将子节点绑定到骨骼与覆盖骨骼姿态的完整指南

文档教程游戏开发 【免费下载链接】godot-docs Godot Engine official documentation 项目地址: https://gitcode.com/GitHub_Trending/go/godot-docs 点击查看 免费下载 导读 BoneAttachment3D 是 Godot 引擎中连接「骨骼动画世界」与「场景节点世界」的关键节点…

2026/10/4 11:10:44 阅读更多 →
Omega算法:加速度转速度的频域积分标准解

Omega算法:加速度转速度的频域积分标准解

1. 为什么传统数值积分在加速度转速度时总是“抖”得厉害?我第一次在振动台试验数据处理中遇到这个问题,是在给某型工业电机做模态分析的时候。客户提供的加速度传感器原始数据采样率是2048 Hz,看起来很干净——但只要用经典的梯形法&#xf…

2026/10/4 11:10:44 阅读更多 →
GPUStack 缓存服务(Cache Service)管理指南:共享 KV Cache、混合注意力模型与自定义 Provider 配置

GPUStack 缓存服务(Cache Service)管理指南:共享 KV Cache、混合注意力模型与自定义 Provider 配置

后端人工智能模型推理服务集群管理可观测性 【免费下载链接】gpustack A GPU cluster manager for high-performance AI model serving (vLLM, SGLang) and on-demand SSH-accessible GPU instances. 项目地址: https://gitcode.com/gh_mirrors/gp/gpustack 点击查看…

2026/10/4 11:09:44 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →