Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1
C. Jumping Transformers
- 我会状压 DP!
- 用 (dp[x][y][mask]) 记录到达 ((x,y)),之前清楚的排骨龙集合为 (mask) 的最小耗费。
- 如果到达 ((x,y)) 时,本应遭遇的排骨龙没了,那么想想:这只排骨龙是何时遭到放逐?
- 很自然地设计出状态:(dp[x][y][len][0/1]) 表示当前在 (x) 行, (y) 列,之前连续沿水平/竖直移动 (len) 步,最小代价。
D. Xor Spanning Tree
题意 求最小异或生成树个数,边数<=点数+41,且是个仙人掌
做法
- 暴力找出每个环,然后fwt转移
- 有一个坑在于输出答案时,不能直接根据方案数是否为零判断,因为方案数可能是模数的倍数,所以用上骚操作,再来一次
F. Workout plan
- 考虑贪心。
- 扫一遍,尽量不拿,能拿拿代价极小的,堆维护即可。
H. Function Composition
- 对与 (y) 不在环上的查询,等价于树上的查询,dsu on tree 或者走欧拉序,用增量记录子树信息。
- 对于 (y) 在环上的查询。任选环上一点 (p),那么到 (y) 的路径分为两种
- 经过 (p): 对查询 (query(y,m)) 的贡献为 (query(p,m-dis(p,y)))
- 不经过 (p): 基环树断边,转化为树上的查询。
I. The Light Square
- 2 - SAT 建图,变量为,每行每列是否应该翻转。