摘要: 桶的概念 首先,弄明白什么是一个桶 在一个桶里面只有一种数据,用来表示这种数据的多少 上图为5个桶 有了一个桶,我们可以做到去重,排序,统计等基础操作 例1.1 Luogu P1554 首先,我们求每一个数位 while(x){ int now=x%10;//当前数位 x/=10; } 我们使用一个 阅读全文
posted @ 2025-10-12 21:20 KK_SpongeBob 阅读(21) 评论(0) 推荐(0)
摘要: 分块 我们以P3372 【模板】线段树 1 - 洛谷为模板讲一下 概览 首先,严格意义上将分块并不是一种数据结构,而是一种思路 顾名思义,就是把一个东西分成很多个块,一个块一个块遍历 所以分块就是一种优雅的暴力,只是把一个一个遍历变成了多个多个遍历 预处理操作 首先,要进行分块 块太多或者块太少都会 阅读全文
posted @ 2025-10-12 21:13 KK_SpongeBob 阅读(30) 评论(0) 推荐(0)
摘要: 前置知识:倍增 其实倍增就是二进制拆分,因为有的数可能很大,我们按照2的幂次去查询,就能用 \(log_2n\) 的时间复杂度求解 ST 表 创建 ST 表运用的是倍增思想,我们可以用 \(O(nlogn)\) 的时间创建一个二维表,根据倍增思想就可以实现 \(O(1)\) 的区间最值查询(RMQ 阅读全文
posted @ 2025-10-12 17:14 KK_SpongeBob 阅读(15) 评论(0) 推荐(0)