摘要: 题面 英文题面 题意:有点长,去洛谷上看吧~ 题解:首先挖掘题目的性质:发现如果两个集合都只有一个元素,且询问的结果不是EQUAL,那么小的那个一定就是礼物。那么我们希望能找到一个石头,这样判断起来就能方便很多。 考虑随意指定30个位置$p(p\neq 1)\(,依次询问\)(1,p)\(。如果有返 阅读全文
posted @ 2020-07-20 22:26 Purple_wzy 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题面 题解:首先发现对于datatype=3的点,允许的询问次数是$O(n+log_n)$级别的。那么先考虑树是一条链的情况。考虑当前我们已经找到了这个链的中间一段,我们称其左端点为$l$,右端点为$r$,那么此时有意义的询问显然是$(l/r,x)$,$x$是一个未被探索到的点。我们称一次询问“失败 阅读全文
posted @ 2020-07-20 22:08 Purple_wzy 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题面 题解:由于区间内每个点和$x$的lca都不尽相同,我们很难用$dep_x+dep_y-2\times dep_$来进行求解。于是考虑点分治,把询问离线下来,挂在点$x$上。 发现问题变得很简单:我们只需要扫一遍分治中心的所有儿子,先在线段树上查一下区间离它最远的点的距离,然后再把自己加进线段树 阅读全文
posted @ 2020-07-20 21:36 Purple_wzy 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题面 英文题面 题意:有一棵$n$个点的树,每条边的边权是一个一次函数$a_i\times t +b_i$。求对于所有的$t\in [0,m-1]$的树的直径。 \(n \leq 10^5,m\leq 10^6,a_i\leq 10^5,b_i \leq 10^9\)。 题解:首先,最暴力的做法就是 阅读全文
posted @ 2020-07-20 21:10 Purple_wzy 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题面 英文题面 题意: 题解:由于肯定不能一个一个去进行异或,考虑两堆数异或会有什么性质。 发现这样一个性质:如果两堆数的长度都是$2^l$,且两堆数的高位分别相同,比如说{$0,1,2,3$}和{$4,5,6,7$},那么它们做异或操作得到的依然是这样的一个序列。仔细观察,这两个数列中的数的二进制 阅读全文
posted @ 2020-07-20 20:43 Purple_wzy 阅读(196) 评论(0) 推荐(0) 编辑