[loj2585][APIO2018]新家】的更多相关文章

题目 一条街上有\(n\) 个点,坐标为\(x_i\) , 店的种类为\(t_i\) , 开业时间为 \([a_i,b_i]\) ; 定义一种类型到一个点的距离为这种类的点到这个点的最近距离 ; 定义一个点的不方便度为此时所有所有种类的店离这个点的距离的最大值(种类不足直接为-1); 给出种类总数和询问数 \(m\) , 回答在 \(y_j\) 时间下,位置 \(l_j\) 的不方便度 ; $1 \le n , q \le 3 \times 10^5  ,  1 \le k \le n $ $…
「APIO2018新家」 题目描述 五福街是一条笔直的道路,这条道路可以看成一个数轴,街上每个建筑物的坐标都可以用一个整数来表示.小明是一位时光旅行者,他知道在这条街上,在过去现在和未来共有 \(n\)个商店出现.第 \(i\) 个商店可以使用四个整数 \(x_i, t_i, a_i, b_i\) 描述,它们分别表示:商店的坐标.商店的类型.商店开业的年份.商店关闭的年份. 小明希望通过时光旅行,选择一个合适的时间,住在五福街上的某个地方.他给出了一份他可能选择的列表,上面包括了 \(q\) 个…
LOJ 洛谷 UOJ BZOJ 四OJ Rank1 hhhha 表示这个b我能装一年→_→ 首先考虑离线,将询问按时间排序.对于每个在\([l,r]\)出现的颜色,拆成在\(l\)加入和\(r+1\)删除两个操作,也按时间排序. 对于询问\((x,t)\),就是求\(t\)时刻,离\(x\)最远的颜色到\(x\)的距离,也就是从\(x\)出发往左右至少要走多远才能经过所有颜色. 考虑二分答案.那么就成了,求所有颜色是否都在\([x-mid,x+mid]\)中出现过. 对于这种是否出现过/只计算一…
一个显然的做法是二分答案后转化为查询区间颜色数,可持久化线段树记录每个位置上一个同色位置,离线后set+树状数组套线段树维护.这样是三个log的. 注意到我们要知道的其实只是是否所有颜色都在该区间出现,可以改为查询后缀区间的上一个同色位置中最小的.这样我们就只需要set+线段树就可以维护了,同样二分答案是两个log.直接在线段树上二分就变成了一个log. 给每种颜色在坐标-inf和inf处加点来避免乱七八糟的讨论.离散化一下.对于相同坐标的点,在叶子维护堆即可.调过样例就能1A了. #inclu…
其实这个题第一反应一定是线段树分治,但是这样反而更难考虑了(实际上是可做的但很难想到),可见即使看上去最贴切的算法也未必能有效果. 考虑这个DS题,没有什么模型的转化,可能用到的无非就是线段树.平衡树和堆. 首先,显然地,将每个商店拆成出现和消失两个事件,然后按时间一次处理.接下来很容易想到二分,于是每次询问的就是[x-mid,x+mid]中是否包含了所有种类的商店. 考虑如何快速回答询问,我们在+inf处先插入所有种类的商店,并记录每个商店的同种类型的前驱(就是上一个同类型的商店在哪里). 注…
[APIO2018]新家(线段树) 题面 UOJ 洛谷 BZOJ 题解 论比赛时想不到二分的危害,就只能Cu滚粗 既然不要在线,那么考虑离线做法. 既然时间是区间,那么显然按照时间顺序处理答案. 显然答案具有可二分性,那么对于当前位置而言,我们唯一要确定的就是\([x-mid,x+mid]\)区间内是否所有种类的商店都至少出现过了一次. 因为离线之后按照时间处理,因此已经没有了时间这一维,只剩下了位置和种类两个东西.那么问题就是二维数点,但是因为要求每个种类只数一次,所以似乎没法直接上树套树.…
#2585. 「APIO2018」新家 https://loj.ac/problem/2585 分析: 线段树+二分. 首先看怎样数颜色,正常的时候,离线扫一遍右端点,每次只记录最右边的点,然后查询左端点,这里不太行.这里只需要统计是否全出现过,pre[i]为这个颜色的上一个位置,那么这也就说明了pre[i]+1这段区间没出现过,所以要求[r+1,n]这段区间的最小的pre都要大于等于l.于是这就是线段树区间查询最小值了. 注意的是,每个点的pre有多个,每个叶子节点包含一个set,把所有的值插…
此博客主人已搬家访问新家地址:http://write.blog.csdn.net/postlist…
Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树"上.松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,--,最后到an,去参观新家. 可是这样会导致维尼重复走很多房间,懒惰的维尼不听地推辞.可是松鼠告诉他,每走到一个房间,他就可以从房间拿一块糖果吃.维尼是个馋家伙,立马就答应了. 现在松鼠希望知…
3631: [JLOI2014]松鼠的新家 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1231  Solved: 620[Submit][Status][Discuss] Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序…