分块
A1847225889
在一次次翻车中吸取教训……
展开
-
6731. 【2020.06.17省选模拟】T3 拟赛
题目正解先求出前缀和。考虑分界点前缀和的取值。可以发现它的取值只有2k2^k2k种。具体证明考虑前面若干段的异或和都在集合BBB中,所以它一定是BBB中若干个数异或起来。思考一下如何判定是否有答案。如果整个序列的异或和为000,就是找到任意一个在BBB中的前缀和。如果整个序列的异或和不为000,假如找到一个合法前缀和等于整个序列的前缀和,那么一定有答案。因为这个位置到最后这段区间的异或和为000,于是这段区间就可以直接和上一段合并。(后面值考虑异或和不为000的情况。因为后面可以发现能够直接原创 2020-06-19 09:00:05 · 330 阅读 · 0 评论 -
6711. 【2020.06.09省选模拟】题2 and
题目正解首先考虑某个修改(设修改xxx)对某次询问(设修改yyy)的影响。可以发现它的贡献是区间交乘权值乘xxx和yyy相同二进制位上的000的个数。分块是这种问题的常规套路。将数字分成28∗282^8*2^828∗28的两段。先考虑单点修改的情况。设f(pre,suc)f(pre,suc)f(pre,suc)表示修改时前缀为preprepre,对询问后缀为sucsucsuc的影响。修改的时候,找到对应的preprepre,然后用282^828的时间处理它对每个后缀的影响。询问的时候,用28原创 2020-06-12 19:22:31 · 208 阅读 · 0 评论 -
[JZOJ6359] 【NOIP2019模拟2019.9.15】小ω的树
题目题目大意给你一棵树,带点权和边权。要你选择一个联通子图,使得点权和乘最小边权最大。支持修改点权操作。思考历程显然,最先想到的当然是重构树了……重构树就是在做最大生成树的时候,当两个联通块相连时,新增一个点,将两个联通块的根节点连上去。这个新建的点上记录这条边的边权,那么以它为子树的答案就是子树的点权和乘上自己表示的这条边的边权。然后题目就变成了一个似乎很经典的问题:给你ai...原创 2019-09-17 19:15:30 · 489 阅读 · 0 评论 -
[JZOJ6279] 2019.8.5【NOIP提高组A】优美序列
题目题目大意给你一个排列以及若干区间,对于每个区间,问包含它的最小的优美序列的区间。所谓优美序列,即将权值排序后能够得到连续的排列。思考历程优美序列显然满足这个条件:mx−mn=r−lmx-mn=r-lmx−mn=r−l想了半天没有想出正解,于是开始打水法。首先n,m≤1000n,m\leq 1000n,m≤1000的时候可以暴力地求出每个区间是否是优美区间,然后更新它们子区间的答...原创 2019-08-09 20:25:34 · 362 阅读 · 0 评论 -
[JZOJ2865]【集训队互测 2012】Attack
题目题目大意平面上有一堆带权值的点。两种操作:交换两个点的权值,查找一个矩形的第kkk小N<=60000N<=60000N<=60000M<=10000M<=10000M<=1000010000ms10000ms10000ms思考历程&各种可能过的方法先是想了一会儿,然后突然发现一个惊天大秘密:10000m...原创 2019-08-03 22:17:04 · 194 阅读 · 0 评论 -
[JZOJ4616] 【NOI2016模拟7.12】二进制的世界
题目题目大意给你一个数列,每个数为[0,65535][0,65535][0,65535]内的整数。给定一个位运算操作optoptopt,是andandand、ororor、xorxorxor中的一种。求每个数左边与这个数进行操作的最大值,以及达到最大值的数量。思考历程见到这东西,首先想到的当然是Trie了!显然,把Trie建出来之后,搞定xorxorxor是分分钟的事情。然而an...原创 2019-07-04 16:03:09 · 301 阅读 · 0 评论 -
[JZOJ3339]【NOI2013模拟】wyl8899和法法塔的游戏
题目题目大意给你一个数列,每次给出r,a,br,a,br,a,b,你要找到l∈[a,b]l\in [a,b]l∈[a,b]使得[l,r−1][l,r-1][l,r−1]的异或和最小,并且要修改rrr位置的数。思考历程当我看到这题的时候,已经没有什么时间了……这题需要一点点的博弈基础(题目大意直接将它省掉了),不过还比较简单,就连我这样的博弈白痴都能会。搞出了之后就来了个最裸的暴力,...原创 2019-07-09 22:37:25 · 205 阅读 · 0 评论 -
[JZOJ3167] 【GDOI2013模拟3】查税
题目描述题目大意维护一个有一次函数组成的序列具体来说,对于位置xxx,现在的值为sx+zx∗(T−tx)s_x+z_x*(T-t_x)sx+zx∗(T−tx)有两个操作,修改某个位置上的一次函数,还有询问一段区间内的当前最大值。思考历程&正解(说实在的,感觉这场比赛三题中这题最简单,因为我一开始只想出了这题……)首先,看到这一次函数,我们自然会想到斜率优化。...原创 2019-04-26 12:28:40 · 242 阅读 · 0 评论 -
[JZOJ4763] 【NOIP2016提高A组模拟9.7】旷野大计算
题目题目大意给你一个数列,有很多个询问,询问一段区间内,某个数乘它的出现次数的最大值,也就是带权众数。思考历程第一次看到这道题,立马想到了树套树之类的二位数据结构,发现不行。(就算可以也很难打……)然后我就想到了莫队!其实这题的莫队是很显然的。我们用莫队的方法来搞,用一个数据结构来维护目前的答案。所以我就打出来了时间复杂度为O(mnlgn)O(m \sqrt n \lg n...原创 2019-01-03 19:02:09 · 299 阅读 · 0 评论 -
JZOJ5967 常数国
题目像素有点低啊~算了凑合一下就好啦~题目大意给你一个首尾相接的数列,每次对一个区间进行操作:顺时针操作,如果当前值比vvv大,就交换。输出最后的vvv。比赛思路首先这题的时限这么仁慈,一定有天大玄机。并且一看这题,就感觉像是一个数据结构。首先在想链表,但显然这题链表不可做。然后一直在想带修主席树。没想出来……最后弃疗,直接打了个暴力。WTF?15分?说好的2...原创 2018-11-27 19:00:11 · 229 阅读 · 0 评论 -
莫队算法简析
莫队是个什么玩意儿? 一开始听见这个算法,感觉非常高大上。 后来,听了大概的思想后,就觉得是玄学算法。 现在,我才知道,这是根号算法……先看一道例题BZOJ2038: [2009国家集训队]小Z的袜子(hose)题目大意给你一个数列,每次询问一个区间[l,r][l,r][l,r],在这个区间中随机取出两个数,这两个数相等的概率。 N,M≤50000N,M≤5...原创 2018-09-05 19:56:20 · 191 阅读 · 0 评论 -
树上莫队
在之前我已经发过了普通莫队的博客了。 传送门 打了几道莫队的裸题后,我就学了一下树上莫队。例题这题的英文超好懂,我相信你的英语水平。 但我还是解释一下吧。 题目大意:给你一棵NNN个点的带权的树,有MMM个询问,询问两点之间不同的权值个数。 其中N≤10000,M≤400000N≤10000,M≤400000N \leq 10000,M\leq 400000。往区间的方向...原创 2018-09-07 21:02:15 · 418 阅读 · 0 评论