摘要: 注:笔者是蒟蒻,所以本文几乎是干货,枯燥无味甚至可能会引人不适,请读者谨慎阅读。 为了笔者快爆掉的肝点个赞好吗??? Part.1 网络流基础定义 一个有向带权图 \(G=(V,E)\) 是一个网络当且仅当: 图中只有一个入度为 \(0\) 的点,即源点 \(S\); 图中只有一个出度为 \(0\) 阅读全文
posted @ 2025-02-21 14:17 pyy1 阅读(89) 评论(0) 推荐(0)
摘要: Part.1 引入 重链剖分是一种用于解决树上的路径查询和修改问题的算法,他能将 \(O(n)\) 级别的操作转换为 \(O(\log n)\) 的级别,可以说十分常用。本文将带你深入解析这个算法。 Part.2 概念和思路 在讲解本算法之前,我们先引入一些概念: 轻重儿子:对于一个树上的节点 \( 阅读全文
posted @ 2024-04-08 16:30 pyy1 阅读(61) 评论(0) 推荐(0)
摘要: Part.1 引入 在图论问题中,我们经常去研究一些连通性问题,比如: 有向图的联通性:传递闭包——Floyd 算法; 有向图连通性的对称性:强联通分量(SCC)——Tarjan 算法缩点; 无向图的联通性:并查集; 无向图的关键边:桥(割边)、边双——Tarjan 算法缩点; 无向图的关键点:割点 阅读全文
posted @ 2024-03-30 16:43 pyy1 阅读(403) 评论(0) 推荐(0)
摘要: Part.1 引入 当你遇到一个区间询问但是难以用线段树等 log 算法维护的时候怎么办?那就是——莫队! 莫队这个东西能支持区间修改、区间查询的操作,但是这种算法要求离线。莫队有很多种,详细请看下文。 Part.2 普通莫队 我们先来看一道例题(P1972 的削弱版): 给你一个长度为 \(n\) 阅读全文
posted @ 2024-03-30 16:42 pyy1 阅读(224) 评论(0) 推荐(0)
摘要: 题目传送门 题目大意 给定一个数列,求满足 \(\operatorname{mex}(a_l\sim a_r)>\operatorname{med}(a_l\sim a_r)\) 的区间 \([l,r]\) 的个数。 解题思路 记 \(p_i\) 为 \(i\) 出现的位置。 我们可以枚举 \(d\ 阅读全文
posted @ 2024-04-08 16:45 pyy1 阅读(113) 评论(0) 推荐(0)
摘要: 题目传送门 思路 按照题目的定义,两个循环同构的字符串可以表示成 \(\texttt{AB,BA}\)。 那么 \(s\) 可以表示为 \(\texttt{ABSBA}\)。 设 \(f_i\) 表示 \(\texttt{A}\) 为 \(s_1\sim s_i\) 时 \(\texttt{B}\) 阅读全文
posted @ 2024-04-08 16:40 pyy1 阅读(37) 评论(0) 推荐(0)
摘要: 题目传送门 思路 假设对于两个点 \(s_i,t_i\),在不考虑路径起点终点的情况下,最小的成本为 \(x\),那么只经过编号 \(1\sim x\) 的点一定能使 \(s_i,t_i\) 联通。所以问题就变成了求满足上述条件的最小的 \(x\)。 有向图的连通性问题,很容易想到传递闭包。不会的出 阅读全文
posted @ 2024-04-08 16:34 pyy1 阅读(18) 评论(0) 推荐(0)
摘要: 题目传送门 思路 很明显,对于一个矩阵,如果对其询问的结果是奇数,那么矩阵中一定有一个头或者尾。感性理解一下,如果满足上述条件,说明进去了没出来,或者出来了没进去,就是有一个头或者尾。 那么询问每一行、每一列,如果找到在行上找到两个不同的行结果是奇数,就对这两行二分。列是同理的。 这样询问次数被卡满 阅读全文
posted @ 2024-04-08 16:33 pyy1 阅读(31) 评论(0) 推荐(0)