1
11.14
A 天天背单词
所有单词按字典序排序,用 Trie 存所有单词,在字符串中匹配,转化成编号,康托展开。
考试时
s[i]-'a'
写成
s[i]&15
RE 70 分,应该注意看清楚是字母还是数字。
B 图
每次用度数最小的点更新答案并删除度数最小的点。可以用 set 维护。
考试时没有想到 set,写的是线段树,卡常 TLE 80 分。时限加长到 2s 后重测 AC 100。应该注意常数,注意此题 set 比手写线段树快。
C 养盆栽
dp。
D 瘟疫
因为单点查询不好维护,所以把单点查询改成树链查询,所有点初始权值为 -1,查询根结点到 u 路径上的最大后缀和,类似于 GSS 的做法。
要注意 2 操作除了子树内赋值为 1 还要把 u 赋为 -rmx(1,fa[u])-1,防止操作前 u 的祖先节点的权值影响子树。
考试时线段树区间赋值没有打标记,WA 23 分,应该注意线段树打标记。
11.15
A
dp 出最少经过的 0、5 数量,答案是最小值。
B
状压 dp,每次转移一位。
C
记忆化搜索。考试时以为复杂没有写。
D
f[i][j][k] 表示 前j个人进前i个洗漱间最长队伍=k的方案数,dp。
最开始一直想用概率算,应该算方案数。
E
dp 出:
// f[u]:从u出发 不回到 u 的最小时间总和
// sz[u]:大小
// h[u]:从u出发 回到 u 用时
F
模拟,给每个宏定义和最后一个字符串打 加、乘、不安全 标记。
浙公网安备 33010602011771号