摘要: ## 1. [数列分块入门1](https://loj.ac/p/6277) 区间修改,单点查询 点击查看代码 ```cpp #include #define int long long using namespace std; const int MAXN=5e4+5; int n,len,cnt 阅读全文
posted @ 2023-07-04 16:58 yzh_Error404 阅读(14) 评论(0) 推荐(0)
摘要: 1. 高斯消元 1. 线性方程 类似于如下的东西 $\begin{cases}a_{1,1}x_1+a_{1,2}x_2+\dots+a_{1,n}x_n=b_1\a_{2,1}x_{1}+a_{2,2}x_2+\dots+a_{2,n}x_n=b_2\\dots\a_{n,1}x_1+a_{n,2 阅读全文
posted @ 2022-11-12 18:58 yzh_Error404 阅读(32) 评论(0) 推荐(0)
摘要: 1. 点分治 现在有一棵大小为 $n$ 的树,要求出路径长度小于 $k$ 的路径。 每次可以通过选择重心的方式,将整棵树分为一堆不大于 $\dfrac{n}{2}$ 的子树,所以将整棵树分为大小为 $1$ 的子树需要 $\log n$ 次。 对于现在求出重心的子树,显然有三种情况可以组成一条路径。 阅读全文
posted @ 2022-07-25 22:21 yzh_Error404 阅读(27) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2022-07-10 18:58 yzh_Error404 阅读(1) 评论(0) 推荐(0)
摘要: 1. 数论分块 大概是求一堆与 \(\left\lfloor\dfrac{n}{i}\right\rfloor\) 有关的东西。 因为有很多 \(\left\lfloor\dfrac{n}{i}\right\rfloor\) 是相等的,所以可以在 \(\sqrt{n}\) 的复杂度中求和。 设当前区 阅读全文
posted @ 2022-06-23 22:04 yzh_Error404 阅读(31) 评论(0) 推荐(0)
摘要: 一般的DP的步骤 定义状态:找通解 关注题目需要的东西 状态确定,输出就确定 将状态的准确描述记录下来 寻找状态转移方程:描述一个子问题如何用更小的子问题得到 确定边界条件:最小的子问题或不满足状态转移方程的状态 一些小小的DP 例1. 摆花 先看一眼题面,容易设计状态。 设 $dp_{i,j}$ 阅读全文
posted @ 2022-04-30 08:35 yzh_Error404 阅读(26) 评论(1) 推荐(1)
摘要: 其实是重学Splay Splay是一棵平衡二叉树。 z z / 右旋 / y > x / \ < / \ x C 左旋 A y / \ / \ A B B C Splay规定,每次操作之后都会把这个点旋转到树根。 1.旋转操作 即$\tt{Splay}$函数 有如下几种情况: 父亲和儿子是同一边 z 阅读全文
posted @ 2022-03-29 22:41 yzh_Error404 阅读(15) 评论(0) 推荐(1)
摘要: 现在有一个多峰函数,要求最小值。 温度为 \(T\) ,代表下一次会走的步长,每次以一定的衰减系数减小。 设初始温度为 \(T_0\) ,终止温度为 \(T_E\) ,衰减系数为 \(0.999\) (意为每次 \(T=T\times 0.999\)) 。 现在随机选择一个点,设 \(f(新点)-f 阅读全文
posted @ 2022-03-24 21:26 yzh_Error404 阅读(17) 评论(0) 推荐(0)
摘要: 前置知识1:KMP 设 \(a\) 是长度为 \(n\) 的原串, \(b\) 是长度为 \(m\) 匹配串。 假设现在 \(a\) 为 ABCABCDDD \(b\) 为 ABCABB 。 匹配过程如下: ABCABCDDD ABCABB 前四位相同,但是第五位不同 ABCABCDDD ABCAB 阅读全文
posted @ 2022-03-13 22:47 yzh_Error404 阅读(13) 评论(0) 推荐(0)
摘要: 近期发现不会树状数组了,恶补一下。 先看看基本的树状数组支持什么: 可以 \(O(\log n)\) 求前缀和。 可以 \(O(\log n)\) 修改某个数。 1.二进制拆分 实际上二进制拆分只是一种思想。 假如现在有一个数 \(x\) 。 满足 \(x=2^{i_k} + 2^{i_{k-1}} 阅读全文
posted @ 2022-03-09 22:17 yzh_Error404 阅读(28) 评论(0) 推荐(1)