<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[蒟蒻]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Binary_Master</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Binary_Master]]></copyright><item><title><![CDATA[欧拉图与欧拉路径]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/158261772</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/158261772</guid><author>Binary_Master</author><pubDate>Sat, 21 Feb 2026 09:51:36 +0800</pubDate><description><![CDATA[本文总结了欧拉图的基本概念和判定方法。欧拉路径指经过图中每条边恰好一次的路径，若路径闭合则为欧拉回路。欧拉图包含欧拉回路，半欧拉图仅包含欧拉路径。无向图的判定依据节点度数：欧拉图需所有节点度数为偶数，半欧拉图需恰好两个节点度数为奇数。有向图的判定则基于出入度平衡：欧拉图要求所有节点出入度相等，半欧拉图要求仅一个节点出度比入度大1，一个节点入度比出度大1。最后给出了有向图中寻找欧拉路径的DFS算法实现代码。]]></description><category></category></item><item><title><![CDATA[点双连通分量]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150955234</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150955234</guid><author>Binary_Master</author><pubDate>Fri, 29 Aug 2025 00:15:00 +0800</pubDate><description><![CDATA[摘要 点双连通分量是无割点的极大连通块。割点至少属于两个分量，如示例图中点6将图分成两个分量。求解时利用两个性质：1)不同分量最多共享一个割点；2)DFS树中dfn最小的节点必为割点或根节点。根节点需根据子树数量判断是否为割点或分量根。代码实现参考OI-Wiki。]]></description><category></category></item><item><title><![CDATA[边双连通分量]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150953523</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150953523</guid><author>Binary_Master</author><pubDate>Thu, 28 Aug 2025 15:33:47 +0800</pubDate><description><![CDATA[本文介绍了边双连通分量的概念及其求解方法。边双连通分量是指不含割边的极大连通子图，其特点是任意两点间存在两条边不重复路径，且具有传递性。文中通过图示展示了两个不同的边双连通分量。求解方法基于割边，先找出所有割边，再通过DFS确定各边双连通分量。具体实现代码可参考OI-Wiki。（99字）]]></description><category></category></item><item><title><![CDATA[Tarjan 求割边]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150952192</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150952192</guid><author>Binary_Master</author><pubDate>Thu, 28 Aug 2025 14:54:00 +0800</pubDate><description><![CDATA[本文介绍了割边（桥）的定义及求解方法。割边是指删除后会增加连通分量数的边。文章通过Tarjan算法实现割边检测，关键条件为low[v]&gt;dfn[u]。代码部分展示了如何标记割边并输出结果，特别处理了特殊测试用例。算法时间复杂度与Tarjan算法相同，适用于无向图割边求解。]]></description><category></category></item><item><title><![CDATA[Tarjan求割点]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150931381</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150931381</guid><author>Binary_Master</author><pubDate>Wed, 27 Aug 2025 17:03:03 +0800</pubDate><description><![CDATA[本文介绍了无向图中割点的定义和两种求解方法。第一种是暴力枚举每个节点删除后判断连通性变化，时间复杂度为O(n×(n+m))。第二种采用改进的Tarjan算法，通过DFS生成树和low数组高效判断割点，时间复杂度更优。文章给出了洛谷P3388题的C++实现代码，展示了如何利用Tarjan算法求解割点并输出结果。该算法特别处理了根节点情况，适用于大规模图论问题。]]></description><category></category></item><item><title><![CDATA[有向图的强连通性]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150761908</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150761908</guid><author>Binary_Master</author><pubDate>Mon, 25 Aug 2025 10:34:58 +0800</pubDate><description><![CDATA[本文介绍了有向图的强连通性概念及求解强连通分量的两种算法。首先定义了强连通图和强连通分量(SCC)，即图中任意两点相互可达的最大子图。重点讲解了Tarjan算法，该算法基于DFS生成树，通过维护dfn和low数组来识别SCC。核心思想是当某个节点的dfn等于low值时，形成一个SCC。文章提供了完整的C++代码实现，展示了如何计算图中的SCC数量。该算法时间复杂度为O(V+E)，是求解强连通分量的高效方法。]]></description><category></category></item><item><title><![CDATA[二项式反演四种形式及其中一种的证明]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150464824</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150464824</guid><author>Binary_Master</author><pubDate>Sun, 17 Aug 2025 11:39:45 +0800</pubDate><description><![CDATA[二项式反演是一种通过构造简单函数g(i)求解复杂函数f(n)的方法，包含四种主要形式。其中形式二和形式四最为常用。证明过程基于二项式系数恒等式，通过交换求和顺序和代数变换实现。特别提醒，不建议用容斥原理解释这些公式。文章详细展示了形式二的证明过程，其他形式可类似推导。该工具在组合数学中具有重要应用价值。]]></description><category></category></item><item><title><![CDATA[整体二分题解]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150413800</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150413800</guid><author>Binary_Master</author><pubDate>Fri, 15 Aug 2025 09:19:59 +0800</pubDate><description><![CDATA[整体二分（Parallel Binary Search）是一种用于解决多组查询问题的有效算法，特别适用于每组查询的答案都可以通过二分查找来确定的情况。]]></description><category></category></item><item><title><![CDATA[Grid Rotations]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150223974</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150223974</guid><author>Binary_Master</author><pubDate>Mon, 11 Aug 2025 19:56:39 +0800</pubDate><description><![CDATA[该题考察矩阵旋转操作，通过Q次将矩阵按给定行列分割并旋转四个部分。解题关键在于发现行列操作可分离处理，使用两棵平衡树分别记录行列翻转情况。最终统一处理所有操作，避免每次直接旋转矩阵。这种方法将时间复杂度优化至可接受范围，适用于大规模数据。]]></description><category></category></item><item><title><![CDATA[FHQ-Treap]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150203597</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150203597</guid><author>Binary_Master</author><pubDate>Mon, 11 Aug 2025 08:00:35 +0800</pubDate><description><![CDATA[本文介绍了FHQ-Treap这一基于分裂和合并操作的平衡树数据结构。文章首先阐述了其基本概念，指出其相比旋转式平衡树的优势在于代码简洁、易于理解。接着讲解了二叉搜索树和堆这两个前置知识，重点说明了FHQ-Treap的核心操作：按值分裂和合并两棵树的实现方法。随后详细介绍了插入和删除操作的具体实现过程，给出了相关代码示例。最后简要提及了查询前驱后继、排名等操作的实现思路。全文通过形象的比喻和代码示例，帮助读者理解这一数据结构的实现原理。]]></description><category></category></item><item><title><![CDATA[Manacher马拉车]]></title><link>https://blog.youkuaiyun.com/Binary_Master/article/details/150158519</link><guid>https://blog.youkuaiyun.com/Binary_Master/article/details/150158519</guid><author>Binary_Master</author><pubDate>Sun, 10 Aug 2025 21:28:02 +0800</pubDate><description><![CDATA[Manacher算法是一种线性时间复杂度的算法，用于高效查找字符串中的最长回文子串。其核心思想是利用回文串的对称性避免重复计算，通过维护&quot;最右回文边界&quot;和中心点来扩展回文半径。算法首先对字符串进行预处理（插入特殊字符处理偶长回文），然后分四种情况处理回文半径，最后映射得到原串中的回文长度。由于关键变量r始终向右移动，算法整体时间复杂度为O(n)。该算法在字符串处理中具有重要应用价值。]]></description><category></category></item></channel></rss>