1.12模拟赛题解

T1

容易知道答案为原图的最大子二分图大小。

枚举每个点在二分图的左边还是右边,计算出答案。时间复杂度 \(O(2^n\times m)\)

T2

考虑递推构造方案。假设现在已经有了一组 \(n=2k-2\) 的方案,需要推到 \(n=2k\)

对于原方案中的第 \(i\) 棵生成树,添上 \(2 i-1\leftrightarrow 2k-1\)\(2i\leftrightarrow 2k\) 的边;同时令所有 \(2i\leftrightarrow 2k-1\)\(2i-1\leftrightarrow 2k\) 的边构成一棵新的生成树。这样就构造出了符合题意的方案。

\(2k\) 推到 \(2k+1\) 时,对第 \(i\) 棵生成树添上 \(i\leftrightarrow 2k+1\) 即可。

时间复杂度 \(O(n^2)\)

T3

在图上对相邻的两个格子 \((x_1,y_1)\)\((x_2,y_2)\),连一条权值为 \(v_{x_1,y_1}\times v_{x_2,y_2}\) 的边,跑最大生成树就是答案。

由于此题权值范围只有 \(10000\),所以可以考虑桶排。

T4

考虑二分答案,check 的时候遍历整棵树,贪心地能拼就拼。时间复杂度 \(O(n\log n\log SIZE)\)

posted @ 2023-01-12 15:00  Egg_eating_master  阅读(36)  评论(0)    收藏  举报