D

一张图,n个点,m条边
q个询问,每次询问给出x,y,z
求从x走过a个点,和从y走过b个点
二者重复走过只算一次 a + b >= z
输出最小的走过的边的编号

整体二分 并查集

我们对所有询问进行二分答案
进行log(m)次后每个询问可以确定最终的答案
每次二分即从小到大向并查集中添边
若当前答案的x和y的连通块上的边数大于等于z,则说明当前答案满足

E

给n堆球,每堆有 $a_i$ 个
每次可以取走个数最多的一堆,或者每堆取走一个
问先手必胜还是必败

博弈 找规律

首先讲游戏转化为
Transfer
现在的游戏就变成了从左下角走到边界

画出P/N图 (O/X)
p/n

我们发现对角线上的胜败态是一样的
那么从 (0,0) 沿对角线走到边界的前一个点
若这个点到上界和右界的距离都是奇数
那么先手必败,否则先手必胜