专栏文章

如此竞赛,令人汗颜!(【2024 年慈溪市小学生计算机程序设计竞赛复赛】口胡题解)

题解参与者 3已保存评论 3

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@miqpnam1
此快照首次捕获于
2025/12/04 08:41
3 个月前
此快照最后确认于
2025/12/04 08:41
3 个月前
查看原文
【2024 年慈溪市小学生计算机程序设计竞赛复赛】口胡题解。
如此竞赛,令人汗颜!

T1【group】

排序然后做完了。

T2【promotion】

模拟做完了,码量小得不行。

T3【bottom】

注意到题目给出的东西很想单调栈,于是直接模版上去,做完了。

T4【matrix】

给定一个 n×nn \times n 的矩阵,每个格子上为 ai,ja_{i, j},求一个连通块,最小化连通块内最大值和最小值的差值
1n1001 \le n \le 1001ai,j1031 \le a_{i, j} \le 10^3
先考虑 O(n4)O(n^4) 做法,枚举每个 ai,ja_{i, j} 作为最小值,将 ai,j\ge a_{i, j} 的数通过 BFS 得到连通性,然后 ai,ja_{i, j} 所到达的最大的数即为可能的结果,这样就做完了。难度上位橙。
考虑 O(n2×ai,j)O(n^2 \times a_{i, j}),发现枚举时只需枚举 ai,ja_{i, j} 的值即可。难度上位橙。
但是这个时间复杂度是达不到我们对【小学生】的要求的    ,考虑优化。
我们注意到,如果从大到小枚举 ai,ja_{i, j} 的值,连通块是每次合并的,并且总共合并次数不超过 4n24n^2
于是,考虑预处理所有值为 k(1k103)k(1 \le k \le 10^3) 的位置,然后 ii 从大到小枚举 kk,合并值为 ii 的四周。然后,枚举所有值为 ii 的位置,求最大即可。
这样的时间复杂度为 O(m+4n2log2n2)O(m + 4n^2 \log_2 n^2) 的,log\log 来自于我们的并查集。难度下位绿。

评论

3 条评论,欢迎与作者交流。

正在加载评论...