<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Recalling_Clouds的博客]]></title><description><![CDATA[千般荒凉，以此为梦；万里蹀躞，以此为归。]]></description><link>https://blog.youkuaiyun.com/PythonYX</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PythonYX]]></copyright><item><title><![CDATA[斯特林的试炼]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122868780</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122868780</guid><author>PythonYX</author><pubDate>Thu, 10 Feb 2022 20:34:18 +0800</pubDate><description><![CDATA[下面提到的内容均属组合数学范畴。

前言
由于式子较多，为增强直观性，笔者将一改以往的笔风，用 (nm)\displaystyle\binom{n}{m}(mn​) 表示组合数 C⁡nm\operatorname{C}_n^mCnm​。同理，笔者分别会用 [nk]\begin{bmatrix}n \\ k\end{bmatrix}[nk​] 和 {nk}\begin{Bmatrix}n \\ k\end{Bmatrix}{nk​} 表示第一类斯特林数 s(n,k)s(n, k)s(n,k) 和第二类斯特林数]]></description><category></category></item><item><title><![CDATA[多项式全家桶]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122655607</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122655607</guid><author>PythonYX</author><pubDate>Sun, 23 Jan 2022 19:16:38 +0800</pubDate><description><![CDATA[下面的所有知识均属多项式范畴。

前言
本文略去多项式的定义，毕竟初中数学都讲过。
本文会出现一些可能没有见过的表达：

对于一个关于 xxx 的多项式 f(x)f(x)f(x)，有时也称其最高次项次数为 f(x)f(x)f(x) 的度数。
多项式同样定义了四则运算，包括常数与多项式的四则运算和多项式之间的四则运算，同时也衍生出了同余符号 ≡\equiv≡、对数函数 ln⁡(f(x))\ln(f(x))ln(f(x))，指数函数 exp⁡(f(x))\exp(f(x))exp(f(x)) 等等。
下文一般采]]></description><category></category></item><item><title><![CDATA[线性空间和OI中的线性基]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122611451</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122611451</guid><author>PythonYX</author><pubDate>Thu, 20 Jan 2022 22:26:08 +0800</pubDate><description><![CDATA[下面的所有知识均属线性代数范畴。

基础知识

线性空间

指关于向量加法和标量乘法两个运算封闭的向量集。

表出

如果若干向量 a1,a2,⋯ ,aka_1,a_2,\cdots, a_ka1​,a2​,⋯,ak​，能够通过向量加法和标量乘法生成向量 bbb，即 v1a1+v2a2+⋯vkak=bv_1a_1 + v_2a_2 + \cdots v_ka_k = bv1​a1​+v2​a2​+⋯vk​ak​=b（vvv 为标量），则称向量 bbb 能够被向量 a1,a2,⋯ ,aka_1,a_2,\cd]]></description><category></category></item><item><title><![CDATA[博弈论之SG函数]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122611422</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122611422</guid><author>PythonYX</author><pubDate>Thu, 20 Jan 2022 22:25:33 +0800</pubDate><description><![CDATA[下面的所有知识均属博弈论范畴。

SG⁡\operatorname{SG}SG 函数
Nim⁡\operatorname{Nim}Nim 博弈
在介绍 SG⁡\operatorname{SG}SG 函数前，我们先介绍一种经典的博弈——Nim⁡\operatorname{Nim}Nim 博弈，并从中获得一定的启发。


问题：有 nnn 堆石子，第 iii 堆石子里面有 AiA_iAi​ 枚石子，每人每次可从任意且至多一堆石子里取出任意多枚石子扔掉，可以取完，不能不取，最后无石子可取的人判负。假如甲是先手，且]]></description><category></category></item><item><title><![CDATA[整除和同余相关理论]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122611415</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122611415</guid><author>PythonYX</author><pubDate>Thu, 20 Jan 2022 22:23:08 +0800</pubDate><description><![CDATA[下面的所有知识均属数论范畴。

LucasLucasLucas 定理
当 ppp 为质数时有：
Cnm mod p=Cn/pm/p∗Cn&nbsp; mod &nbsp;pm&nbsp; mod &nbsp;p mod p
C_n^m \bmod p= C_{n / p}^{m / p} * C_{n~\bmod~p}^{m~\bmod~p} \bmod p
Cnm​modp=Cn/pm/p​∗Cn&nbsp;mod&nbsp;pm&nbsp;mod&nbsp;p​modp
代码就不贴了 （实际上是懒）。
]]></description><category></category></item><item><title><![CDATA[函数与表达式的反演变换]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122611408</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122611408</guid><author>PythonYX</author><pubDate>Thu, 20 Jan 2022 22:22:20 +0800</pubDate><description><![CDATA[下面提到的所有知识不一定同属一个范畴，但是它们的思想和作用相似，所以将其归为一篇文章。

莫比乌斯反演
请先学习狄利克雷卷积，否则您会一脸懵逼。
一般式：
F(n)=∑d∣nG(d)→G(n)=∑d∣nμ(nd)F(d)F(n)=∑n∣dG(d)→G(n)=∑n∣dμ(dn)F(d)
\begin{aligned}
F(n) = \sum_{d | n} G(d) \rightarrow G(n) = \sum_{d | n} \mu(\frac{n}{d}) F(d)
\\
F(n) = \sum_{n ]]></description><category></category></item><item><title><![CDATA[积性函数的筛法]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122611397</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122611397</guid><author>PythonYX</author><pubDate>Thu, 20 Jan 2022 22:21:31 +0800</pubDate><description><![CDATA[下面的所有知识均属数论范畴。

欧拉筛
可以做到 O(n)O(n)O(n) 的线性复杂度！
可以筛所有的积性函数（即对于所有的 a⊥ba \perp ba⊥b 都满足 f(ab)=f(a)∗f(b)f(ab) = f(a)*f(b)f(ab)=f(a)∗f(b) 的函数)。
举两个例子：
线性筛欧拉函数：
inline void Sieve()
{
    phi[1] = 1;
    for(register int i = 2; i &lt;= MAXN; i++)	//MAXN表示值域
    {
]]></description><category></category></item><item><title><![CDATA[OI数学小记]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122590571</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122590571</guid><author>PythonYX</author><pubDate>Wed, 19 Jan 2022 21:48:12 +0800</pubDate><description><![CDATA[数论

积性函数的筛法
整除和同余相关理论

多项式

多项式全家桶

组合数学

斯特林的试炼

博弈论

博弈论之SG函数

线性代数

线性空间和OI中的线性基

杂项
注：每篇文章中的内容不一定属于同一个范畴，但是思想和作用相似。

函数与表达式的反演变换

To&nbsp;Be&nbsp;Continued⋯⋯\mathit{To~Be~Continued\cdots\cdots}To&nbsp;Be&nbsp;Continued⋯⋯

...]]></description><category></category></item><item><title><![CDATA[Segment Tree Beats 小记]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122502876</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122502876</guid><author>PythonYX</author><pubDate>Fri, 14 Jan 2022 21:43:29 +0800</pubDate><description><![CDATA[就拿洛谷的模板题来举例吧。

我们先简化一下各个操作的定义：
操作 111：区间加 kkk；
操作 222：区间同 vvv 取 min⁡\minmin；
操作 333：区间求和；
操作 444：区间求最大值；
操作 555：区间求最大的历史最大值。
其中操作 222 和 555 是比较复杂的，所以我们需要用到吉老师发明的线段树——Segment&nbsp;Tree&nbsp;BeatsSegment~Tree~BeatsSegment&nbsp;Tree&nbsp;Beats。
（注：所有的操作通过势能分析]]></description><category></category></item><item><title><![CDATA[P4224 [清华集训2017]简单数据结构 题解]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122482596</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122482596</guid><author>PythonYX</author><pubDate>Thu, 13 Jan 2022 21:01:01 +0800</pubDate><description><![CDATA[（本文是基于队爷 @s_r_f 所写题解的完善和补充）
可以发现，如果我们暴力地枚举一个数的因数或倍数，时间复杂度是可接受的。
对于前者，单次复杂度为 O(n)O(\sqrt n)O(n​)；对于后者，由于题目保证了 C≤10C \leq 10C≤10，所以单次的均摊复杂度应为调和级数 O(ln⁡n)O(\ln n)O(lnn)。
所以，我们可以考虑直接模拟题意中的操作。

首先，我们设 fif_ifi​ 为以 iii 开头的最长上升倍数子序列的长度。同时，为了方便统计答案的第二项，我们再设一个 fcnti]]></description><category></category></item><item><title><![CDATA[动态DP 学习笔记]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122453216</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122453216</guid><author>PythonYX</author><pubDate>Wed, 12 Jan 2022 14:41:42 +0800</pubDate><description><![CDATA[前言
温馨提示：本文将会讲述树链剖分（会提到 LCT 的做法）和全局平衡二叉树两种方法，所以强烈建议两种方法都想学习的读者仔细阅读完本文！（真不要脸）

动态 DP，它的模板题之所以和动态树分治放在一起，是因为它们有两个共同特点：

它们在没有修改时都是用于维护树上信息的
它们都是带修改的，即动态的

所以，动态 DP 一般是用于解决动态维护树上信息的问题
这类问题最初只是可爱的树形 DP，却被丧心病狂的出题人套上了修改操作，褪去了原本善良的模样

那么，在学习动态 DP 之前，你需要掌握以下前置知识：

]]></description><category></category></item><item><title><![CDATA[平衡树学习笔记]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122453116</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122453116</guid><author>PythonYX</author><pubDate>Wed, 12 Jan 2022 14:39:25 +0800</pubDate><description><![CDATA[平衡树学不会的，这辈子都学不会的
一、前置芝士
平衡树本质上看是一种 BST（二叉排序树）
而 BST 其实是一种非常容易理解的良心数据结构
BST 保证了这颗树的中序遍历是单调上升的
举个例子：

BST 支持插入、删除以及查询等多种操作，我们一一来讲述


插入

插入很简单
我们知道二叉排序树有一个性质：对于每一个结点，设它的点权为 valvalval，那么它的左子树中的每一个点权值必定小于 valvalval，它的右子树中的每一个点权值必定大于 valvalval
插入时我们对于当前访问到的点的权值]]></description><category></category></item><item><title><![CDATA[KD - Tree 学习笔记]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122453044</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122453044</guid><author>PythonYX</author><pubDate>Wed, 12 Jan 2022 14:36:00 +0800</pubDate><description><![CDATA[（这本是 P4169 的一篇无法提交的题解）
而 KD - Tree 本身在竞赛中的应用就比较少，又几乎不作为正解出现，所以这里只拿一道例题来举例讲解
题意：
给定一个二维点集 S ，每次有两种操作：
操作 1 ： 往点集 S 中加入一个点
操作 2 ： 给定一个点 (x,y)(x, y)(x,y) ，询问该点到点集 S 中每个点曼哈顿距离的最小值
两点 (x1,y1),(x2,y2)(x_1, y_1), (x_2, y_2)(x1​,y1​),(x2​,y2​)  之间的曼哈顿距离定义为：
∣x1−x2]]></description><category></category></item><item><title><![CDATA[NOIP2021 游记]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122452890</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122452890</guid><author>PythonYX</author><pubDate>Wed, 12 Jan 2022 14:30:17 +0800</pubDate><description><![CDATA[Day -?
考了无数次模拟，名次有些起伏，有时候会垫底，有时候又会冲到前面去
不过还没有爆过零，这是好的
帅帅还布置了两份线段树进阶的题单，我只刷穿了一份，其中还咕掉一道线段树模拟费用流的毒瘤题，另一份根本没做，我是屑实锤了
不过势能线段树终于弄懂了，这也是好的

停课中期发现对面高一的教学楼有大动静，去问同学发现分竞赛班了
这个时候帅帅走进来说信息组只会留 12 个人，也就是说要刷掉两个人
（停课之前帅帅似乎说我们都可以留竞赛组）
完了完了要退役了 /kk
不过 OI 可是我曾经的信仰啊，我不能退组，退]]></description><category></category></item><item><title><![CDATA[P3736 [HAOI2016]字符合并 题解]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122448377</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122448377</guid><author>PythonYX</author><pubDate>Wed, 12 Jan 2022 10:42:43 +0800</pubDate><description><![CDATA[发现 2≤k≤82 \leq k \leq 82≤k≤8，于是可以考虑状压 DP。
我们可以设 f[l][r][S]f[l][r][S]f[l][r][S] 表示区间 [l,r][l, r][l,r] 经过若干次操作变成 01 串 SSS 的最大分数。
基于贪心的思想，我们一定要使得整个 01 串最终不可操作，所以 01 串 SSS 的长度不超过 k−1k - 1k−1，否则 SSS 可以继续进行合并，直到其长度小于等于 k−1k - 1k−1。
那么我们有一个很暴力的做法：
对于 l,rl, rl,r，枚]]></description><category></category></item><item><title><![CDATA[CF721C Journey 题解]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122448316</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122448316</guid><author>PythonYX</author><pubDate>Wed, 12 Jan 2022 10:40:59 +0800</pubDate><description><![CDATA[首先可以发现，本题实际上类似一个 DAG 上的背包问题。
那么我们有一个很显然的做法：
设 f[v][t]f[v][t]f[v][t] 表示从点 111 到达点 vvv，路径长度为 ttt 的所有方案中的最大点数，转移方程平凡，这里略去。
但是 T≤109T \leq 10^9T≤109 ，这样做空间会炸飞。
可喜的是，答案一定是小于等于 nnn 的，同时 n≤5000n \leq 5000n≤5000，这启发我们可以考虑 O(n2)O(n^2)O(n2) 空间的算法。
我们换个角度思考：既然枚举距离求点的]]></description><category></category></item><item><title><![CDATA[AT4438 [AGC028D] Chords 题解]]></title><link>https://blog.youkuaiyun.com/PythonYX/article/details/122448181</link><guid>https://blog.youkuaiyun.com/PythonYX/article/details/122448181</guid><author>PythonYX</author><pubDate>Wed, 12 Jan 2022 10:36:57 +0800</pubDate><description><![CDATA[可以发现，如果把环断开成为一条链，那么线段的交实际上就类似于区间的交。
所以，我们可以考虑用连通块 SSS 中涉及到的编号最小的点 LLL 和编号最大的点 RRR 所构成的区间 [L,R][L, R][L,R] 来表示 SSS。
下文我们称 [L,R][L, R][L,R] 为连通块 SSS 的表示区间。

那么对于一个已经连好边的图，我们可以发现一个性质：

对于两个不同的连通块，它们的表示区间要么是包含关系，要么交集为空。

这个性质是有利于统计的，因为我们不必考虑方案中产生的交区间对不同连通块的影响了]]></description><category></category></item></channel></rss>