摘要:
"题目" 题目大意 对于所有的整数$k \in [1,n]$,求叶子结点有$k$个的二叉树个数,满足每个非叶子结点都有两个儿子,并且对于每个叶子结点,从根节点到它经过的向左的边数少于等于$m$个。 思考历程 很容易推出这样的$DP$: 设$f_{i,j}$表示$m=i$且$n=j$的答案是多少。 $ 阅读全文
摘要:
析合树是一种解决连续段问题的数据结构。 比如这样的一个问题:给你一个$1$到$n$的排列,然后有一堆询问,每次询问区间$[l,r]$,问包含$[l,r]$的最小连续段是什么。 也就是 "这题" 所谓的连续段,就是满足$max_{l..r} min_{l..r}+1=r l+1$的连续段。 推荐这篇: 阅读全文
摘要:
"题目" 题目大意 有一个字符串$p$。一开始字符串$s$为空串。 接下来进行若干次操作:在$s$的某个空隙中插入$p$。 给出操作后的$s$,问长度最小的$p$。 思考历程 感觉是一道神仙题。 于是考虑暴力。 在$s$前面找连续的最长串,作为$p$的前缀。显然这个串中只出现过一次$s_1$ 同样地 阅读全文
摘要:
"题目" 题目大意自己看题去…… 正解 比赛时在刚第二题,所以根本没有时间思考…… 模型可以转化为从$(x_1,x_2,..,x_n)$出发到$(1,1)$的方案数模$2$。 方案数就用有重复的排列公式:$\frac{(\sum{x_i})!}{\prod x_i!}$ 考虑它的奇偶性。显然可以将上 阅读全文
摘要:
"题目" 题目大意 给你一颗带点权的树,后面有许多个询问$(u,v)$,问: $$\sum_{i=0}^{k 1}dist(u,d_i) \ or \ a_{d_i}$$ $d$为$u$到$v$路径上的点。 思考历程&正解 其实我只会我的方法……题解说得太简略了,集训队大佬Infleaking的方法 阅读全文
摘要:
"题目" 题目大意 给你个非负整数数列$a$,每次等概率选择大于零的$a_i$,使其减$1$。 问$a_1$被减到$0$的时候期望经过多少次操作。 思考历程 对于这题的暴力做法,显然可以状态压缩吧…… 然后我突然意识到,实际上我们将题目转化成以下模型: 有$n$种颜色,第$i$种颜色的小球有$a_i 阅读全文
摘要:
"题目" 题目大意 给你个平面上的一堆点,问序列${p_i}$的个数。 满足$y_{p_{i 1}} y_{p_i}$并且$x_{p_i}$在$x_{p_i 1}$和$x_{p_i 2}$之间。 正解 我不知道为什么我的树状数组打挂了……尽管不一定能AC,但是WA了…… 这题的正解有很多,最为传奇的 阅读全文
摘要:
"题目" 题目大意 题目化简一下,就变成: 构造一个$01$数列$A$,使得$D=\sum A_iA_jB_{i,j} \sum A_iC_i$最大。 问这个最大的$D$是多少。 正解 其实这是一个网络流的二元关系问题…… 如果$A_i$为$1$,则会有$ C_i$的贡献。 如果$A_i$和$A_j 阅读全文
摘要:
"题目" 题目大意 给你一棵带点权的树,求将树变成一堆不相交的链,而且这些链的权值和非负的方案数。 正解 显然这道题是个$DP$。 首先求个前缀和$sum$。 为了后面讲述方便,我这样设:$f_{i,j}$表示以$i$为根的子树,其中某条链从$x$伸出到$i$的方案数,而且$sum_x=j$。 还有 阅读全文
摘要:
"题目" 题目大意 也懒得解释题目大意了…… 正解 正解居然是$FFT$? 不要看题目的那个式子这么长,也不要在那个式子上下手。 其实我们会发现,不同的$(x_i x_j,y_i y_j,z_i z_j)$并不多。 如果我们求出每个三元组的出现次数,后面的就好做了。 那怎么求呢? 祭出我们的大杀器— 阅读全文