摘要: https://ac.nowcoder.com/acm/contest/888/B 实际上的确是个水题,写个小数据找个规律看看,所谓不同度,其实就是依次插入每个元素后,各种元素出现的最后位置的坐标求和,这个是n²的,考虑算贡献,每个坐标被计算的次数,直到其被覆盖为止,移动多少个位置就有多少贡献。 数 阅读全文
posted @ 2019-08-10 20:36 韵意 阅读(218) 评论(0) 推荐(0) 编辑
摘要: https://scut.online/p/216 演员 把这个当成dp算了半天,各种姿势,好吧,就当练习一下树dp。 假如是每个节点的层数之和,按照dp[i][j]为从i点出发获得j科技的最小费用dp是比较好的。 改了改居然也可以过。 cpp include using namespace std 阅读全文
posted @ 2019-08-10 18:49 韵意 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 空间消耗非常玄学,有多大开多大就完事了。其实是因为单次操作可能会有数次Merge和Split操作,按照下面的版本的话Merge和Split都进行复制,所以一次操作可能复制了4个版本。 四个函数式查询,然后Merge的时候拷贝对应的xy子树,Split的时候拷贝p树。事实上,Merge和Split总是 阅读全文
posted @ 2019-08-10 04:55 韵意 阅读(132) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problem/P4567 事实证明无旋Treap是不是不可能会比Splay快? cpp include using namespace std; typedef long long ll; define ls(p) ch[p][0] define rs( 阅读全文
posted @ 2019-08-10 02:44 韵意 阅读(572) 评论(0) 推荐(0) 编辑
摘要: ```cpp include using namespace std; typedef long long ll; define ls(p) ch[p][0] define rs(p) ch[p][1] const int MAXN = 100005; int a[MAXN]; ll sum[MAX 阅读全文
posted @ 2019-08-10 02:06 韵意 阅读(170) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problem/P4008 无旋Treap也可以维护序列。 千万要注意要先判断p节点存在才进行Show操作,不然输出一个'\0'(或者RecBin里面的东西)草。 假如有限制同时存在的节点数量的话,UnBuild操作是显得重要的。 当然这里最主要的是类似笛 阅读全文
posted @ 2019-08-10 01:33 韵意 阅读(208) 评论(0) 推荐(0) 编辑