翻车++
T1:
花了近1个小时去找规律,后来因为没考虑到n=1的情况少了10分。。
正解:把原序列排序,每次把剩下的数分成两堆,把子树根节点较大的那一堆放在前,剩下的放在后。
T2:
没想到分层计算,TLE70分。
正解:顺序用BFS分层,如果该联通块均为0则+1。(题解)
T3(翻车主力):
考试时只判断了两侧,WA10分。。。
正解:把菱形旋转成正方形,再处理每个点上下左右最多能拓展到哪里。
之后找到一个没找过的格子,扩展判断是否是一个长方形,如果是就+1,再用BFS把整个联通块删掉。
T4:
想到最小生成树,但看到数据后怂了,写了个神奇的贪心然后爆0。。
正解:最小生成树,把两行点中相邻的两个连边,再通过二分找出一行中每个点距离另一行距离最近的点,如左右两侧都有就连两条边。
然后用克鲁斯卡尔+路径压缩AC
考试总结:
这次考试有点萎,主要是没有把题目考虑周全(T3,T4),还有一些细节地方没有注意(T1)。时间不算很紧,但没打对拍/出数据。
总之就是要多看几遍题目,多方面思考,多出几组数据对拍。