题目: 洛谷 3242 分析: 明确题意:在一棵树上给定若干权值为 \(w\) 的路径 \((u,v)\) (盘子),每次给定 \((a,b)\) (水果),询问所有满足 \((u,v)\) 被 \((a,b)\) 完全覆盖的路径中第 \(k\) 小的路径的权值. 先考虑如何快速判断 \((u,v)\) 是不是 \((a,b)\) 的子路径.第一反应是充要条件是 \(a\) 和 \(b\) 分别在 \(u\) 和 \(v\) 的子树中(设 \(\mathrm{dfn}_p\) 是 \(p\) 在…
洛谷题目链接:[HNOI2015]接水果 题目描述 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果.由于她已经DT FC 了The big black, 她觉得这个游戏太简单了,于是发明了一个更加难的版本. 首先有一个地图,是一棵由 n 个顶点.n-1 条边组成的树(例如图 1给出的树包含 8 个顶点.7 条边). 这颗树上有 P 个盘子,每个盘子实际上是一条路径(例如图 1 中顶点 6 到顶点 8 的路径),并且每个盘子还有一个权值.第 i 个盘子就是顶点a_i到顶…
P3242 [HNOI2015]接水果 题目描述 风见幽香非常喜欢玩一个叫做 \(osu!\) 的游戏,其中她最喜欢玩的模式就是接水果.由于她已经\(DT\) \(FC\) 了\(\tt{The\ big\ black}\), 她觉得这个游戏太简单了,于是发明了一个更加难的版本. 首先有一个地图,是一棵由 \(n\) 个顶点.\(n-1\) 条边组成的树(例如图 \(1\) 给出的树包含 \(8\) 个顶点.\(7\) 条边). 这颗树上有 \(P\) 个盘子,每个盘子实际上是一条路径(例如图…
题链: https://www.luogu.org/problemnew/show/P3242 题解: 整体二分,扫描线+树状数组. 详细的题解:http://blog.csdn.net/thy_asdf/article/details/50363672 得到各个盘子影响的矩形区域后, 那么我们就是要对每个询问代表的点查询覆盖了它的权值第k小的的那个矩形. 首先有一个简化版的问题, 就是查询改点被覆盖了多少次.可以用扫描线+树状数组做. 然后对于现在询问的第k小权值, 我们就可以二分答案,即二分…
LOJ BZOJ 洛谷 又是一个三OJ rank1!=w= \(Description\) (还是感觉,为啥非要出那种题目背景啊=-=直接说不好么) 给定一棵树和一个路径集合(每条路径有一个权值).\(Q\)次询问,每次询问给定一条路径,求路径集合中完全被这条路径包含的路径中,权值第\(k\)大的是多少. \(n,m,Q\leq40000\). \(Solution\) 首先考虑一条路径\((a,b)\)完全包含路径\((u,v)\),需要满足什么条件. 记\(L[x]\)为\(x\ DFS\)…
[HNOI2015]接水果 时间限制:60s      空间限制:512MB 题目描述 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果. 由于她已经DT FC 了The big black,  她觉得这个游戏太简单了,于是发明了一个更 加难的版本.首先有一个地图,是一棵由 n 个顶点.n-1 条边组成的树(例如图 1 给出的树包含 8 个顶点.7 条边).这颗树上有 P 个盘子,每个盘子实际上是一条 路径(例如图 1 中顶点 6 到顶点 8 的路径),并且每个盘子还有…
Description 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果. 由于她已经DT FC 了The big black, 她觉得这个游戏太简单了,于是发明了一个更 加难的版本.首先有一个地图,是一棵由 n 个顶点.n-1 条边组成的树(例如图 1 给出的树包含 8 个顶点.7 条边).这颗树上有 P 个盘子,每个盘子实际上是一条 路径(例如图 1 中顶点 6 到顶点 8 的路径),并且每个盘子还有一个权值.第 i 个 盘子就是顶点a_i到顶点b_i的路径(由于是…
[HNOI2015]接水果 给出一个树上路径集合\(S\) 多次询问\(x,y\)中的\(k\)小值 如果你问我数列上那么我会 树上的话 树上差分了吧直接?- 令 \(st_x<st_y\) 1.假设 \(LCA(x,y) == x\) (学过树的人都知道不可能等于y) 然后树剖乱跳到一个路径上不在 \(x->y\) 上的 \(z\) 就可以了 \([1,st_z-1] or [st_z+1,n]\) 2.1假设不成立- 那么一个点在 \([st_x,ed_x]\) , 另一个在 \([st_…
浅谈离线分治算法:https://www.cnblogs.com/AKMer/p/10415556.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?id=4009 树套树写法:https://www.cnblogs.com/AKMer/p/10181501.html 把二维线段树部分改成整体二分就行了. 时间复杂度:\(O(nlog^2n)\) 空间复杂度:\(O(n)\) 代码如下: #include <cstdio> #includ…
传送门 整体二分 先二分一个答案,判断是否可行,把可行的全都扔到左边,不可行的扔到右边 判断是否可行用树状数组就行 具体细节看代码好了 整体二分细节真多……也可能是我大脑已经退化了? //minamoto #include<iostream> #include<cstring> #include<cstdio> #include<vector> #define ll long long using namespace std; #define getc()…