<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[洛谷棕名用户的博客（兔子的博客）]]></title><description><![CDATA[洛谷抄题解——非红即棕]]></description><link>https://blog.youkuaiyun.com/P2718756941</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; P2718756941]]></copyright><item><title><![CDATA[Blog 更新日志]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/161205568</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/161205568</guid><author>P2718756941</author><pubDate>Mon, 18 May 2026 15:14:00 +0800</pubDate><description><![CDATA[清空了古早时期的文章，接下来将整理重点内容，将其规范化后重新发布。同时新的文章也将继续发布。]]></description><category></category></item><item><title><![CDATA[CTF reverse练习 Sad Code]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/148645168</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/148645168</guid><author>P2718756941</author><pubDate>Fri, 13 Jun 2025 16:08:00 +0800</pubDate><description><![CDATA[所以得到了 v15、v16[0]~v16[6] 之后，分别将它们转换成 16 进制，用数组存储，一个下标存一位，先存高位。然后再将得到的数组两两合并成一个 char，就得到了 flag。程序的流程大概就是输入字符串 Str，变形一下变成 8 行 4 列的字符数组，再存到 v14 中，并且每一行最后再多添一个 0(字符串结尾，但是对流程影响不大)。sub_4130CD 容易看出来是将一个字符数组的每一个字符转换成两个 16 进制数，存在 Destination 中，先存高位再存低位。]]></description><category></category></item><item><title><![CDATA[2024CCPC哈尔滨站游记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/143137193</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/143137193</guid><author>P2718756941</author><pubDate>Mon, 21 Oct 2024 22:00:00 +0800</pubDate><description><![CDATA[DAY0
晚上 8:30 飞机落地，真切地感受到了祖国东北的寒冷，呼啸的冷风一刀一刀地割在脸上、手上。遂赶紧打了个网约车去酒店。等车的过程中发现高中同学 YingLi 也是这个点的飞机并且直接遇见了，他们队也被冷麻了。
到酒店后发现订酒店的学弟订成了大床房，而且酒店已经没有别的房间了，所以今晚只能和队友 mxy 挤在一张床上。东西放好后和队友出门吃了家酒店附近的烤肉，叫做“烤肉乐”，是一家韩国(...]]></description><category></category></item><item><title><![CDATA[2023 CCPC桂林站 vp]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/143031920</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/143031920</guid><author>P2718756941</author><pubDate>Fri, 18 Oct 2024 00:02:00 +0800</pubDate><description><![CDATA[B The Game
容易想到是贪心，一共要操作 \(n-m\) 次，最后剩 \(m\) 个数，肯定是剩最大的 \(m\) 个。
所以拿 \(a\) 数组最大的 \(m\) 个和 \(b\) 数组比较一下，就知道有多少次需要加在这 \(m\) 个数上面。设需要加 \(d_2\) 次，因此就有 \(d_1=n-m-d_2\) 次加在最小值上面。
模拟这个操作，先执行 \(d_1\) 次加在最小值上...]]></description><category></category></item><item><title><![CDATA[ABC297练习笔记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/130818939</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/130818939</guid><author>P2718756941</author><pubDate>Thu, 20 Apr 2023 16:49:00 +0800</pubDate><description><![CDATA[D - Count Subtractions
给定两个整数 \(A,B\)，重复下列操作直到 \(A=B\)：

若 \(A&gt;B\)，则令 \(A=A-B\)。
否则，令 \(B=B-A\)。

求出一共进行多少次操作。 \(1\leq A,B\leq 10^{18}\)。
sol.
可以发现和求解 \(\text{gcd}\) 特别像，当 \(A&gt;B\) 时一共需要连续让 \(A\...]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 138 (Rated for Div. 2)练习笔记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/127510481</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/127510481</guid><author>P2718756941</author><pubDate>Tue, 25 Oct 2022 10:50:00 +0800</pubDate><description><![CDATA[\(\text{A. Cowardly Rooks}\)
有一张 \(n\times n(n\leq 8)\) 的国际象棋棋盘，上面放了 \(m(m\leq 8)\) 个城堡(能攻击在同一直线的棋子)，第 \(i\) 个城堡位于 \((x_i,y_i)\)。初始时，每个格子只有最多只有一个城堡，且没有任何两个城堡可以攻击到对方。问是否能够移动某个城堡到棋盘某个地方，使得移动后棋盘仍然满足上述的两...]]></description><category></category></item><item><title><![CDATA[牛客练习赛104练习笔记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/127481883</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/127481883</guid><author>P2718756941</author><pubDate>Sun, 23 Oct 2022 20:24:00 +0800</pubDate><description><![CDATA[题目链接
放羊的贝贝
只需要找出最小、最大的横坐标、纵坐标，就可以计算出答案了。
int n, m, k, lx, rx, ly, ry;
int main(){
	n = rd(), m = rd(), k = rd();
	lx = rd(), ly = rd(), rx = rd(), ry = rd();
	while(k--){
		rg int x = rd(), y = rd();...]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 137 (Rated for Div. 2)练习笔记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/127415871</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/127415871</guid><author>P2718756941</author><pubDate>Wed, 19 Oct 2022 20:58:00 +0800</pubDate><description><![CDATA[\(\text{A. Password}\)
\(\text{Monocarp}\) 的手机密码由 \(4\) 位数字组成(首位可以为 \(0\) )，其中只包含两个不同的数字，并且这两个数字都出现了两次。现在他告诉你他的密码肯定不会包含哪些数字，让你求出有多少种可能的密码。多组数据。
其实答案就是 \({10-n\choose 2}{4\choose 2}\) 。
int T, n;
int ...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #828 (Div. 3)练习笔记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/127415869</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/127415869</guid><author>P2718756941</author><pubDate>Mon, 17 Oct 2022 21:33:00 +0800</pubDate><description><![CDATA[\(\text{A.Number Replacement}\)
给定长度为 \(n(n\leq 50)\) 的整数数组 \(a(a_i\leq 50)\) 和一个长度为 \(n\) 的字符串 \(s\) 。
定义一次操作为：选定整数 \(x\) 和字符 \(c\) ，将数组所有等于 \(x\) 的位置变成 \(c\) 。问是否能通过多次操作将 \(a\) 变为 \(s\) 。 \(T(T\leq...]]></description><category></category></item><item><title><![CDATA[数论复习]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/115535852</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/115535852</guid><author>P2718756941</author><pubDate>Thu, 08 Apr 2021 16:51:00 +0800</pubDate><description><![CDATA[欧几里得算法
给定 \(a,b\) ，求 \(\gcd(a,b)\) 。
这是 \(\rm oier\) 熟知的结论： \(\gcd(a,b) = \gcd(b, a \% b)\) 。
因为假设 \(a=kb+r\) ，且 \(\gcd(a,b)=g\) ，则 \(g|a,g|b\) ，则 \(r=a-kb,g|r\) 。
给等式两边同时除以 \(g\) ，得到 \(\frac{r}{g} =...]]></description><category></category></item><item><title><![CDATA[二次剩余学习笔记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/115500567</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/115500567</guid><author>P2718756941</author><pubDate>Wed, 07 Apr 2021 22:21:00 +0800</pubDate><description><![CDATA[给定奇素数 \(p\) 和 正整数\(n\) ，求所有 \(x\) 满足 \(x^2 \equiv n \pmod p\) 。

如果有多个解，假设有两个不同解 \(x_1, x_2\) ，那么有 \(x_1^2 \equiv x_2^2 \equiv n\) ，即 \(x_1^2-x_2^2 \equiv (x_1-x_2)(x_1+x_2) \equiv 0 \pmod p\) 。
因为 \...]]></description><category></category></item><item><title><![CDATA[多项式基本操作]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/115399427</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/115399427</guid><author>P2718756941</author><pubDate>Mon, 29 Mar 2021 22:02:00 +0800</pubDate><description><![CDATA[多项式求逆
给定一个 \(n-1\) 次的多项式 \(A(x)(a_0 \neq 0)\) ，要求一个多项式 \(F(x)\) 满足 \(F(x)A(x) \equiv 1 \pmod x^n\) 。
假设求出了 \(F_0(x)\) 满足 \(F_0(x)A(x) \equiv 1 \pmod{x^{\lceil \frac{n}{2} \rceil}}\) ，那么有
\[\begin{ali...]]></description><category></category></item><item><title><![CDATA[矩阵树定理学习笔记]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/115399426</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/115399426</guid><author>P2718756941</author><pubDate>Sat, 27 Mar 2021 09:23:00 +0800</pubDate><description><![CDATA[考虑一个经典问题：一个 \(n\) 个点 \(m\) 条边的无向连通图 \(\rm{G}\)，求这个图的生成树个数。 \(n \leq 300\) 。

先给 \(\rm{G}\) 随便定个向(之后的 \(\rm{G}\) 仍然为无向的)，然后定义 \(\rm{G}\) 的关联矩阵 \(\rm{M}\) 满足：
\[\rm{M}_{i,j} = \left \{ \begin{array}{lc...]]></description><category></category></item><item><title><![CDATA[[省选联考 2020 A 卷] 作业题]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/115399422</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/115399422</guid><author>P2718756941</author><pubDate>Thu, 25 Mar 2021 15:27:00 +0800</pubDate><description><![CDATA[给定一张 \(n\) 个点 \(m\) 条边的带边权的无向图，定义一棵生成树 \(T\) 的价值为：
\[(\sum_{i=1}^{n-1}w_{e_i}) \times \gcd(w_{e_1}, w_{e_2},\cdots,w_{e_{n-1}})
\]其中 \(w_{e_i}\) 是 \(T\) 中的边。要求求出所有生成树的价值和。\(1 \leq n \leq 30 , 1 \leq ...]]></description><category></category></item><item><title><![CDATA[[SDOI2013] 随机数生成器]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/114847071</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/114847071</guid><author>P2718756941</author><pubDate>Mon, 08 Mar 2021 21:37:00 +0800</pubDate><description><![CDATA[最近小 W 准备读一本新书，这本书一共有\(p\)页，页码范围为\(0 \sim p-1\)。
小 W 很忙，所以每天只能读一页书。为了使事情有趣一些，他打算使用 NOI2012 上学习的线性同余法生成一个序列，来决定每天具体读哪一页。
我们用\(x_i\)来表示通过这种方法生成出来的第\(i\)个数，也即小 W 第\(i\)天会读哪一页。这个方法需要设置\(3\)个参数\(a,b,x_1\)，...]]></description><category></category></item><item><title><![CDATA[「PMOI-2」简单构造题]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/114847070</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/114847070</guid><author>P2718756941</author><pubDate>Mon, 08 Mar 2021 21:26:00 +0800</pubDate><description><![CDATA[定义一个长度为\(n\)的序列\(A\)的权值为：
\[\sum_{l=1}^n\sum_{r=l}^n f_A(l,r)
\]其中\(f_A(l,r)f\)就是在\(A\)的区间\([l,r]\)中，「所有在该区间内出现过的元素出现次数的乘积」再乘上「区间内所有元素的乘积」。
要求构造一个长为\(n\)的序列，其中每个元素都是\([1,m]\)中的整数，最大化其权值。
她并不会，只好均匀随机\...]]></description><category></category></item><item><title><![CDATA[WD与积木]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/114503463</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/114503463</guid><author>P2718756941</author><pubDate>Sun, 07 Mar 2021 13:54:00 +0800</pubDate><description><![CDATA[\(T\)组询问，每次询问\(n\)个有标号的球随机放入任意个有标号的集合中，不能有空集的集合数量的期望。\(n,T\leq 10^5\)

期望转计数，答案就是所有情况的集合数之和/情况数。设\(g_n\)表示情况数，用有标号计数的经典转移：枚举第一个集合中有哪些球，得到
\[\begin{align}
g_n=\sum_{i=1}^n{n\choose i}g_{n-i}=\sum_{i=0...]]></description><category></category></item><item><title><![CDATA[[清华集训2017]生成树计数]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/114432757</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/114432757</guid><author>P2718756941</author><pubDate>Fri, 05 Mar 2021 20:56:00 +0800</pubDate><description><![CDATA[在一个\(s\)个点的图中，存在\(s-n\)条边，使图中形成了\(n\)个连通块，第\(i\)个连通块中有\(a_i\)个点。
现在我们需要再连接\(n-1\)条边，使该图变成一棵树。对一种连边方案，设原图中第\(i\)个连通块连出了\(d_i\)条边，那么这棵树\(T\)的价值为：
\[\mathrm{val}(T) = \left(\prod_{i=1}^{n} {d_i}^m\right...]]></description><category></category></item><item><title><![CDATA[[WC2018]通道]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/113914539</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/113914539</guid><author>P2718756941</author><pubDate>Sat, 20 Feb 2021 23:20:00 +0800</pubDate><description><![CDATA[给定三棵带边权的树\(T1,T2,T3\)，大小都为\(n\)，要求\(max{dist1(i,j)+dist2(i,j)+dist3(i,j)}\)。\(n\leq 10^5\)。

考虑两棵树怎么做。有一种做法就是给\(T2\)每个点都新挂一个点，边权为\(T1\)中这个点到根的距离。然后枚举\(T1\)中的\(LCA\)统计路径，维护子树内任意两点在\(T2\)中距离的最大值和这两...]]></description><category></category></item><item><title><![CDATA[[CTSC2018]暴力写挂]]></title><link>https://blog.youkuaiyun.com/P2718756941/article/details/113914538</link><guid>https://blog.youkuaiyun.com/P2718756941/article/details/113914538</guid><author>P2718756941</author><pubDate>Sat, 20 Feb 2021 22:56:00 +0800</pubDate><description><![CDATA[给定两棵带边权的树\(T,T'\)，大小为\(n\)，要求\(max{dep[x]+dep[y]-dep[LCA(x,y)]-dep'[LCA'(x,y)]}\)。\(n\leq 366666\)。

首先式子可以化成\((dep[x]+dep[y]+dist(x,y))/2-dep'[LCA'(x,y)]\)，出现\(dist\)之后就可以考虑统计路径信息了。这一般就三种做法。
考虑长...]]></description><category></category></item></channel></rss>