摘要:
"传送门" 好像大家都是拿这道题作为树上启发式合并的板子题。 树上启发式合并,英文是 dsu on tree,感觉还是中文的说法更准确,因为这个算法和并查集(dsu)没有任何关系。一般用来求解有根树的所有子树的统计问题。 根据轻重儿子的各种性质,可以证明这个算法的时间复杂度为 $O(nlogn)$, 阅读全文
摘要:
"传送门" 题意 给一颗树,指定一个点,从这个点开始染色,每次只能在已染色点旁边染色,问从每个点开始染色分别能产生多少种染色序列。 题解 这个问题其实就是问一颗有根树的拓扑序列个数。 其实我们知道不是树的有向无环图的拓扑序列个数是个np问题,但是树的拓扑序列个数是一个可解的问题。$n$ 的全排列个数 阅读全文
摘要:
"传送门" 题解 二维凸包模板题。 使用简单迅速的 Graham Scan 算法可以直接求出整个凸包。算法流程: 选出所有点中 y 坐标最小的点,作为原点,建立极坐标系。 将其余点以极角排序,极角相同看长度 将基准点与第一点入栈,依次扫描之后的点,设栈顶点为 $b$,栈顶之下一个点为 $a$,当前扫 阅读全文
摘要:
"传送门" 题意 统计从 $00...0$ 到 $99...9$ 这 $10^n 1$ 个数中出现的块长为 $1,2,...,n$ 的块的个数各为多少。 题解 这道题不算难,昨晚没做出来实在是太蠢了,得好好反思。 对于长度 $i$ 的块,直接考虑处于不同位置时对答案的贡献。 如果 $n=i$,显然为 阅读全文
摘要:
"传送门" 题意 计算 $\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)$ 题解 $$ \begin{aligned}Ans=\sum_{i=1}^{N}\sum_{j=1}^{M}lcm(i,j)&=\sum_{i=1}^{N}\sum_{j=1}^{M}\frac{ij 阅读全文
摘要:
"传送门" 题意 定义一个字符串的值为字符串中不同字符的种数,求一个字符串的所有回文子串的值的和。 题解 算是回文自动机的板子题,可惜之前做的时候没学,直接构建回文树,dfs统计就行了。 写这个还是为了完善一下回文自动机的模板,之前写的那个模板不好用。 代码 阅读全文
摘要:
"传送门" 题解 和前一道模板题类似,先设 $f(d)$,再得 $F(n)$,然后反演 $f(n)$。因为最终答案: $$ Ans=\sum_{n\in prime}f(n)=\sum_{n\in prime}\sum_{t=1}^{\big\lfloor\frac{N}{n}\big\rfloor 阅读全文
摘要:
"传送门" 题解 这算是莫比乌斯反演的最简模板了吧。 首先手推公式,设: $$ f(d)=\sum_{x=1}^{N}\sum_{y=1}^{M}[gcd(x,y)=d]\qquad (N\le M) $$ 根据 $F(n)=\sum_{n|d}f(d)$,得: $$ F(n)=\bigg\lflo 阅读全文
摘要:
这套题真的有点传奇了,考了两次。虽然银川赛区名声不行,但这套题质量还是过硬的,所以来补一下,还是收获颇丰。 A. Maximum Element In A Stack 题意 实现一个支持查询当前栈中元素的最大值的栈。 题解 最大栈的模板题,相当于在原始栈的基础上再开一个栈存前缀最大值,pop操作与原 阅读全文
摘要:
"传送门" 题意 给一颗树,每个节点有 $1$ 或 $ 1$ 两种权值,问对于每一个点,包含它的联通块权值最大是多少。 题解 第一次写换根DP,其实并不难。相反 E 题记忆化搜索没想出来是真的煞笔。 就是一个最板的换根DP,先把 $1$ 视作根节点,算出每个点的最大子树。 然后再进行树形DP,每次向 阅读全文