<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[senlinguyvan1的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/senlinguyvan1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; senlinguyvan1]]></copyright><item><title><![CDATA[浅谈Prüfer序列（结论有证明）]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/162910450</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/162910450</guid><author>senlinguyvan1</author><pubDate>Wed, 15 Jul 2026 18:23:54 +0800</pubDate><description><![CDATA[本文主要讲解Prüfer序列和它在算法竞赛里的应用。怎么构造Prüfer序列在算法竞赛里用得比较少，但是由Prüfer引申出的结论很重要。所以本文主要是讲一下结论并且给出比oiwiki更通俗的证明。首先明确一点，我们当前定义的是一棵带编号的无根树，也就是相当于给出了边集。怎么描述这棵树呢？首先想到的是，给你边集，你肯定就能构建出这棵树了。但是，边集是一个集合，设树里有nnn个点，那就需要2n−22n - 22n−2个数来描述。]]></description><category></category></item><item><title><![CDATA[论平衡树和文艺平衡树的调试(treap)]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/162765693</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/162765693</guid><author>senlinguyvan1</author><pubDate>Fri, 10 Jul 2026 16:53:39 +0800</pubDate><description><![CDATA[不会treap的别看，如果你学过但是忘了可以看。讲原理的部分很概括。]]></description><category></category></item><item><title><![CDATA[再论斜率优化]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/162640926</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/162640926</guid><author>senlinguyvan1</author><pubDate>Mon, 06 Jul 2026 20:05:48 +0800</pubDate><description><![CDATA[早在2024年9月3日，本蒟蒻就发布了一篇斜率优化的讲解，然而我那个时候过于菜了，理解不是很深刻，于是今天重写一篇。]]></description><category></category></item><item><title><![CDATA[论CDQ分治]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/161695938</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/161695938</guid><author>senlinguyvan1</author><pubDate>Thu, 04 Jun 2026 21:02:34 +0800</pubDate><description><![CDATA[需要的前置知识点：归并排序，树状数组（或线段树），偏序问题的定义。归并排序求逆序对（极其重要，会了这个其实你就可以不用看了因为这个就是cdq分治，当然不会也可以看因为没有用到这个）]]></description><category></category></item><item><title><![CDATA[P11714 [清华集训 2014] 主旋律 题解]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/159394538</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/159394538</guid><author>senlinguyvan1</author><pubDate>Mon, 23 Mar 2026 20:26:28 +0800</pubDate><description><![CDATA[本文研究了在n≤15的有向图中求强连通图方案数的问题。通过正难则反的思路，将问题转化为计算非强连通图方案数，并利用状压DP和容斥原理进行求解。作者设计了f[S]和dp[S]两个状态分别表示点集S缩点后的方案数和非强连通方案数，通过子集枚举和位运算优化，将时间复杂度从O(3^n×n^2)优化到O(3^n)。最终答案通过总方案数2^m减去非强连通方案数得到。该算法巧妙运用了状压DP的多种技巧，包括子集枚举、位运算、高维容斥等，成功解决了这一复杂问题。]]></description><category></category></item><item><title><![CDATA[题解：P15578 [USACO26FEB] Random Tree Generation G]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/158695004</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/158695004</guid><author>senlinguyvan1</author><pubDate>Thu, 05 Mar 2026 14:20:58 +0800</pubDate><description><![CDATA[摘要：本文提出了一种基于换根和快速幂求逆元的算法，用于计算随机生成树符合给定形态的概率。通过枚举树根、计算拓扑序个数，并利用换根动态维护子树信息，将时间复杂度优化至O(n log n)。最终通过快速幂求逆元得到概率结果，适用于大规模树结构计算。]]></description><category></category></item><item><title><![CDATA[P7560 [JOISC 2021] フードコート题解（两种解法）]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/158498014</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/158498014</guid><author>senlinguyvan1</author><pubDate>Sat, 28 Feb 2026 10:29:21 +0800</pubDate><description><![CDATA[本文研究了两种解决特定查询问题的算法。第一种基于线段树方法，通过维护区间加减操作来处理动态队列查询，特别解决了删除操作带来的计算难题。第二种采用整体二分策略，利用单调性和离线处理来优化查询效率。文章详细分析了M=1情况的线段树实现细节，并比较了两种方法的时间复杂度（线段树O(nlogn) vs 整体二分O(nlog²n)）。作者通过参赛经验指出，正确处理动态人数维护和离线处理是实现高效解法的关键，而整体二分虽然看似复杂，实际实现相对简单。]]></description><category></category></item><item><title><![CDATA[再论网络流(附常见错误及调试方法)]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/156953021</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/156953021</guid><author>senlinguyvan1</author><pubDate>Wed, 14 Jan 2026 20:45:44 +0800</pubDate><description><![CDATA[本文系统介绍了网络流算法的核心内容，包括最大流和费用流的基本原理及实现方法。首先讲解了EK和Dinic两种最大流算法，重点阐述了反向边的构建技巧和当前弧优化策略。随后讨论了费用流问题，指出将BFS替换为SPFA来处理带权边的情况。最后通过餐巾计划问题展示了网络流在实际问题中的建模技巧，强调通过拆点和反向边来满足约束条件。文章提供了清晰的代码实现，并配有详细注释，涵盖了网络流算法从基础到应用的关键知识点。]]></description><category></category></item><item><title><![CDATA[论区间dp:常用模型（附极角排序教程）]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/150280147</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/150280147</guid><author>senlinguyvan1</author><pubDate>Tue, 12 Aug 2025 20:14:15 +0800</pubDate><description><![CDATA[本文介绍了区间动态规划(区间dp)的三种典型应用场景。通过关路灯、青蛙的烦恼和行政划分三个例题，展示了如何识别题目中隐藏的区间结构并运用区间dp求解。关键要点包括：1) 识别&quot;不允许回首掏&quot;的特征，即操作必须连续进行；2) 状态设计通常包含区间端点信息；3) 对于环形问题，采用破环为链的技巧。文章还特别讲解了行政划分题中的极角排序方法，并强调了排序时的注意事项。这些案例展示了区间dp从基础到进阶的应用，帮助读者掌握识别和解决区间dp问题的技巧。]]></description><category></category></item><item><title><![CDATA[P3917 异或序列 题解]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/150222866</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/150222866</guid><author>senlinguyvan1</author><pubDate>Mon, 11 Aug 2025 19:35:50 +0800</pubDate><description><![CDATA[本文提出了一种优化计算异或值之和的算法。传统暴力模拟需要O(n^3)时间，而作者通过二进制分解将问题转化为处理01串，按位计算贡献。关键思路是枚举子串末位，动态维护每个二进制位的有效子串个数sum[j]。当遇到1时，sum[j]取补集（i-sum[j]），最后将各二进制位的贡献加权累加。该算法时间复杂度降为O(30n)，空间复杂度为O(1)。文章详细阐述了算法原理，并给出了简洁的代码实现，成功将问题的复杂度从三次方降低到线性。]]></description><category></category></item><item><title><![CDATA[论线段树的调试2--乘法线段树]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/143450016</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/143450016</guid><author>senlinguyvan1</author><pubDate>Sat, 02 Nov 2024 15:33:48 +0800</pubDate><description><![CDATA[请先阅读论线段树的调试，现在，你已经学会了线段树，但是，如果问题中加入了乘法呢？你的加法线段树就寄了，乘法线段树，启动！]]></description><category></category></item><item><title><![CDATA[论线段树的调试]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/143088251</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/143088251</guid><author>senlinguyvan1</author><pubDate>Sun, 20 Oct 2024 10:00:30 +0800</pubDate><description><![CDATA[线段树，一种很犇的数据结构，基本所有符合结合律的区间问题都可以使用线段树，但是，线段树对于新手来说并不好调，会直接造成RE,TLE等众多错误，本文将不再介绍线段树的基本思想，请新手大致了解后阅读本文例题在洛谷 P3372 【模板】线段树 1。]]></description><category></category></item><item><title><![CDATA[论斜率优化dp]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/141869562</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/141869562</guid><author>senlinguyvan1</author><pubDate>Tue, 03 Sep 2024 20:46:20 +0800</pubDate><description><![CDATA[首先，加上机器启动时间，我们直接把之后所有的费用系数求和再乘以机器启动时间，这就是无后效性。但是呢，我们可以把若干个任务并做一个，费用系数，完成耗时都求和，只是不需要多次启动机器了。那么哪个点离直线最近呢，显然是连接两条斜率分别大于和小于当前直线的线段的点。因为之前任务已经花费的时间会算到当前任务上，且启动机器时间已经算过了。对于新插入的点，肯定是斜率越小越好，这下动态维护下凸包也可以一并解决。显然的，一个下凸包，我们动态维护凸包，这样就有了单调性。的时间启动机器，做每个任务都需要一定时间，假设在。]]></description><category></category></item><item><title><![CDATA[dijkstra其实是bfs?--重新定义dijkstra]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140925705</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140925705</guid><author>senlinguyvan1</author><pubDate>Mon, 05 Aug 2024 15:09:02 +0800</pubDate><description><![CDATA[本文将介绍dijkstra算法全新的理解方式建议新手对dijkstra有建议了解，强烈推荐这篇文章，无比详细。]]></description><category></category></item><item><title><![CDATA[论网络流（最大流篇）--新手入门超详解--包教包会]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140901612</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140901612</guid><author>senlinguyvan1</author><pubDate>Sun, 04 Aug 2024 16:39:24 +0800</pubDate><description><![CDATA[网络流是图论算法，阅读本文需要以下前置知识1搜索算法（dfs+bfs）2图的存储3最短路径算法（dijkstra,floyd,spfa）所有数学公式均使用Latex并附有证明作为网络流系列的第一张，我们从网络流的基础–最大流开始我们把网络流这个词拆开来看网络，指的就是图，在网络流问题中大多为有向图，而且有边权（容量）流，顾名思义，就是向水一样，从一个水源（源点）流出，流向终点（汇点那么会有多少水流向终点呢？这就是流量这么说肯定不好理解，我们从图的最简单形态–链出发上图片。]]></description><category></category></item><item><title><![CDATA[[一本通提高数位动态规划]恨7不成妻--题解--胎教级教学]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140886568</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140886568</guid><author>senlinguyvan1</author><pubDate>Sat, 03 Aug 2024 20:11:56 +0800</pubDate><description><![CDATA[胎教级教学，8000字讲解无比详细，保教包会
所有公式都附有思路和证明]]></description><category></category></item><item><title><![CDATA[[一本通提高数位动态规划]数字游戏：取模数题解]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140870777</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140870777</guid><author>senlinguyvan1</author><pubDate>Fri, 02 Aug 2024 16:23:43 +0800</pubDate><description><![CDATA[真正胎教级，所有公式都附有思路和证明，包教包会！
关注优快云@森林古猿1，看更多c++教学！]]></description><category></category></item><item><title><![CDATA[论进制类型的数位dp:胎教级教学]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140846146</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140846146</guid><author>senlinguyvan1</author><pubDate>Thu, 01 Aug 2024 16:29:17 +0800</pubDate><description><![CDATA[草履虫都能学会的数位dp，包教包会！
关注我@森林古猿1，看更多算法教学]]></description><category></category></item><item><title><![CDATA[B3883 [信息与未来 2015] 求回文数 数位dp题解]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140829275</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140829275</guid><author>senlinguyvan1</author><pubDate>Wed, 31 Jul 2024 19:46:01 +0800</pubDate><description><![CDATA[保姆级教学，所有公式都附有思路和证明
包教包会！]]></description><category></category></item><item><title><![CDATA[论数位dp--胎教级教学]]></title><link>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140766263</link><guid>https://blog.youkuaiyun.com/senlinguyvan1/article/details/140766263</guid><author>senlinguyvan1</author><pubDate>Mon, 29 Jul 2024 20:42:47 +0800</pubDate><description><![CDATA[数位dp胎教级教学--受精卵都能学会
请参考题目洛谷P2602阅读]]></description><category></category></item></channel></rss>