首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
●洛谷P3242 [HNOI2015]接水果
】的更多相关文章
洛谷 P3242 [HNOI2015]接水果 解题报告
P3242 [HNOI2015]接水果 题目描述 风见幽香非常喜欢玩一个叫做 \(osu!\) 的游戏,其中她最喜欢玩的模式就是接水果.由于她已经\(DT\) \(FC\) 了\(\tt{The\ big\ black}\), 她觉得这个游戏太简单了,于是发明了一个更加难的版本. 首先有一个地图,是一棵由 \(n\) 个顶点.\(n-1\) 条边组成的树(例如图 \(1\) 给出的树包含 \(8\) 个顶点.\(7\) 条边). 这颗树上有 \(P\) 个盘子,每个盘子实际上是一条路径(例如图…
[洛谷P3242] [HNOI2015]接水果
洛谷题目链接:[HNOI2015]接水果 题目描述 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果.由于她已经DT FC 了The big black, 她觉得这个游戏太简单了,于是发明了一个更加难的版本. 首先有一个地图,是一棵由 n 个顶点.n-1 条边组成的树(例如图 1给出的树包含 8 个顶点.7 条边). 这颗树上有 P 个盘子,每个盘子实际上是一条路径(例如图 1 中顶点 6 到顶点 8 的路径),并且每个盘子还有一个权值.第 i 个盘子就是顶点a_i到顶…
●洛谷P3242 [HNOI2015]接水果
题链: https://www.luogu.org/problemnew/show/P3242 题解: 整体二分,扫描线+树状数组. 详细的题解:http://blog.csdn.net/thy_asdf/article/details/50363672 得到各个盘子影响的矩形区域后, 那么我们就是要对每个询问代表的点查询覆盖了它的权值第k小的的那个矩形. 首先有一个简化版的问题, 就是查询改点被覆盖了多少次.可以用扫描线+树状数组做. 然后对于现在询问的第k小权值, 我们就可以二分答案,即二分…
洛谷P3242 接水果 [HNOI2015] 整体二分
正解:整体二分+树状数组 解题报告: 传送门! 题目还是大概解释下?虽然其实是看得懂的来着,,, 大概就是说给一棵树.给定一些询问,每个询问都是说在两个点之间的路径上的子路径的第k大是什么 然后看到这种动态区间第k大就要想到整体二分嘛 然后想怎么实现单个询问的二分 显然是二分一个值mid,然后大于mid的路径都可以加入,然后看水果上有几个盘子和k比大小就好昂 所以难点就是在,怎么表示出盘子是水果的子路径,怎么求水果上有几个盘子(其实是一个问题,,,QwQ) 首先可以想到按照一般的套路应该是利用树…
洛谷P3242 接水果
关于矩形与点其实有两种关系. 一种是每个矩形包含多少点.一种是每个点被多少矩形包含. 解:因为可以离线所以直接套整体二分.关键是考虑如何能够被覆盖. 我一开始都是想的树上操作...其实是转化成DFS序.分链和有lca两种情况. 考虑每个盘子能接住的水果,两端DFS序满足的性质.发现是二维平面上的矩形. 一个水果就是询问一个点被多少矩形覆盖(能被多少盘子接).于是整体二分里面扫描线,片改点查用树状数组. #include <bits/stdc++.h> ; struct Edge { int n…
[洛谷 P3239] [HNOI2015]亚瑟王
[HNOI2015]亚瑟王 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的. 作为一个非洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一下当欧洲人是怎样的体验. 本题中我们将考虑游戏的一个简化版模型. 玩家有一套卡牌…
洛谷 P3241 [HNOI2015]开店 解题报告
P3241 [HNOI2015]开店 题目描述 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱. 这样的想法当然非常好啦,但是她们也发现她们面临着一个问题,那就是店开在哪里,面向什么样的人群.很神奇的是,幻想乡的地图是一个树形结构,幻想乡一共有 \(n\)个地方,编号为 \(1\) 到 \(n\) 被\(n-1\) 条带权的边连接起来.每个地方都住着一个妖怪,其中第 \(i\) 个地方的妖怪年龄是 \(x_i\…
洛谷P3244 [HNOI2015]落忆枫音
#include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<vector> #include<queue> #define MAXN 100000+10 #define MOD 1000000007 #define ll long long #define pb push_back using namespace std; int…
luogu P3242 [HNOI2015]接水果
传送门 其实这题难点在于处理路径包含关系 先求出树的dfn序,现在假设路径\(xy\)包含\(uv(dfn_x<dfn_y,dfn_u<dfn_v)\) 如果\(lca(u,v)!=u\),那么\(x,y\)要分别在\(u,v\)子树中,即\(dfn_u\le dfn_x\le dfn_u+sz_u-1,dfn_v\le dfn_y\le dfn_v+sz_v-1\) 如果\(lca(u,v)=u\),设\(uv\)链上\(u\)的下一个点为\(w\),那么\(x,y\)一个在\(w\)子树外…
洛谷P3243 [HNOI2015]菜肴制作 拓扑排序+贪心
正解:拓扑排序 解题报告: 传送门! 首先看到它这个约束就应该要想到拓扑排序辣QwQ 首先想到的应该是用优先队列代替队列,按照节点编号排序 然后也很容易被hack:<5,1> 正解应为5,1,2,3,4 但是上面这个想法的结果是2,3,4,5,1 那就想要不优化一下趴,按照能到达的点为第一关键字,自己点的编号为第二关键字排序呢 还是布星,,,<5,2><5,4><2,1><4,3><3,1> 正解应为5,2,1,4,3,但是上面这个想…