摘要:
简述题意 给一颗 $n$ 个点的树,每个点有点权 $v_i$。有 $q$ 次询问,每次给出 $(u,v)$,从 $u$ 开始,每步只能走不超过 $k$ 条边,走一步的代价是终点的点权,$v_u$ 也要算在移动的代价中,问 $u\rightarrow v$ 的最小代价。 数据范围:$1\le n,q\ 阅读全文
摘要:
简述题意 有数列 $a_1,a_2\ldots a_n$ 和 $b_1,b_2\ldots b_m$,每次给出区间 $[l_1,r_1]$ 和 $[l_2,r_2]$,甲选择 $x\in [l_1,r_1]\cap\mathbb{Z}$,乙选择 $y\in[l_2,r_2]\cap\mathbb{Z 阅读全文
摘要:
简述题意 一张 $n$ 个点,$m$ 条边的有向图,有 $q$ 次操作,每次删掉一条已有的边,恢复一条被删的边,删掉一个点的所有入边,回复一个点的所有入边。每次操作后询问此时图是不是一个内向基环树森林。 数据范围:$1\le n,m,q\le 5\times10^5$。 解题思路 15pts 我会 阅读全文
摘要:
交换求和号 交换求和号是 OI 中常用的数学技巧…… 考虑(这里 $\bigcup B(i)$ 表示把所有 $B(i)$ 拼接起来的集合,而不是集合的并) $$ \sum_{i\in A}\sum_{j\in\bigcup_{i\in A} B(i)}f(i,j) $$ 我们期望得到交换求和号后的形 阅读全文
摘要:
取模优化 常见的做法是加法取模转减法,或者积累数据之后一次性取模,不过这些没有真正的加快取模运算,只是减少了取模的运算次数。 真正想要把取模做到和加减一样快($O(1)$)已经被证明是不行的了,不过我们可以用 $O(1)$ 次整除和取模,把对于常数取模优化到 $O(1)$。(这里认为乘法是 $O(1 阅读全文
摘要:
DS 当个表格放在这里,表示 $ds$ 的使用范围,有更好的做法就来吊打我吧 下文不区分 $n,m$ Problem 区间加,单点查 差分之后转为下面的情况 单点加,区间和 $bit$ 做到小常数 $\log$ 单点加的基本都可以用 $bit$,不过需要倍增,比如全局 $rank$ 也是可以做的 区 阅读全文
摘要:
多项式全家桶 然而并没有多点求值,快速插值,转下降/上升幂,复合,复合逆 疯狂多项式,v我50 namespace efX_poly { const int maxlen=(1<<23)+1,maxSqrt=1e5+1; inline int add(int x,int y,int m) { x+= 阅读全文
摘要:
网络流复杂度 感觉这个证明写的人好少啊...... 最大流 FF 这个没有什么好说的,每次暴力找增广路答案是单增的,每次增广的复杂度是 $O(|E|)$ 的,所以总复杂度是 $O(|E||F|)$,其中 $|F|$ 表示最大流的大小,边权相同的完全图就可以卡到这个级别,但是我不知道有没有更满的 EK 阅读全文
摘要:
binary trick 几乎没用的东西 学了 $word RAM model$,不过感觉还是直接分块预处理的方法(比较)快,而且好打 先直接上代码 namespace binary_trick {//almost in AC0 typedef unsigned int u32; typedef u 阅读全文