自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Recalling_Clouds的博客

千般荒凉,以此为梦;万里蹀躞,以此为归。

  • 博客(17)
  • 收藏
  • 关注

原创 斯特林的试炼

下面提到的内容均属组合数学范畴。前言由于式子较多,为增强直观性,笔者将一改以往的笔风,用 (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) 和第二类斯特林数

2022-02-10 20:34:18 403

原创 多项式全家桶

下面的所有知识均属多项式范畴。前言本文略去多项式的定义,毕竟初中数学都讲过。本文会出现一些可能没有见过的表达:对于一个关于 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)) 等等。下文一般采

2022-01-23 19:16:38 706

原创 线性空间和OI中的线性基

下面的所有知识均属线性代数范畴。基础知识线性空间指关于向量加法和标量乘法两个运算封闭的向量集。表出如果若干向量 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

2022-01-20 22:26:08 684

原创 博弈论之SG函数

下面的所有知识均属博弈论范畴。SG⁡\operatorname{SG}SG 函数Nim⁡\operatorname{Nim}Nim 博弈在介绍 SG⁡\operatorname{SG}SG 函数前,我们先介绍一种经典的博弈——Nim⁡\operatorname{Nim}Nim 博弈,并从中获得一定的启发。问题:有 nnn 堆石子,第 iii 堆石子里面有 AiA_iAi​ 枚石子,每人每次可从任意且至多一堆石子里取出任意多枚石子扔掉,可以取完,不能不取,最后无石子可取的人判负。假如甲是先手,且

2022-01-20 22:25:33 1029

原创 整除和同余相关理论

下面的所有知识均属数论范畴。LucasLucasLucas 定理当 ppp 为质数时有:Cnm mod p=Cn/pm/p∗Cn  mod  pm  mod  p mod pC_n^m \bmod p= C_{n / p}^{m / p} * C_{n~\bmod~p}^{m~\bmod~p} \bmod pCnm​modp=Cn/pm/p​∗Cn mod pm mod p​modp代码就不贴了 (实际上是懒)。

2022-01-20 22:23:08 465

原创 函数与表达式的反演变换

下面提到的所有知识不一定同属一个范畴,但是它们的思想和作用相似,所以将其归为一篇文章。莫比乌斯反演请先学习狄利克雷卷积,否则您会一脸懵逼。一般式: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

2022-01-20 22:22:20 888

原创 积性函数的筛法

下面的所有知识均属数论范畴。欧拉筛可以做到 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 <= MAXN; i++) //MAXN表示值域 {

2022-01-20 22:21:31 169

原创 OI数学小记

数论积性函数的筛法整除和同余相关理论多项式多项式全家桶组合数学斯特林的试炼博弈论博弈论之SG函数线性代数线性空间和OI中的线性基杂项注:每篇文章中的内容不一定属于同一个范畴,但是思想和作用相似。函数与表达式的反演变换To Be Continued⋯⋯\mathit{To~Be~Continued\cdots\cdots}To Be Continued⋯⋯...

2022-01-19 21:48:12 111

原创 Segment Tree Beats 小记

就拿洛谷的模板题来举例吧。我们先简化一下各个操作的定义:操作 111:区间加 kkk;操作 222:区间同 vvv 取 min⁡\minmin;操作 333:区间求和;操作 444:区间求最大值;操作 555:区间求最大的历史最大值。其中操作 222 和 555 是比较复杂的,所以我们需要用到吉老师发明的线段树——Segment Tree BeatsSegment~Tree~BeatsSegment Tree Beats。(注:所有的操作通过势能分析

2022-01-14 21:43:29 215

原创 P4224 [清华集训2017]简单数据结构 题解

(本文是基于队爷 @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

2022-01-13 21:01:01 149

原创 动态DP 学习笔记

前言温馨提示:本文将会讲述树链剖分(会提到 LCT 的做法)和全局平衡二叉树两种方法,所以强烈建议两种方法都想学习的读者仔细阅读完本文!(真不要脸)动态 DP,它的模板题之所以和动态树分治放在一起,是因为它们有两个共同特点:它们在没有修改时都是用于维护树上信息的它们都是带修改的,即动态的所以,动态 DP 一般是用于解决动态维护树上信息的问题这类问题最初只是可爱的树形 DP,却被丧心病狂的出题人套上了修改操作,褪去了原本善良的模样那么,在学习动态 DP 之前,你需要掌握以下前置知识:

2022-01-12 14:41:42 250

原创 平衡树学习笔记

平衡树学不会的,这辈子都学不会的一、前置芝士平衡树本质上看是一种 BST(二叉排序树)而 BST 其实是一种非常容易理解的良心数据结构BST 保证了这颗树的中序遍历是单调上升的举个例子:BST 支持插入、删除以及查询等多种操作,我们一一来讲述插入插入很简单我们知道二叉排序树有一个性质:对于每一个结点,设它的点权为 valvalval,那么它的左子树中的每一个点权值必定小于 valvalval,它的右子树中的每一个点权值必定大于 valvalval插入时我们对于当前访问到的点的权值

2022-01-12 14:39:25 240

原创 KD - Tree 学习笔记

(这本是 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

2022-01-12 14:36:00 201

原创 NOIP2021 游记

Day -?考了无数次模拟,名次有些起伏,有时候会垫底,有时候又会冲到前面去不过还没有爆过零,这是好的帅帅还布置了两份线段树进阶的题单,我只刷穿了一份,其中还咕掉一道线段树模拟费用流的毒瘤题,另一份根本没做,我是屑实锤了不过势能线段树终于弄懂了,这也是好的停课中期发现对面高一的教学楼有大动静,去问同学发现分竞赛班了这个时候帅帅走进来说信息组只会留 12 个人,也就是说要刷掉两个人(停课之前帅帅似乎说我们都可以留竞赛组)完了完了要退役了 /kk不过 OI 可是我曾经的信仰啊,我不能退组,退

2022-01-12 14:30:17 2243

原创 P3736 [HAOI2016]字符合并 题解

发现 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,枚

2022-01-12 10:42:43 174

原创 CF721C Journey 题解

首先可以发现,本题实际上类似一个 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) 空间的算法。我们换个角度思考:既然枚举距离求点的

2022-01-12 10:40:59 175

原创 AT4438 [AGC028D] Chords 题解

可以发现,如果把环断开成为一条链,那么线段的交实际上就类似于区间的交。所以,我们可以考虑用连通块 SSS 中涉及到的编号最小的点 LLL 和编号最大的点 RRR 所构成的区间 [L,R][L, R][L,R] 来表示 SSS。下文我们称 [L,R][L, R][L,R] 为连通块 SSS 的表示区间。那么对于一个已经连好边的图,我们可以发现一个性质:对于两个不同的连通块,它们的表示区间要么是包含关系,要么交集为空。这个性质是有利于统计的,因为我们不必考虑方案中产生的交区间对不同连通块的影响了

2022-01-12 10:36:57 99

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除