码迷,mamicode.com
首页 > 其他好文 > 详细

题解-CF1479

时间:2021-02-09 12:42:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:class   href   code   iss   source   math   -o   inline   数据   

CF1479C Continuous City

首先考虑

CF1479D Odd Mineral Resource

不放文章里了,不讲 wood 的偷袭怪 @【数据删除】 耗子尾汁。

这题不难,但是蒟蒻想要介绍两种方法。

法 1

这是一个有关数颜色的问题,直接树上莫队。

在莫队上分块,对于每一个块维护可能成为答案的数的队列。

修改的时候更改 \(cnt\) 数组,如果模 \(2\)\(1\),那么就丢进这个颜色所属的块的队列内。

查询的时候,对于查询区间内的每一个块的队列,如果队头是满足条件的,那么就找到了一个答案;否则弹出队头。散块暴力即可。

时间复杂度 \(\Theta(n \sqrt m)\)

喜提最劣解。

aclink

法 2

这个出现奇数次可以用异或来处理。

如果对于每一个元素,进行随机赋值。我们查询树上 \(u\)\(v\) 上,编号在 \(l\)\(r\) 的权值异或和,如果是 \(0\) 那么我们就认为答案是 -1

然后我们进行二分答案,查询一下 \([l, mid]\),如果异或和不是 \(0\) 就在 \([l, mid]\) 往下做,否则 \([mid + 1, r]\) 的异或和一定不是 \(0\),在 \([mid + 1, r]\) 往下做。

这个可以主席树维护。由于这是主席树,我们可以直接在主席树上二分。

喜提最优解。

aclink

题解-CF1479

标签:class   href   code   iss   source   math   -o   inline   数据   

原文地址:https://www.cnblogs.com/zkyJuruo/p/14392030.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!