<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[EricWuBoTao的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/EricWuBoTao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; EricWuBoTao]]></copyright><item><title><![CDATA[最短路算法总结]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/160743740</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/160743740</guid><author>EricWuBoTao</author><pubDate>Sun, 10 May 2026 21:57:12 +0800</pubDate><description><![CDATA[对于正权边，从那些已找到最短路径的那些点走到 v 再走到 u，至少要再经过两条边，因为边是非负的，因此走过来一定会大于原解，因此点 u 不存在，即这种情况也是不可能出现的。由于我们松弛的那些边都是以已找到最短路径的那些点作为起点进行松弛的，那么其实当前的 disv​ 已经是从已找到最短路径的那些点中松弛过来的最优情况，故这种情况无需继续考虑。首先，我们先解释对于目前没有找到最短路径的那些点中为什么要将 dis 值最小的那个点确定为已找到最短路径。，这时我们就计算出了起始点到所有其它的点的最短路径长度。]]></description><category></category></item><item><title><![CDATA[题解：B4016 树的直径]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/160309858</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/160309858</guid><author>EricWuBoTao</author><pubDate>Sun, 19 Apr 2026 16:50:06 +0800</pubDate><description><![CDATA[给定一棵 n 个结点的树，树没有边权。请求出树的直径是多少，即树上最长的不重复经过一个点的路径长度是多少。第一行输入一个正整数 n，表示结点个数。第二行开始，往下一共 n−1 行，每一行两个正整数 (u,v)，表示一条边。输出一行，表示树的直径是多少。]]></description><category></category></item><item><title><![CDATA[题解：P3478 [POI 2008] STA-Station]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/159857252</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/159857252</guid><author>EricWuBoTao</author><pubDate>Sun, 05 Apr 2026 16:19:35 +0800</pubDate><description><![CDATA[给定一个 n 个点的树，请求出一个结点，使得以这个结点为根时，所有结点的深度之和最大。输出一行一个整数表示你选择的结点编号。如果有多个结点符合要求，输出任意一个即可。接下来 (n−1) 行，每行两个整数 u,v，表示存在一条连接 u,v 的边。一个结点的深度之定义为该节点到根的简单路径上边的数量。dp[u] 表示以u为根节点时所有结点的深度之和。第一行有一个整数，表示树的结点个数 n。]]></description><category></category></item><item><title><![CDATA[题解：P2016 [SEERC 2000] 战略游戏]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/159856821</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/159856821</guid><author>EricWuBoTao</author><pubDate>Sun, 05 Apr 2026 16:10:39 +0800</pubDate><description><![CDATA[第二行至第 n+1 行，每行描述每个结点信息，依次为：一个整数 i，代表该结点标号，一个自然数 k，代表后面有 k 条无向边与结点 i 相连。他要在这棵树的结点上放置最少数目的士兵，使得这些士兵能瞭望到所有的路。dp[u][0] 表示第u个点不放士兵时要满足所有边都能瞭望到所要放的最少士兵数量。dp[u][1]表示第u个点放士兵时要满足所有边都能瞭望到所要放的最少士兵数量。注意，某个士兵在一个结点上时，与该结点相连的所有边将都可以被瞭望到。输出文件仅包含一个整数，为所求的最少的士兵数目。]]></description><category></category></item><item><title><![CDATA[题解：P15801 [GESP202603 六级] 完全二叉树]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/159613376</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/159613376</guid><author>EricWuBoTao</author><pubDate>Sun, 29 Mar 2026 16:07:19 +0800</pubDate><description><![CDATA[else if(a[u].l && a[u].r == 0 && 从a[u].l往下最多深度 == 这棵树的深度 + 1）dp[i] = 1；对于结点 i，其左儿子的编号记为 li​，右儿子编号记为 ri​。接下来 n 行，每行两个正整数 li​,ri​，表示结点 i 的左儿子编号和右儿子编号。dp[i] 表示 以i为根的二叉树是什么种类的二叉树。dp[i] = 0 表示以i为根的二叉树是普通二叉树。dp[i] = 1 表示以i为根的二叉树是完全二叉树。dp[i] = 2 表示以i为根的二叉树是满二叉树。]]></description><category></category></item><item><title><![CDATA[【寒假集训】2026.2.26]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158425053</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158425053</guid><author>EricWuBoTao</author><pubDate>Thu, 26 Feb 2026 21:50:13 +0800</pubDate><description><![CDATA[给定一个整数 n，请计算：其中 ⌊⌋ 表示向下取整（整除）。输入格式输入一个整数 n。输出格式输出一个整数，表示上述式子的值。]]></description><category></category></item><item><title><![CDATA[【寒假集训】2026.2.25]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158386525</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158386525</guid><author>EricWuBoTao</author><pubDate>Wed, 25 Feb 2026 21:03:07 +0800</pubDate><description><![CDATA[最初的编号是多少？输入格式一行两个整数 n 和 k。输出格式输出一个整数，表示最后一个被吃掉的人的编号。做时写了两层循环，MLE，30分。本题思路：这是一道数学思维题，编号为k的次方的人能留下来，当k的i次方小于n 时的k的i次方最大值，最后一个符合该条件的编号为最后一个被吃掉的人的编号。]]></description><category></category></item><item><title><![CDATA[【寒假集训】2026.2.24]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158351503</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158351503</guid><author>EricWuBoTao</author><pubDate>Tue, 24 Feb 2026 22:13:33 +0800</pubDate><description><![CDATA[有一个 n×m 的棋盘，棋盘上的每个格子都放着一枚黑棋或白棋。你可以改变任意格子的棋子颜色（黑变白或白变黑）。输入格式第一行两个正整数 n 和 m，表示棋盘的行数和列数。接下来有 n 行，每行一个长度为 m 的字符串，其中B代表黑棋，W代表白棋。输出格式输出一个整数，代表最少需要改变的棋子个数棋盘只有两种情况：a[1][1] = 'W' 或 a[1][1] = 'B'。只需根据棋盘大小将两种情况枚举出来，分别与原棋盘进行比较，找到需要变化的最小值。]]></description><category></category></item><item><title><![CDATA[【寒假集训】2026.2.23]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158317716</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158317716</guid><author>EricWuBoTao</author><pubDate>Mon, 23 Feb 2026 21:13:26 +0800</pubDate><description><![CDATA[在做时忘记set和map怎么写。没拿分。set 、map 都可以用。map更方便一些。]]></description><category></category></item><item><title><![CDATA[寒假集训2026.2.22]]></title><link>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158290375</link><guid>https://blog.youkuaiyun.com/EricWuBoTao/article/details/158290375</guid><author>EricWuBoTao</author><pubDate>Sun, 22 Feb 2026 21:06:32 +0800</pubDate><description><![CDATA[做时TLE，40分。本题思路：滑动窗口。]]></description><category></category></item></channel></rss>