http://218.5.5.242:9019/problem/364。
假如只有一个点被占领了,那么我们以这个点为根,可以列出以下的 DP
方程:
$$
f_u=\min_{s\in son_u}{{f_s+\sum_{v\in son_v-s}[v\le s]}}
$$
通过排序,就可以做到
设
http://218.5.5.242:9019/problem/365。
我们对每条边建一个虚点;最小生成树的条件相当于每条非树边都要大于环上的每条边;我们把所有的大小关系都连边,这张图会是一张二分图,从左部的
问题就转换为了,求这张图的拓扑序个数以及拓扑序位置和。设 FMT
求出。这个做法复杂度巨大,不可过。
我们考虑把边反过来,这样就能去掉第二维;于是可以得到:
$$
f_S=\sum_{u\in S}f_{S-u}\cdot\pmatrix{|S|+m-n-g_{U-S}\g_{U-S-u}-g_{S-U}}\cdot(g_{U-S-u}-g_{S-U})!\
h_S=\sum_{u\in S}h_{S-u}\cdot\pmatrix{|S|+m-n-g_{U-S}+1\g_{U-S-u}-g_{S-U}+1}\cdot(g_{U-S-u}-g_{S-U}+1)!\\ \ \ \ \ \ \ \ \ \ \ \ \ +f_{S-u}\cdot\pmatrix{|S|+m-n-g_{U-S}\g_{U-S-u}-g_{S-U}}\cdot(g_{U-S-u}-g_{S-U})!\cdot (|S|+m-n-g_{U-S}+1)\
$$
目前这个做法是 AHSFNU OJ
最优解。
鸽鸽鸽
给定一个长度为
$n$ 的只包含小写字母的字符串$s$ 与$q$ 个询问$l,r$ ,询问$s[l,r]$ 中有多少本质不同的子序列。答案对
$10^9+7$ 取模。
首先,我们可以写出 DP
方程:$f_{i,j}$ 表示考虑前
不会
借这题讲一下提交答案题的常规做法:
- 一定要先手玩比较小的点。
- 模拟退火在范围过大时也是撑不住的,可以考虑加入一些乱搞的限制条件,比如这题中把每个连通块的中间部分都涂成一样的颜色。
Day3 T1 她的名字 (name)
直接在后缀树上线段树合并即可,比较 Trivial。
Day3 T2 选拔赛 (game)
一定是由一段前缀 和 最大值组成,直接 0.618 法三分即可通过。注意,导数二分比直接三分来得更优秀。
Day3 T3 树 (tree)
我们考虑以深度最低的点为子树的代表节点,一开始我们有
直接这样实现是