摘要:普通平衡树 需要注意的点:1.哨兵节点提前插入 2.父亲节点注意一下 3.细心一点 #include <bits/stdc++.h> #define N 300009 #define lson s[x].ch[0] #define rson s[x].ch[1] #define setIO(s) f 阅读全文
posted @ 2020-07-21 14:48 EM-LGH 阅读(19) 评论(0) 推荐(0) 编辑
摘要:入门知识点 FFT/NTT 这里令 \(A(x)\) 表示多项式 \(A\) 在 \(x\) 处的取值,\(A[x]\) 表示多项式 \(A\) 的第 \(x\) 项. 卷积形如: 令 \(C[r]=\sum_{p,q}[(p+q)\mod n=r]A[p]\times B[q]\) 设 \(w^{ 阅读全文
posted @ 2019-11-18 20:54 EM-LGH 阅读(238) 评论(0) 推荐(0) 编辑
摘要:常见公式: 先给出几个重要的公式/结论: 一些常见的二项式反演: $f_n=\sum_{i=0}^{n}( 1)^i\binom{n}{i}g_i\Rightarrow g_n=\sum_{i=0}^{n}( 1)^i\binom{n}{i}f_i$ $f_{n}=\sum_{i=0}^{n}\bi 阅读全文
posted @ 2019-10-25 10:32 EM-LGH 阅读(122) 评论(1) 推荐(1) 编辑
摘要:求最大的 $2(a_{i}-a_{j}+y)|L$. 其中 $a_{i}-a_{j}$ 只可能有 $x$ 种结果. 这个显然可以用 FFT 来算可行性. 然后调和级数更新就可以了. FFT 中复数的运算什么的要注意一下,不要写错. 单位根是 $(cos(\frac{pi}{l}),i*sin(\fr 阅读全文
posted @ 2020-08-15 12:12 EM-LGH 阅读(70) 评论(0) 推荐(0) 编辑
摘要:考场的时候智障了,写了 6k+ 的树链剖分. 如果题目带修改的话可以用树链剖分来维护,但由于没有修改用一个前缀和其实就够了. 求 $\sum_{i=l}^{r} f(a,i)$ 可以写成两个前缀相减的形式. 然后我们就要求 $\sum_{i=0}^{r} f(a,i)$. 求这个的话用倍增讨论 $a 阅读全文
posted @ 2020-08-14 09:37 EM-LGH 阅读(51) 评论(0) 推荐(0) 编辑
摘要:看到这道题时没有什么思路,只会打暴力,而且数据范围比较有迷惑性,那基本就是分块了. 现在有两个暴力: 1.每次 $O(1)$ 更新边权,然后 $O(m)$ 暴力查询一个点的答案.2.每次将所有边排序,然后 $O(1)/O(\log n)$ 查询点权 上述两种做法中查询与更新的时间复杂度很不平衡,所以 阅读全文
posted @ 2020-08-12 20:30 EM-LGH 阅读(25) 评论(0) 推荐(0) 编辑
摘要:只会 80pts. 最裸的暴力(40pts) 令 $f[i][j]$ 表示当前 DP 到 $i$,划分成了 $j$ 段的最小值. 时间复杂度 $O(n^2)$ 一点优化(60 ~ 80pts) 有几个测点 $a[i]$ 很小,那么可以直接开一个桶 $s[i][j]$ 表示前缀异或和为 $i$,且划分 阅读全文
posted @ 2020-08-12 15:21 EM-LGH 阅读(60) 评论(0) 推荐(0) 编辑
摘要:首先,如果是一个 DAG 的话入度不为 0 的点肯定可以都选. 然后如果是一般图的话我们缩点,考虑对于一个强连通分量如何处理: 如果该强连通分量入度为 0 ,那么一定有一个点不能选,其他点都能选. 如果该强连通分量入读不为 0,那么肯定所有点都可以选. 由于缩完点后是一个 DAG 的形式,我们一定可 阅读全文
posted @ 2020-08-11 16:47 EM-LGH 阅读(17) 评论(0) 推荐(0) 编辑
摘要:感觉数学期望这里始终都没太学明白. 期望在任何时候都具有线性性,即 $E(a+b)=E(a)+E(b)$,这个式子任何时候都成立. 先考虑求 $x$,$x^2$. 令 $x1[i]$ 表示 $i$ 为 $1$ 向前的极长 $1$ 的期望长度,$x2[i],x3[i]$ 为 $x^2,x^3$ 的期望 阅读全文
posted @ 2020-08-11 14:09 EM-LGH 阅读(22) 评论(0) 推荐(0) 编辑
摘要:令 $x=\prod p_{i}^{a_{i}}$ 则 $f(x)=\prod p_{i}^{\frac{a_{i}}{2}}$ 也就是说 $f(x)$ 等于最大的 $y$ 满足 $y^2|f(x)$ $\sum_{i=1}^{n} f(i)$ 可化为 $\sum_{i=1}^{ \sqrt{n}} 阅读全文
posted @ 2020-08-11 13:56 EM-LGH 阅读(15) 评论(0) 推荐(0) 编辑
摘要:打表发现一个排列满足要求,当且仅当这个排列以被拆成两个 LIS(其中一个可以为空)考虑状压 DP:$f[S][i][0/1]$ 表示加进去数集 $S$,第二个 LIS 的最大值为 $i$,是否顶上界.我们拆分 $LIS$ 的方式是贪心地将较大的值分给第一个,剩下的分给第二个. 这个时间复杂度大概是 阅读全文
posted @ 2020-08-10 22:08 EM-LGH 阅读(30) 评论(0) 推荐(0) 编辑
摘要:令 $f[i]$ 表示考虑第 $1$ ~ $i$ 位的最小代价. 由于要求最大化 $k$,所以从高位向低位贪心. 判断的话就判一下当前二进制位选 1 的代价加上 $f[i-1]$ 是否小于等于 m. 如果可以选就贪心选 1. 这道题比较容易爆精度,long long 可能会乘爆,所以判一下两个 lo 阅读全文
posted @ 2020-08-10 15:14 EM-LGH 阅读(42) 评论(0) 推荐(0) 编辑
摘要:首先,肯定没有不合法情况(每条边的权值都赋值为 $1$ 就一定合法) 然后对于一条边 $(x,y)$ 来说,只可能有 3 种取值. 1. 取 $a[x]$ 2. 取 $a[y]$ 3. 取 $m$ 然后转化成这一步后就可以进行树形 DP 了. 令 $f[x][0],f[x][1]$ 分别表示以 $x 阅读全文
posted @ 2020-08-10 15:03 EM-LGH 阅读(63) 评论(0) 推荐(0) 编辑