其他分享
首页 > 其他分享> > "蔚来杯"2022牛客暑期多校训练营8

"蔚来杯"2022牛客暑期多校训练营8

作者:互联网

  A B C D E F G H I J K L
赛时过题                        
赛后补题                        

赛后总结:

G题明明是很有希望做出来的。。。但是没做出来,本质原因是没有思考清楚平衡树每个节点的意义

我的平衡树的每个节点实际上代表的是原序列的一个下标,那么一个环的首位位置实际上就是这个环中的最小原序列下标

我一开始的做法是永远把一个环的首位位置放在平衡树的第一位,但是这种做法在拆环的时候会导致第二个环的首位位置不在平衡树第一位。。。

要想解决这个问题就必须在平衡树每个节点维护一个min,这样就能快速知道一个环的首位位置了。。。

以后写任何复杂数据结构之前一定要思考清楚这个数据结构每个节点的意义,并且在写的时候要能清楚的知道每个值是否成功维护了(比如维护Treap的父节点时,需要先置为0再修改。。。)

说起来今天这场排名这么高还是因为宇彬的手速比较快,D题的300行程序1h就KO了,我G题250写了3h才写完,结果还因为没有理清节点意义导致WA,对拍了2.5h才在赛后过了这题。。。

赛时排名:

3题末尾:44名

4题末尾:19名


 

标签:每个,蔚来,首位,多校,赛后,牛客,平衡,节点,赛时
来源: https://www.cnblogs.com/th-is/p/16583877.html