Loading

摘要: VsCode 使用指南(配置 + 美化) 0xFF 写在前面 图有点卡,请耐心等待。 感谢 hinin 对我的技术指导以及 ltl0825 和 Charllote_ 在使用配置 VsCode 的过程中对我文章的勘误与补充。 UPD 20250823:统一格式,修改笔误,增加设置背景的配置方式,并优化了缺省源生成代码。 UPD 2025091 阅读全文
posted @ 2025-08-16 10:51 Hyvial 阅读(1002) 评论(2) 推荐(2)
摘要: A* 构成 dijkstra 优先队列优化 \(+\) BFS \(+\) 玄学长度预估 \(=\) Astar。 解释 dijkstra 优先队列优化:每一次放进优先队列(小根堆)里的是 起点到这个状态的步数 \(+\) 当前点到终点的预估步数,在终点第一次出队时结束,此时得到的值必然为最小值(求 阅读全文
posted @ 2025-07-22 13:36 Hyvial 阅读(19) 评论(0) 推荐(0)
摘要: 什么是树链剖分? 具体来说,树链剖分就是将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。 树链剖分(树剖/链剖)有多种形式,通常指 重链剖分,可以将树上的任意一条路径划分成不超过 \(\log{n}\) 条连续的链,每条链上的点深度互不相同(即是自底向上的一条链,链上所有点 阅读全文
posted @ 2025-07-19 14:45 Hyvial 阅读(26) 评论(0) 推荐(0)
摘要: 前置知识:一次函数,线段树 什么是李超线段树? 李超线段树,可以支持一下两种操作: 插入一条线段/直线; 查询单点极值。 李超线段树在每一个区间,会维护在区间中点值最大的线段/直线(表达式:$y = kx + b$)所对应的 $k$、$b$,且李超线段树没有 pushdown 操作,查询时需要一查到 阅读全文
posted @ 2025-07-17 20:25 Hyvial 阅读(32) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-03-06 18:33 Hyvial 阅读(4) 评论(0) 推荐(0)
摘要: 普通分块 分块思想是什么?(引自 OI-wiki) 分块的时间复杂度主要取决于分块的块长,一般可以通过均值不等式求出某个问题下的最优块长,以及相应的时间复杂度。 分块是一种很灵活的思想,相较于树状数组和线段树,分块的优点是通用性更好,可以维护很多树状数组和线段树无法维护的信息。 当然,分块的缺点是渐 阅读全文
posted @ 2025-03-06 18:21 Hyvial 阅读(30) 评论(0) 推荐(0)
摘要: 线段树区间乘、加,范围求和,QWQ 原题 #include <bits/stdc++.h> #define PII pair <int, int> #define int long long #define DB double namespace FastIO { inline int read(i 阅读全文
posted @ 2024-08-18 14:16 Hyvial 阅读(31) 评论(0) 推荐(0)