摘要: 早在普及组的时候,我们就学会了: DFS(BFS)搜连通块 并查集在加边的情况下动态维护连通块(支持离线处理删边) 现在,我问你: 我删去一个点/边,判断剩下的图存在原本某两个连通的点现在不连通? 我随机删去一条边,判断剩下的图中某两个点是否一定连通? 我随机给你一些点,判断其中两两是否互相可达(有 阅读全文
posted @ 2024-04-09 16:19 hhc0001 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 前言 线段树只会保留重要的、具有“代表性”的区间,来优化区间查询。 但是,用线段树查询的区间信息,必须具有结合律... 简介 下图(有点儿粗糙,请不要介意): 黑数字代表编号,红色的区间代表节点管辖的区间,至于绿色和黄色的 X 会在后面讲。 建树 Lemma 1:线段树至多有 $O(\log N)$ 阅读全文
posted @ 2024-04-02 22:25 hhc0001 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 有时候我们要维护一个字符串集合,然后支持插入、删除、查询某个字符串出现次数和查询某个字符串作为前缀的出现次数。 显然的,暴力肯定 T 飞。 hash:我来!(非常好数据,使我的 hash WA) 所以我们需要字典树。 字典树有三大两大优点: 速度快 无失误(hash 有一定概率会冲突) 支持多模式串 阅读全文
posted @ 2024-04-02 12:48 hhc0001 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 引入 先看一道例题:(可能 r18) 有 \(N\) 个男生和 \(N\) 个女生。小 A 喜欢磕 CP,现在小 A 想要磕 \(N\) 对 CP。不过每一个人都有自己的 npy,也不是随随便便就能磕成一对。现在小 A 找到了你,要你求出有多少种磕 CP 的方式。 我们显然可以暴力枚举每一个男生跟谁 阅读全文
posted @ 2024-03-28 20:00 hhc0001 阅读(2) 评论(2) 推荐(0) 编辑
摘要: (由于字符串 hash 和整数 hash 是两个东西,以下将字符串 hash 称作 strash) 前情提要: strash:我来!(非常好数据,使我的 strash WA 掉) strash 是什么?strash 有什么用?该如何避免上述情况? strash 是什么 strash 的原理其实很简单 阅读全文
posted @ 2024-03-26 17:37 hhc0001 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 嗯,这就是小学难度,起码我学这些东西的时候我是个小学生 线性求逆元 这个玩意要分两块讲,\(p\) 是模数。 线性求 \(1 \sim N\) 的逆元 对于一个 \(i\): \[\text{设} a = \lfloor \frac{p}{i} \rfloor, \ b = p \bmod i, \ 阅读全文
posted @ 2024-03-07 16:45 hhc0001 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 我没有其他组别的号了。所以只能写 Bronze 的游记了。 如果行的话,下一次我会写 Silver 的。 一开始看了看三道题,T1T2 感觉都很不可做,直奔 T3。 一看 T3(Bessie 很 nb,会各种各样的东西,会科学,会魔法,今天我们发现她会分身术),不就是个二分吗?秒杀。 好的,现在搞 阅读全文
posted @ 2024-02-19 15:49 hhc0001 阅读(28) 评论(0) 推荐(0) 编辑