摘要: 图论 最短路 次短路与 k 短路 kruskal 及应用 query_lca 树剖之重链剖分 强连通分量 数据结构 并查集 并查集 线段树 浅析 进阶 可持久化 优化建图 平衡树 BST 和 Treap Fhq 和 Splay 替罪羊树 树套树 树套树 暴力数据结构 分块 莫队 珂朵莉树 其他数据结 阅读全文
posted @ 2022-10-23 17:29 Zvelig1205 阅读(419) 评论(0) 推荐(0)
摘要: 自我感觉题目难度: 简单:D B F 中等:H G E 进阶:A C I 博客园自带目录() A 回忆忘却之匣 博弈论。 显而易见,对于足够聪明的人,在所有决策中只要存在一个必胜决策,就会直接选择这个策略。 故而可以使用 \(dfs\) 爆搜。 对于一个状态,一共可以从 \(5\) 个状态转移过来, 阅读全文
posted @ 2025-10-23 18:02 Zvelig1205 阅读(47) 评论(0) 推荐(0)
摘要: F. 金苹果 搜索题。 首先在输入中记录点 \(S,P,T\) 的坐标。 第一问,搜索要求不经过点 \(P\),可以将 px,py 记录成 #,然后从 \(S\) 开始搜(dfs 或 bfs 均可)能不能到达 \(T\)。 第二问,从 \(S\) 出发能否先经过 \(P\) 再到达 \(T\),就相 阅读全文
posted @ 2025-10-12 16:48 Zvelig1205 阅读(146) 评论(0) 推荐(0)
摘要: 初学只需要背代码就好了,而复习的时候要考虑的就多了( (打牛客的时候用到,发现忘得差不多了) 概念解读 连通:在无向图中,从任意点 A 都可以到达任意点 B。 强连通:在有向图中,从任意点 A 都可以到达任意点 B。 弱连通:将有向图看作无向图后,从任意点 A 都可以到达任意点 B。 特殊地,单独的 阅读全文
posted @ 2024-07-28 16:38 Zvelig1205 阅读(99) 评论(0) 推荐(0)
摘要: 并查集(正经 并查集是一种支持动态 link 的,能够快速判断两元素是否处于同一集合的数据结构。 (如果需要 cut,请出门右转 LCT) 那么其基本操作就包括: 连边。在两个点之间连一条边,使得两个点所在的两个集合合并为一个集合。 查询。查询两个点是否处在同一个集合中。 这也是普通并查集的所有操作 阅读全文
posted @ 2023-11-20 19:44 Zvelig1205 阅读(125) 评论(0) 推荐(1)
摘要: 该文章同步与我的洛谷博客。 AFOer,昨天刚退役。 身处弱县,奥赛并不是一个好出路。 高一开始学 OI,兴趣异常浓厚。招生结束后不到半个月就是国庆假期,因为要集训,一大批人退了。显然不包括我,而且我一学就是两年。 第一个做题网站是 openjudge,昵称是“极冬寒雪”。 第一个代码是 hello 阅读全文
posted @ 2022-11-27 10:19 Zvelig1205 阅读(258) 评论(0) 推荐(2)
摘要: 本文同步与我的洛谷博客。 人物介绍 身处弱县,共 9 名学生,我校 $\times 8$,一中 $\times1$。 yp:带队老师。 ysy:同级大佬。 ycp:一等大佬。 yzb:单调队列我的学弟。 xhw:单调队列我的学弟。 wky:放荡不羁的花花公子。 yjx:勤奋努力的学弟。 wxd:喜欢 阅读全文
posted @ 2022-11-26 14:59 Zvelig1205 阅读(514) 评论(0) 推荐(1)
摘要: 概览 我大抵是太闲了。 此文章同步发表于我的知乎。 sort 作为最常用的 STL 之一,大多数人对于其了解仅限于快速排序。 听说其内部实现还包括插入排序和堆排序,于是很好奇,决定通过源代码一探究竟。 个人习惯使用 DEV-C++,不知道其他的编译器会不会有所不同,现阶段也不是很关心。 这个文章并不 阅读全文
posted @ 2022-11-17 20:45 Zvelig1205 阅读(415) 评论(0) 推荐(0)
摘要: 回字有四样写法,你知道么? lca,即最近公共祖先,如上图中 2 和 13 的 lca 是 1,5 和 6 的 lca 是 2。 众所周知,LCA 的主流求法有 4 种。 那么,你都会了吗? 树链剖分 如果你不会重链剖分。 由于重儿子优先搜索,同一条重链上的点的时间戳也是连续的(如图上的 1,2,3 阅读全文
posted @ 2022-10-30 21:49 Zvelig1205 阅读(954) 评论(0) 推荐(0)
摘要: 重链剖分 Link-Cut Tree 回顾重链剖分,可以发现,它维护的是一棵静态的树。 当题目是森林时,尤其是有连边、断边等操作时,重链剖分不好维护。 所以,需要一种更为灵活的算法,也就是 LCT。 重链剖分是用的线段树维护原树。之前提到过,区间树除了用线段树可以实现,Splay 也是可以的。所以 阅读全文
posted @ 2022-10-25 11:21 Zvelig1205 阅读(178) 评论(0) 推荐(1)