文章分类 -  学习笔记

摘要:1.数论函数 对于定义域 \(D\in N_{*}\) 的函数 \(f(x)\) ,称其为数论函数。 2.dirichlet卷积 对于两个数论函数 \(f(x)\) 和 \(g(x)\) ,定义他们的dirichlet卷积得到的结果 \(h(x)\) : \[h(x)=\sum_{d|x}f(d)\ 阅读全文
posted @ 2024-06-19 17:25 xiang_xiang 阅读(40) 评论(1) 推荐(0)
摘要:好厉害的东西。 线性基可以在 \(O(\log n)\) 的空间内,维护 \(n\) 个数的异或值。 线性基有如下性质: 原数列里的任何一个数都可以通过线性基里的数异或表示出来 线性基里任意一个子集的异或和都不为 \(0\) 一个数列可能有多个线性基,但是线性基里数的数量一定唯一,而且是满足性质一的 阅读全文
posted @ 2024-01-23 15:28 xiang_xiang 阅读(22) 评论(0) 推荐(0)
摘要:前置知识:匈牙利算法 luogu P3386 【模板】二分图最大匹配 P6113 【模板】一般图最大匹配 算法本身还是挺好理解的,主要是实现时细节巨多。 首先可以想到使用匈牙利算法。但是二分图保证了图中没有奇环,匈牙利的正确性才能保证。 否则匹配可能不合法。(可以手玩一下) 而对于一般图 我们有带花 阅读全文
posted @ 2023-12-25 08:56 xiang_xiang 阅读(97) 评论(0) 推荐(0)
摘要:参考资料:link 公平组合游戏 定义 游戏有两个人参与,二者轮流做出决策。且这两个人的决策都对自己最有利。 当有一人无法做出决策时游戏结束,无法做出决策的人输。无论二者如何做出决策,游戏可以在有限步内结束。 游戏中的同一个状态不可能多次抵达。且游戏不会有平局出现。 任意一个游戏者在某一确定状态可以 阅读全文
posted @ 2023-12-20 18:33 xiang_xiang 阅读(46) 评论(0) 推荐(0)
摘要:鲜花 410里一位玩原神的主播说过: "先学Splay,还能LCT。" 然而我学完了带旋treap和fhq-treap才来学splay 其实看来平衡树先学splay也是不错的选择。 准备 这部分很简单,相信都能看懂吧。 int val[N],son[N][2],fa[N],sum[N],cnt[N] 阅读全文
posted @ 2023-12-20 14:21 xiang_xiang 阅读(33) 评论(0) 推荐(0)
摘要:注:本文不会提及网络流基础内容,建议学完EK、dinic等最大流算法后观看 网络流: #include<bits/stdc++.h> using namespace std; #define ll long long #define inl inline #define int ll #define 阅读全文
posted @ 2023-12-02 15:54 xiang_xiang 阅读(29) 评论(0) 推荐(0)
摘要:FHQ-treap 类似带旋treap 每个点维护键值对 依靠随机维护的形态 但它不需要复杂的旋转操作 主要依靠暴力分裂和合并 代码极其好写 常数较小 仅次于带旋treap 但代码难度远小于带旋treap int siz[N],ls[N],rs[N],rd[N],val[M],cnt; 首先维护如下 阅读全文
posted @ 2023-12-01 11:30 xiang_xiang 阅读(42) 评论(0) 推荐(1)
摘要:exCRT用来求解方程组 \[\begin{cases}x\equiv a_1\pmod {b_1}\\x\equiv a_2\pmod {b_2}\\...\\x\equiv a_n\pmod {b_n}\end{cases} \]此时不需要满足 \(b_1\text{~}b_n\) 互质 解法: 阅读全文
posted @ 2023-11-24 17:28 xiang_xiang 阅读(178) 评论(0) 推荐(0)
摘要:左偏树:能在 \(O(\log n)\) 复杂度内完成单次合并的堆 我们定义 \(dis[x]\) 表示 \(x\) 子树内 \(x\) 和最近空节点的距离 空节点 \(dis[0]=-1\) 我们让 \(dis[ls[x]]>dis[rs[x]]\) 这样左子树一定比右子树大 \(dis[x]=d 阅读全文
posted @ 2023-11-23 20:12 xiang_xiang 阅读(27) 评论(0) 推荐(0)
摘要:点分治,能在 \(O(n\log n)\) 复杂度内处理所有树上路径 点分治基于分治思想:每次找到当前联通块的重心,统计经过重心的路径信息,然后对子树递归 重心保证了递归层数不超过 \(\log n\) 层 P3806 【模板】点分治 1 找重心 inl void getrt(int x,int f 阅读全文
posted @ 2023-11-23 09:20 xiang_xiang 阅读(28) 评论(0) 推荐(0)
摘要:cdq分治:可解决n维偏序 P3810 【模板】三维偏序(陌上花开) 题意:有 $ n $ 个元素,第 $ i $ 个元素有 $ a_i,b_i,c_i $ 三个属性,设 $ f(i) $ 表示满足 $ a_j \leq a_i $ 且 $ b_j \leq b_i $ 且 $ c_j \leq c 阅读全文
posted @ 2023-11-21 20:40 xiang_xiang 阅读(27) 评论(0) 推荐(0)
摘要:珂朵莉树,一种以 \(set\) 为基础,支持区间推平等多种操作的暴力数据结构 复杂度的保证需要数据随机,为 \(O(m\log n)\) 主要思想:把颜色相同的区间合并在一起 其他操作只要把头和尾拆开暴力求就行 虽然看起来复杂度是假的 但在随机数据下跑的飞快 建树 struct node{ int 阅读全文
posted @ 2023-11-06 15:30 xiang_xiang 阅读(52) 评论(0) 推荐(0)
摘要:首先树状数组大家都很熟悉: 可以进行单点加/区间查 单次复杂度 \(O(\log n)\) 而且我们会发现:在一个位置 \(p\) 跳 \(d\) 步后的位置存储的是原数组 \([p+1,p+d]\) 的区间和 (当然了要保证 \(d=2^k,p-1\) 是 \(d\) 的倍数) 看图很好理解: 这 阅读全文
posted @ 2023-11-03 20:00 xiang_xiang 阅读(247) 评论(0) 推荐(0)
摘要:欧拉函数 \(φ(n)=\sum\limits_{i=1}^{n}[\gcd(i,n)=1]\) 性质: \(\forall\ n=p^k,φ(n)=p^k-p^{k-1}\) (若 \(n\) 为质数,\(φ(n)=n-1\) ) 证明:对于每个不满足 \(\gcd(m,n)=1\) 的 \(m\ 阅读全文
posted @ 2023-11-02 18:30 xiang_xiang 阅读(54) 评论(0) 推荐(0)
摘要:首先是tarjan家族的祖传操作: 维护两个数组: dfn:进入该点的时间戳 low:能追溯到的最小时间 通用板子(不同用途会有细微不同): inl void tarjan(int x){ dfn[x]=low[x]=++dfs_clock; for(int i=head[x];i;i=nxt[i] 阅读全文
posted @ 2023-11-02 09:59 xiang_xiang 阅读(33) 评论(0) 推荐(1)
摘要:首先 bfs大家应该都会吧() 在求图中边权全部为1的最短路时 可以直接用bfs 复杂度 \(O(n+m)\) 优于 dijkstra \(O(m\log m)\) 那么 对于边权为0/1的边呢 可以考虑用01bfs解决 其实就是把 \(queue\) 换成 \(deque\) 遍历到边权为0的点q 阅读全文
posted @ 2023-10-18 16:37 xiang_xiang 阅读(43) 评论(0) 推荐(0)
摘要:貌似这玩意集训的时候讲过 但我完全不会 怎么会事呢(?) 01分数规划可用于求解如下问题: 给出 \(a_i ,b_i\) 求 \(\dfrac{\sum a_i\times s_i}{\sum b_i\times s_i} (s_i\in \text{{0,1}})\) 的最大值/最小值 考虑二分 阅读全文
posted @ 2023-10-12 11:38 xiang_xiang 阅读(22) 评论(0) 推荐(0)
摘要:换根dp:树形dp的一类 例:P3478 [POI2008] STA-Station 题目大意:给定一个 \(n\) 个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大。 一个显然的 \(n^2\) 暴力:以每个点为根 分别跑一遍dfs暴力统计 也显然会 T 飞 我们可以先以1为 阅读全文
posted @ 2023-10-10 10:47 xiang_xiang 阅读(11) 评论(0) 推荐(0)
摘要:CRT用来求解方程组 \[\begin{cases}x\equiv a_1\pmod {b_1}\\x\equiv a_2\pmod {b_2}\\...\\x\equiv a_n\pmod {b_n}\end{cases} \]需满足条件: \(b_1,b_2,...,b_n\) 互质 解法: 设 阅读全文
posted @ 2023-09-27 19:19 xiang_xiang 阅读(36) 评论(0) 推荐(0)
摘要:复习一下我本就不多的数论芝士() 1.取值数量 对于 \(\left\lfloor\dfrac{n}{i}\right\rfloor\) 最多只会有 \(2\sqrt{n}\) 种取值 1.当 \(1\le i \le\sqrt{n}\) 时 \(i\) 只有 \(\sqrt{n}\) 种取值 \( 阅读全文
posted @ 2023-09-27 10:45 xiang_xiang 阅读(27) 评论(0) 推荐(0)