摘要: 目录2023年12月28日XOR TreeFirst.如何去除 \(0\) 路径Second.如何快速判断一颗子树下有无 \(0\) 路径Third.优化时间复杂度Code2023年12月31日P5304旅行者题意简述First. 怎么求多源多汇最短路solution.1solution.2Seco 阅读全文
posted @ 2024-01-05 14:00 固态H2O 阅读(8) 评论(0) 推荐(0) 编辑
摘要: \[\huge \color{#005C97} {\mathtt{Friend Link}} \]我的各种账号 Ice_lift QQ:3781549119 没有一个人的机房 HR班 melons_sundae nikangle Ice_lift yqr123YQR ny_jzy 【待补充】 的草莓 阅读全文
posted @ 2024-01-05 00:09 固态H2O 阅读(54) 评论(0) 推荐(1) 编辑
摘要: 目录QTREE2 - Query on a tree II前置知识定义First. 求 \(dis_{u, v}\)Second. 求 \(u\) 到 \(v\) 路径上的第 \(k\) 个点时间复杂度Code QTREE2 - Query on a tree II \(\mathtt {TAGS} 阅读全文
posted @ 2024-01-04 23:32 固态H2O 阅读(19) 评论(0) 推荐(0) 编辑
摘要: QTREE2 - Query on a tree II $\mathtt {TAGS}$:$\mathtt{LCA}$,倍增,树上操作 $\mathtt {APPRAISE}$:倍增板题。 前置知识 最近公共祖先 - OI Wiki 最近公共祖先 - 倍增算法 定义 由于根节点是哪一个对本题的求解并 阅读全文
posted @ 2024-01-04 10:41 固态H2O 阅读(4) 评论(0) 推荐(0) 编辑
摘要: XOR Tree $\mathtt{TAGS}$:树上启发式合并 + 异或 + 贪心 $\mathtt{ESTIMATION}$:非常好的启发式合并题目 First.如何去除 $0$ 路径 对于一条路径 $u \to v$,要使其不为 $0$ 肯定是将 $\mathtt{LCA} (u,v)$ 变为 阅读全文
posted @ 2023-12-28 15:26 固态H2O 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 顺序有点乱,后续会排一下,然后分板块整理 All 最短路算法的选择: \(n \le 100\) : Floyd(一般是较难的图论建模) \(n \le 4 \times 10 ^ 5\): dijkstra 尽量不用 SPFA。 神秘 IDEA: 一个带负权图,绝对最短路定义为,绝对值最小的最短路 阅读全文
posted @ 2023-12-16 14:09 固态H2O 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 前置知识: 最小环 - OI Wiki 思路 这道题是一个最小环问题。 但是由于这个题给定的是每条边所连接的其他边,所以我们需要把边的信息转移到边之间的交点上。 考虑给每个点编号,然后建图。 一种暴力的思路: 对于每个交点,记录连接了他的所有边的集合,由于每个交点如果连接的边不同,那么这两个点就不同 阅读全文
posted @ 2023-12-15 15:19 固态H2O 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 重大错误:没有对拍 T - 1 火柴 主要思路:打表找规律(注意分讨) 2 3 4 5 6 7 8 9 10 11 1 7 4 2 0 8 10 18 22 20 12 13 14 15 16 17 18 19 20 28 68 88 108 188 200 208 288 688 后面可以找规律发 阅读全文
posted @ 2023-12-11 17:17 固态H2O 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 观前提醒: 此博客仅为我对区间 DP 的个人观点,如有错误或是误解,请您见谅或是提出问题,我将会积极改进此博客。 这玩意儿上限很高,下限也很高 做区间 DP = 烧脑子 $\color{green}\mathtt {Level.1}\quad \mathtt{Easy Problem}$ 较为简单的 阅读全文
posted @ 2023-12-10 10:57 固态H2O 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 重大错误:没有对拍 T - 1 火柴 主要思路:打表找规律(注意分讨) 2 3 4 5 6 7 8 9 10 11 1 7 4 2 0 8 10 18 22 20 12 13 14 15 16 17 18 19 20 28 68 88 108 188 200 208 288 688 你谷博客表格怎么 阅读全文
posted @ 2023-12-09 15:26 固态H2O 阅读(3) 评论(0) 推荐(0) 编辑
摘要: CF1900D - Small GCD【数论超好题】 前置知识 欧拉函数 - OI Wiki 筛法 - OI Wiki 正题 题意 给定一个数组 $a$,找出 $a$ 中所有不同的三元组 $(x, y, z)$,求所有 $\gcd(min1, min2)$ 的和,$min1$ 为三元组中最小的数,$ 阅读全文
posted @ 2023-11-28 23:08 固态H2O 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题意 每次输入一个数 $i$,在对应的 $a_i$ 上使其值加一,每次修改然后输出字典序最小的最大值。 思路 设当前最大值的编号为 $ans$,每次修改 $a_i$ 之后,如果 $a_i > a_{ans}$ 那么 $i$ 就是现在最大的。如果 $a_i = a_{ans}$,如果 $i$ 的字典序 阅读全文
posted @ 2023-11-19 09:27 固态H2O 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 图论 连通性 强连通分量 缩点 点双 最短路 dijkstra LCA 倍增 Tarjan 树链剖分 拓扑排序 数据结构 树状数组 - BIT 并查集 - DSU 图论 连通性 强连通分量 void tarjan (int u) { dfn[u] = low[u] = ++tmp; st[++top 阅读全文
posted @ 2023-11-10 13:52 固态H2O 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 编译 g++ file_name.cpp -o file_name 运行 file_name $$ \mathtt{ to \; be \; continued } $$ 阅读全文
posted @ 2023-11-09 14:14 固态H2O 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 题意简述 给你 $n$ 个物品和他们的坐标 $a_i$,求坐标区间 $\left [ x,x+m \right ) $ 内的最大物品数量。 $\mathtt{problem.1}$ 区间枚举 最先想到的是标记坐标,然后按坐标枚举区间,取最大值。 这样绝对是会超时的。 不妨考虑从每个礼物的坐标出发,寻 阅读全文
posted @ 2023-11-01 16:42 固态H2O 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 主要算法 全源最短路(改版)。 题意 此题要求从某一个点到其他任意的点的路径上的最大边权的最小值。 思路 第一步 计算边权,用两点的曼哈顿距离 $dis$ 去除以出发蹦床的系数 $P_i$,为了满足跳得过去且 $S$ 为整数,所以边权为 $\left \lceil \frac{dis}{P_i} \ 阅读全文
posted @ 2023-10-28 16:25 固态H2O 阅读(14) 评论(0) 推荐(0) 编辑
摘要: $$ \Huge \mathsf {最长上升子序列} $$ $$ \Large \color{blue}{ {\Bbb{First.} \mathsf{朴素求法}} } $$ 设 $dp_i$ 表示以 $i$ 结尾的最长上升子序列长度,很显然转移方程为: $$ dp_i = \max _{i - 1 阅读全文
posted @ 2023-10-28 09:07 固态H2O 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 前言 本文仅因为 CSP-S2 T3 考的内存偏移量而作。 结构体对齐原则 数据成员对齐规则: 结构的数据成员每个数据成员存储的起始位置要从该成员大小的整数倍开始,第一个是从 $0$ 开始(因为 $0$ 是任何整数的整数倍) 结构体作为成员: 如果有一个结构里有某些结构体成员,则结构体成员要从其内部 阅读全文
posted @ 2023-10-25 15:29 固态H2O 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 10.20 赛前想复习复习贪心, 写了点 普及- 的贪心。(结果还是复习不到位) 回看了以往的题目,不是很适应题风( 10.21 J组 T1 找规律找了好久没找出来,很离谱,拿个记事本枚举了 1 ~ 12 的情况,左看右看还是没看出来, 最后想了 30min 写了 90 pts 暴力。 此时心态就开 阅读全文
posted @ 2023-10-23 15:46 固态H2O 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 发挥极其失常,心情不是很好 自我寄语 明年再接再厉吧。调整调整节奏,保持稳定发挥。 J 组 T1 约瑟夫环, 掌握不扎实。 T2 太保守了, 不敢贪心, 写了 DP T3 大模拟,应该没问题(小图灵TLE了???) T4 一眼多维最短路,具体怎么做想了很久, 但是及其不扎实,归根到底是DP的问题(虽 阅读全文
posted @ 2023-10-22 14:08 固态H2O 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 字典序最小方案 处理方法 1 倒序 DP: 倒着 DP, 原先倒着推方案时最先保证的是最后一位的字典序最小,倒过来就是首先保证第一位的字典序最小。 Eg. 最短包含串(字典序最小版) 给定字符串 $a$ 和 $b$,求最短的字符串 $s$,使得 $a$ 与 $b$ 均为 $s$ 的子序列。 仅求长度 阅读全文
posted @ 2023-10-09 17:19 固态H2O 阅读(9) 评论(0) 推荐(0) 编辑
摘要: CF501B Misha and Changing Handles 思路 通过并差集,将旧名字的父亲设为新名字。将每个没出现过的旧名字加入初始名字。最后查找旧名字的祖先,就是新名字。 if(!id[old_name]){ id[old_name] = ++ num; ans[++ cnt] = ol 阅读全文
posted @ 2023-09-20 14:19 固态H2O 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 前置 - 欧几里得算法 欧几里得算法是一种求 \(\gcd(a,b)\) 的算法,又名辗转相除法,即为: \( \gcd(a,b) = \gcd(b,a\bmod b) \) 证明: 令 \(d = \gcd(a,b)\), \(c = a \bmod b = a - k \times b\)($k 阅读全文
posted @ 2023-09-06 17:13 固态H2O 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 思路 要想花费最小,不妨先考虑贪心。 对于权值较大的节点,应该最先断开它与其他节点连接的边,否则,它的权值会多次统计到答案中,不满足最小。 而由于删边较为麻烦,考虑逆序操作,改删边为加边。典型的套路:逆向操作。 阅读全文
posted @ 2023-08-26 17:39 固态H2O 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 一个暑假过去了,我还是彩笔 1.线上作业总结 week 1 双指针、二分 双指针:有时候想不到如何 $O(n)$。 二分:边界问题尤为注意 week 2 三分、倍增 三分: 找不到单峰函数(泪) 倍增:难的题不知道如何倍增 week 3 倍增、前缀和、差分 C、D、E简直魔鬼! 前缀和:只会一般类, 阅读全文
posted @ 2023-08-22 00:02 固态H2O 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题意 给出 $n$,请构造一个长度为 $n$ 的排列 $a$,使得一个数组 $d (d_i = \gcd(ai,a{i \mod n}))$ 中不同数字的个数最大,下文将该值称作价值。 思路 先考虑升序的排列:$1,2,3,\dots,n - 1,n$,其价值显然为 $1$。 对于每个 $a_i$: 阅读全文
posted @ 2023-08-16 02:14 固态H2O 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个数 $n$,请求出将 $n$ 拆散后,可以组成的数字中(无前导零的)质数的个数。 思路 First 排列 此题首先需要找出将 $n$ 拆散后的所有没有前导零的排列。 那排列怎么求呢? 有一个 STL:next_permutation,可以求出一个数组的下一个排列。 用法:next_pe 阅读全文
posted @ 2023-08-14 20:31 固态H2O 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 思路 First 由于需要将所有单词排序,我们首先需要截取出所有单词。 如果遇到大写字母,使用一个指针向后扫,直到遇到下一个大写字母。而这一段子串,就是一个单词。 Second 接下来,我们需要给单词排序。 注意:这里的字符串忽略大小写排序! 所以,我们需要自己写一个cmp改变排序规则: bool 阅读全文
posted @ 2023-08-12 08:44 固态H2O 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 一、基本介绍 莫队是在解决快速询问区间元素种类和元素个数的离线算法。非常暴力。 对于已知区间 \([l,r]\),我们可以在 \(O(1)\) 的时间里快速求出 \([l,r +1]\) 和 \([l - 1,r]\) 的信息。而莫队,是在离线的情况下,通过移动左右端点来获取区间信息,于是乎,将询问 阅读全文
posted @ 2023-07-17 09:11 固态H2O 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 世界上怎么会有分块那么可爱的思想!!! 一、概念 分块,你可以说它是数据结构,也可以说是一种思想。 而数列分块呢,就是将一段序列分成许多块,分别维护每块的信息,来求出一段区间的信息(比如最大值,区间和等等)。 可以用下面的图片来理解: Emm,搞错了: 对于区间询问 + 修改的问题,我们就可以使用分 阅读全文
posted @ 2023-07-16 21:16 固态H2O 阅读(5) 评论(0) 推荐(1) 编辑