LibreOJ β Round #2
Posted yinwuxiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LibreOJ β Round #2相关的知识,希望对你有一定的参考价值。
题解:
都是不错的技巧题目
t1暴力就不说了
t2dp是比较显然的
然后发现都是0,1用bitset优化
代码非常短
t3容易发现这个东西在不断合并
于是我们想到启发式合并
存疑:splay启发式合并复杂度
为了比较简单用了set的启发式合并
线段树启发式合并可以做到nlogn
updata的时候计算一下左二子最大值和右儿子最小值的差就行了
t4是看题解的。。
拓展了在trie树上实现排序的思维
其实还是比较简单的
我们对于排序的元素,都搞到trie树上
然后显然就类似于二分查找了
至于全局xor一个数,只要记录一下就可以了,在这一位为1的时候我们交换左右儿子
为了实现方便我们可以不真的交换,只是在这一次改变
对于那些当前还是无序的
我们开个队列记着
怎么支持xor操作呢
f[i][j]表示前i个,第j位为1的有几个
代码调了好久。。trie树没怎么写过。。少搞了最后一层
以上是关于LibreOJ β Round #2的主要内容,如果未能解决你的问题,请参考以下文章
LibreOJ #525. 「LibreOJ β Round #4」多项式
LibreOJ #528. 「LibreOJ β Round #4」求和
LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力
LibreOJ #515. 「LibreOJ β Round #2」贪心只能过样例