Luogu P4585 [FJOI2015]火星商店问题】的更多相关文章

颓文化课作业到很晚写篇博客清醒一下 首先我们仔细阅读并猜测了题意之后,就会想到一个暴力的线段树套可持久化0/1Trie的做法,但是它显然是过不去的 由于最近再做线段树分治的题,我们可以想到用线段树分治来解决这个问题 考虑对于每一次询问,我们都可以找出它连续询问的一段时间区间,然后把它扔进线段树的每个节点里 考虑怎么加点,如果暴力插入修改那就和暴力没什么区别了,我们还要考虑进一步优化 还是一个老套路,由于线段树分治是一种离线算法,因此插入修改的顺序完全可以由我们自己决定 那么再此利用分治的思想,每…
P4585 [FJOI2015]火星商店问题 题目描述 火星上的一条商业街里按照商店的编号\(1,2,\dots,n\) ,依次排列着\(n\)个商店.商店里出售的琳琅满目的商品中,每种商品都用一个非负整数\(val\)来标价.每个商店每天都有可能进一些新商品,其标价可能与已有商品相同. 火星人在这条商业街购物时,通常会逛这条商业街某一段路上的所有商店,譬如说商店编号在区间\([L,R]\)中的商店,从中挑选\(1\)件自己最喜欢的商品.每个火星人对商品的喜好标准各不相同.通常每个火星人都有一个…
[题解]P4585 [FJOI2015]火星商店问题(线段树套Trie树) 语文没学好不要写省选题面!!!! 题目大意: 有\(n\)个集合,每个集合有个任意时刻都可用的初始元素.现在有\(m\)个操作 询问\([l,r]\)的集合中,使得\(v\oplus x\)最大的那个元素,输出\(v\oplus x\).同时要求这个\(x\)是最近\(d\)次插入中插入的. 在集合\(i\)中插入一个数\(x\). 考虑这样一个做法,直接开一颗线段树,线段树每个节点是一个\(trie\)树(不用可持久化…
(勿看,仅作笔记) bzoj权限题... https://www.luogu.org/problemnew/show/P4585 对于特殊商品,直接可持久化trie处理一下即可 剩下的,想了一段时间cdq,但是没想出来...应该是不行的 事实上,如果询问的不是最大值,而是一些满足[l,r]的答案等于[1,r]的答案-[1,l-1]的答案的东西,那么的确可以每个询问拆成两个直接cdq... 但是这题就不能..不过可以线段树分治,这是基于[l,r]的答案可以被分成多个线段树上区间(这些区间的并等于[…
Description 火星上的一条商业街里按照商店的编号 \(1\),\(2\) ,-,\(n\) ,依次排列着 \(n\) 个商店.商店里出售的琳琅满目的商品中,每种商品都用一个非负整数 \(val\) 来标价.每个商店每天都有可能进一些新商品,其标价可能与已有商品相同. 火星人在这条商业街购物时,通常会逛这条商业街某一段路上的所有商店,譬如说商店编号在区间 \([L,R]\) 中的商店,从中挑选1件自己最喜欢的商品.每个火星人对商品的喜好标准各不相同.通常每个火星人都有一个自己的喜好密码…
题解 题目太丧,OJ太没有良心,我永远喜欢LOJ! (TLE报成RE,垃圾洛谷,我永远喜欢LOJ) 好的,平复一下我debug了一上午崩溃的心态= =,写一写这道题的题解 把所有限制去掉,给出一个值,和一堆数种选一个异或起来求最大值,是一个经典的字典树问题,如果去掉了d的限制,我们类似主席树那样求一个可持久化字典树,利用前缀和就可以快速求得一个区间的字典树了,所以对于所有特殊商品,我们先用这些商品更新一下每一个询问 我们可以用线段树套可持久化trie树,然而空间很难办-- 那么我们转为对每个线段…
正解:线段树+$trie$树 解题报告: 传送门$QwQ$ $umm$题目有点儿长我先写下题目大意趴$QwQ$,就说有$n$个初始均为空的集合和$m$次操作,每次操作为向某个集合内加入一个数$x$,或者查询最近的$d$次向编号在$[l,r]$内的集合加入的元素中,与$x$异或和的最大值 首先看到异或就想到$trie$树昂$QwQ$ 然后就还有一个时间限制和一个位置限制. 先考虑时间限制趴?就魔改下$trie$树,本来每个节点记录的是是否存在这个节点?现在变成这个节点最近一次被更新的时间,这样就能…
[FJOI2015]火星商店问题 神仙线段树分治...不过我不会. 这题用线段树套可持久化Trie还是能写的. 常数有点大,洛谷垫底水平. // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){…
[LG4585][FJOI2015]火星商店问题 题面 bzoj权限题 洛谷 \(Notice:\) 关于题面的几个比较坑的地方: "一天"不是一个操作,而是有0操作就相当于一天开始了,然后下面的紧跟着的1操作都算这一天的,直到再次出现0操作为止.当然第一个操作可能会是1操作这个时候也算第一天(比如样例--) 0操作是在这个位置添加一个数而不是改成这个数 d=0的时候不算这一天 垃圾题面,害我被坑 题解 \(xgzc\)说线段树分治要先开这题 但是我觉得他在放屁 \(\Leftarro…
[FJOI2015]火星商店问题 前天考了到线段树分治模板题,全场都切了,就我不会QAQ 于是切题无数的Tyher巨巨就告诉我:"你可以去看看火星商店问题,看了你就会了." 第一道线段树分治题,看了yyb博客,学习了一波. 其实线段树分治就是对操作的时间分治. 对线段树每个节点开一个\(vector\),把询问的区间(时间的区间)看成一段一段放到线段树的\(vector\)里面存着. 注意到修改会延续到最后一刻,所以修改只是左端点不一样而已,相当于一个后缀. 把修改按照位置排序(这个时…