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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。