摘要:
基本信息维护 struct Splay { int sz, fa, val, cnt, ch[2]; //sz 表示子树大小 //ch[0 / 1]表示左右两个儿子 //fa 表示父亲 //cnt 表示该点的值出现了几次 //val 节点的值 } t[N]; #define ls(p) (t[p]. 阅读全文
摘要:
题目 题面 大意就是给定若干字符串(输入方式需要用$trie$处理) 然后多组询问求第$x$个打印的串在第$y$个打印的串出现几次。 题解 先建出$AC$自动机 考虑第$x$个打印的串在第$y$个打印的串出现几次,即等价于有多少属于$y$的字符串的$fail$指针指向$x$的尾结点。 多对一不妨变为 阅读全文
摘要:
dp好题 题目链接 题目 题解 这里每个区间有且只有一个有斑点的奶牛,条件可已转换为最多有一个和最少有一个。 分情况讨论每一种条件 \(f_i = max(f_j) + 1 (l_i \leq j \leq r_i)\) 阅读全文
摘要:
欧拉函数 定义 $\phi(n)$ 表示$1 ~ n$中与$n$互质的数。 这里有个通项公式$\phi(n) = n \prod_{p|k} (1 \frac{1}{p})$ 证明可以先考虑 只有两个质因数的情况,再用数学归纳法去做。 性质 由通式得到 1.若$n$是质数,$\phi(n)=n 1$ 阅读全文
摘要:
A.维多利加挖水井 题意:有$n$个井中挖共$m$米,每个井挖$x$米,所需要的代价是$ax^3+bx^2+cx$,给定每个井的$a, b, c$系数,求最小代价。 数据范围:$n, m\leq 10^5$算法:优先队列/线段树 题解:因为$m \leq 10^5$,所以我们可以通过算每一米用哪一个 阅读全文