摘要: 传送门 分析 首先我们不难发现交换两棵子树,它们自身的逆序对个数是不变的,改变的只是由一棵子树的x和另一棵子树的y组成的二元组(x,y),所以我们可以考虑使用线段树合并。我们对于每一个叶子节点建一棵权值线段树,然后将他们一一合并,而对于每一个节点是否旋转左右儿子只需要比较这两种情况产生的逆序对个数即 阅读全文
posted @ 2018-08-18 19:18 水题收割者 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 我们首先要记录一个pre[x]表示上一个颜色和x相同的位置。然后我们枚举所有区间的右端点。我们发现对于每一个新的端点x,会导致pre[pre[x]]+1到pre[x]这一段区间的值减w[col[x]],导致pre[x]+1到x这一段区间的值加w[col[x]]。所以我们只需要维护这些信 阅读全文
posted @ 2018-08-18 09:37 水题收割者 阅读(117) 评论(0) 推荐(0) 编辑