[考试总结] 2024.10.23 最近的几场考试
从 2024.10.14 考图论起。
2024.10.14 考图论
T1
转前缀和,跑差分约束或者贪心,贪心用[树状数组、并查集](?)实现。
注意前缀和的额外限制(差分约束)、贪心实现的正确性。
T2
相当于连无向边,两点连通就能得到差。
注意到没必要连接两个已经连通的点,于是会形成一棵树。
带权并查集 或者 用并查集建树,离线下来在树上跑,再用并查集做。
T3
类似差分约束,但是注意到只有小于的关系,于是拓扑排序找 DAG 上的最长链即可。
似乎要注意 边权 和 起点的值。
建图:
- 线段树优化建图。似乎线段树动态开点写起来较方便。
- 也可用 线段树 + 并查集,在跑拓扑排序的时候动态维护。
T4
要使平均数是 \(n\),发现直接做不好做。注意到平均数的特殊性,直接推式子转化。
(可以用算平均数的式子推出,也可以直接理解出)把每个 \(a _ i\) 都减去 \(n\) 后,就变成了要使和为 \(0\)。
显然是背包问题,但是每个物品的“价值”(总“价值”要最小)是 \(1\)。这启发[我们](?)建图,用 BFS 解决(实际上不用真正建图)。
关于总和的范围:可以调整加物品的顺序使得范围较小。具体最小是多少还不清楚。
2024.10.16 考图论
T1
原题,wqs 二分板子。有要注意的点。见 wqs 二分学习笔记(还没写)。
T2
[经典](?)技巧:把矩阵的行和列都看成点,把 \(a _ { i , j }\) 看成结点 \(i\) 和 \(j\) 之间的边(本题中是 \(1\) 表示有边,\(0\) 表示没边)(可能可能在有的题里 \(a _ { i , j }\) 是边权,我应该还没见过,只是乱猜),然后跑二分图匹配或网络流。
发现性质(待补),转换题意(待补),二分图匹配(跑最大匹配来检查是否有[完美匹配](?))。
T3
2024.10.23