“挂分大战?”

首先,T1 比较水,秒了。

T2 花了 2020 分钟,就把线段树优化 dp 写完了,一遍过编过所有大样例。考完发现只有 2020。大样例太水了。

T3 有点想复杂了,写了一个半小时,但是其实就是树形 dp,复杂度没有问题,就是树形 dp 普通的 n2n^2 复杂度。

T4 不可做。考后发现暴力好好写可以过。

其实只有水题和不可做题的比赛能说的不多。

用时分数正解我的思路问题方案
T11010 min100100入门模拟入门模拟无无
T220−3020-30 min2020multiset 平衡树优化 dp线段树优化 dp交上去错了,代码应该是不够清晰让老师给强一点的大样例/代码写清晰,不清晰的局部重构
T39090 min100100树形 dp树形 dp复杂度研究了半天记住模型方法,点对证明时间复杂度,考场需要好好想时间复杂度本质,而不是粗略思考
T4120120 min2424防 AK 的搜索优化暴力没有仔细思考通项记住暴力出奇迹

T1

题目概括

从 NN 个货物中恰好选 KK 个,每个货物有基础价值 WiW_i 和附加价值 ViV_i。总利润为所选货物的 ∑Wi\sum W_i 加上其中最大的 ViV_i,求最大利润。

N≤5×105N \le 5\times 10^5。

不说了。

T2

题目概括

给定序列 AA,可在位置 ii 花代价 CiC_i 买锚点,获得半径 RiR_i,之后可无限次任意重排任意包含 ii 且长度不超过 RiR_i 的连续子段。求使整个序列变为不降的最小总代价,无解输出 −1-1。

N≤105N \le 10^5。

想到思路不难,写完没有调试就过大样例了。

但是只有 2020,大样例过水。

考后重构了。感觉虽然写得很快正确率比较高,但是写法不够清晰。我是直接从 11 到 nn 枚举,端点什么的特判,但是更好的写法是类似枚举端点,关键点。甚至利用性质,一定是用最右边的给最左边的做贡献。

T3

题目概括

对 MM 个节点的树的每条边指定方向(指向某一端点)。若某节点至少有一条入边则苏醒,求恰好 KK 个节点苏醒的定向方案数,对 998244353998244353 取模。

M≤5000M \le 5000。

这个想复杂了,觉得复杂度不对加上了启发式。

这个的转移是普通的树形 dp 的转移,对于每一个点需要进行合并,是已合并大小乘上当前儿子大小。用点对表示法可以证明。

T4

题目概括

从单根出发,可重复执行两种操作:① 加一个新根连旧根;② 加新根连旧根,再给新根加两个叶子。定义 u(T)u(T) 为不覆盖根的匹配数,v(T)v(T) 为总匹配数。给定 n,m,Pn,m,P 及询问 (r,s)(r,s),统计满足 u≤n, v≤mu\le n,\,v\le m 且 (u mod P, v mod P)=(r,s)(u\bmod P,\,v\bmod P)=(r,s) 的不同无标号有根树数量。

n,m≤5×109,  P≤109,  Q≤10n,m\le 5\times 10^9,\;P\le 10^9,\;Q\le 10。

怎么说呢,看着难还是需要继续往下推的,退出通项,然后暴力可以过。

观察到询问少(虽然我考试没有观察到)不要用 map 了,暴力判断当前答案可以塞进某个询问吗。

这道题把暴力放过了。