文章分类 - 算法
摘要:问题形式 有 \(n\) 个整数变量 \(x_{1\sim n}\),满足 \(1\le x_i\le m_i\),其中 \(x_i\) 取 \(j\) 有 \(w(i,j)\) 的代价,\(q\) 组约束 \((u,v,w)\) 表示 \(x_u\le x_v+w\;(w> 0)\),最小化总代价
阅读全文
摘要:例 1:[ABC285G] Tatami 给定 \(n\times m\) 的矩阵,每个位置为 \(1/2/?\),要用 \(1\times 1\) 和 \(1\times 2\)(可以选择)的单元覆盖整个矩形,满足 \(1\) 位置只能被 \(1\times 1\) 的覆盖,\(2\) 位置只能被
阅读全文
摘要:Hall 定理 一张二分图存在完美匹配,当且仅当对于左部点的任意非空子集,其中的点连向的不同右部点的数量不小于该子集大小 令 \(L\) 为左部点集,\(N(S)\;(S\subseteq L)\) 为点集 \(S\) 中的点连向的右部点的集合,则二分图存在匹配当且仅当 \(\forall S\su
阅读全文
摘要:二分图最大匹配 模板题:P3386 【模板】二分图最大匹配 匈牙利算法 模板: using size_t = std::uint32_t; struct edge_without_weight { size_t u, v; edge_without_weight() : u(-1), v(-1) {
阅读全文
摘要:找到所有与字符串 \(S\) 循环同构的字符串中字典序最小的一个 可以使用后缀排序做到 \(O(n\log n)\) 或 \(O(n)\),但是该问题存在实现简单的 \(O(n)\) 算法 模板 namespace string_algo { template <typename iter_t, a
阅读全文
摘要:又称 马拉车算法,用于求每个回文中心对应的最长回文子串的长度 模板 namespace string_algo { template <typename value_t, typename output_iter_t, ass_is_RAI(output_iter_t)> void manacher
阅读全文
摘要:定义 对于字符串 \(S\),令 \(z_i=\text{lcp}(S,\text{ssf}(S,i))\),\(z_1\) 一般设为 \(0\) 或 \(n\) 也称为扩展 \(\text{KMP}\) 计算 \(\text{Z}\) 函数的网站 模板 namespace string_algo
阅读全文
摘要:定义 若 \(S'\) 同时为 \(S\) 的前缀和后缀,且 \(S'\ne [\mathbb\emptyset],S'\ne S\),则 \(S'\) 为 \(S\) 的 \(\text{Border}\)(\(\text{Border}\) 为一个字符串,但有时也指代其长度) 令 \(\math
阅读全文
摘要:符号 和 定义 \(\sum\):字符集,字符的集合,一般来说需要定义全序关系,即任意两者都可比 \(S\):字符串,若干字符按顺序组成的序列,默认下标为 \(1\sim |S|\) \([\mathbb\emptyset]\):空串 \(S_i\):\(S\) 的第 \(i\) 个字符 \(S_{
阅读全文
摘要:问题一般形式 给定 \(a_{1\sim n},b_{1\sim n},c_{1\sim n},L_{1\sim n},R_{1\sim n}\),求出 \[f_i=a_i+\min_{L_i\le j\le R_i}g(j)+b_jc_i \]或 \[f_i=a_i+\max_{L_i\le j\
阅读全文
摘要:题单 (其中 P2775 机器人路径规划问题 为错题,因此实际只做 \(23\) 题) P2756 飞行员配对方案问题 二分图匹配模板题 代码 P4016 负载平衡问题 令 \(a'_i=a_i-\overline{a}\),建立 \(n\) 个节点,相邻(环上相邻)两个之间连容量为 \(\inft
阅读全文
摘要:最小斯坦纳树 允许新加点的最小生成树 目前只有非多项式复杂度解法 模板题:P6192 【模板】最小斯坦纳树 代码 例:QOJ # 5175. 翻修道路 给定 \(n\) 个点 \(m\) 边的有向图,每条边 \(u\rightarrow v\) 有边权 \(a\),可经过一次操作使其变为 \(b\)
阅读全文
摘要:生日悖论(Birthday Paradox) \(n\) 个人中有至少两人同一天生日的概率为 \(1-\prod_{i=0}^{n-1}\frac{365-i}{365}=1-\frac{365!}{365^n(365-n)!}\) 以下是其部分取值: \(n=\) \(10\) \(20\) \(
阅读全文
摘要:以下除了特殊说明的,块长默认取 \(\sqrt n\) 序列分块 静态序列区间查询排名 给定 \(a_{1\sim n}\),\(q\) 次查询 \([l,r]\) 内 \(\le v\) 的数量(假定 \(n,q\) 同阶) 思路 1 二维数点。若可以离线,则扫描线解决,时间复杂度 \(O(n\l
阅读全文
摘要:自动机理论 严格来说,自动机不是算法或数据结构,只是一种数学模型 符号 和 基本定义 \(\sum\):字符集 \(\varepsilon\):空串 \(ab\):连接字符串 \(a\) 和 \(b\) \(a^k\):将 \(k\) 个 \(a\) 顺次相连 \(\sum^n\):所有长为 \(n
阅读全文
摘要:二分图的最大匹配 模板题:P3386 【模板】二分图最大匹配 匈牙利算法 每次找到一条增广路 模板: vector<int> ve[5010]; //ve[i]:从左部点 i 出发直接连边的右部点编号 int vtm[510], mch[510]; //main int rs = 0; functi
阅读全文

浙公网安备 33010602011771号