
树套树
olahiuj
我的女朋友不抽烟不喝酒不傲娇不化妆不存在
展开
-
poj2155 Matrix 树状数组套树状数组
Description给定一些二维数组中的操作形如C x1 y1 x2 y2表示把(x1,y1)到(x2,y2)中的数字0变成1,1变成0,Q x y表示查询(x,y)Solution–sb题,直接二维树状数组套树状数组。至于0还是1的问题可以看成操作了x次就是x%2,按照类似矩阵前缀和的方法更新Code#include <stdio.h>#include <string.h>#define r原创 2017-12-08 19:14:20 · 262 阅读 · 0 评论 -
bzoj3217 ALOEXT 替罪羊树套trie
Description给定一个序列,要求兹磁一下操作插入一个数删除一个数修改一个数查询区间次大值与另一数字异或的最大值Solution都是套路。。真·oi中的解析几何唯一需要注意的就是替罪羊树上删除只打标记,我们重构的时候才真正删除,并且我写的做法需要同时维护包含删除节点的s和不包含删除节点的size,根据s判断是否重构我也就写了6k+,我爱数据结构.jpgCode...原创 2019-01-28 16:51:02 · 243 阅读 · 0 评论 -
bzoj3065 带插入区间K小值 替罪羊树套权值线段树
Description从前有n只跳蚤排成一行做早操,每只跳蚤都有自己的一个弹跳力a[i]。跳蚤国王看着这些跳蚤国欣欣向荣的情景,感到非常高兴。这时跳蚤国王决定理性愉悦一下,查询区间k小值。他每次向它的随从伏特提出这样的问题: 从左往右第x个到第y个跳蚤中,a[i]第k小的值是多少。这可难不倒伏特,他在脑袋里使用函数式线段树前缀和的方法水掉了跳蚤国王的询问。这时伏特发现有些跳蚤跳久了弹跳力会...原创 2019-01-05 15:06:04 · 251 阅读 · 1 评论 -
bzoj3196 Tyvj 1730 二逼平衡树 线段树套splay
Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)Input第一行两个数 n,m 表示长度为n的有序序列和m个操作第二行有n个数,表示有序序...原创 2018-11-15 21:58:58 · 311 阅读 · 0 评论 -
bzoj4285 使者 树状数组套线段树
Description公元 8192 年,人类进入星际大航海时代。在不懈的努力之下,人类占领了宇宙中的 n 个行星,并在这些行星之间修建了 n - 1 条星际航道,使得任意两个行星之间可以通过唯一的一条路径互相到达。同时,在宇宙中还有一些空间跳跃点,有些跳跃点已经被发现,还有一些是未知的,每个跳跃点连接了两个行星,使得这两个行星中的任意一个都可以通过这个跳跃点到达另外一个行星。这些跳...原创 2018-10-29 21:59:05 · 407 阅读 · 0 评论 -
bzoj3295 [Cqoi2011]动态逆序对
Description对于序列A,它的逆序对数定义为满足i< j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。N<=100000 M<=50000Solution很裸的树套树呀,离线询问动态开点连离散都不用了 本来想打cdq分治但是时间不太够了以后...原创 2018-03-27 21:47:05 · 136 阅读 · 0 评论 -
jzoj5512 送你一棵圣诞树 树状数组套线段树+set
Description一棵 n 个点的树, 树根为 1. 一开始每个点上有一个 1…n 的颜色 ci, 不同点颜色可以相同. 现在有 q 次操作, 分为两种类型: • 1 u l r: 询问子树 u 中有多少种在 l 到 r 之间的颜色至少出现了一次 • 2 u c: 将 u 的颜色修改为 c对于前 20% 的数据, n, q ≤ 5000; 对于前 40% 的数据,原创 2018-01-10 21:34:32 · 426 阅读 · 0 评论 -
bzoj1901 Zoj2112 Dynamic Rankings 树状数组套线段树
Description给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1 ],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改 变后的a继续回答上面的问题。第一行有两个正整数n(1≤n≤10000),m(1≤m≤10000)。原创 2018-01-09 08:40:22 · 225 阅读 · 0 评论 -
jzoj3615 [NOI2014模拟] 数列 树套树
Description给定一个长度为n的正整数数列a[i]。定义2个位置的f值为两者位置差与数值差的和,即f(x,y)=|x-y|+|a[x]-a[y]|。你需要写一个程序支持2种操作(k都是正整数):Modify x k:将第x个数的值修改为k。Query x k:询问有几个i满足f(x,i)Solution感觉被一般的数据结构题套路限制了思路 脑补一下把原创 2018-01-23 17:10:23 · 226 阅读 · 0 评论 -
jzoj6078 [GDOI2019模拟2019.3.22]魔法阵 树状数组套线段树
Description给定序列A[]和B[],记C[i]=max(C[i-1],A[i]),要求资瓷两个操作:0 x y,改A[x]为y1 x y,改B[x]为y每次操作输出∏i=1nmin(Bi,Ci)\prod\limits_{i=1}^{n}{min(B_i,C_i)}i=1∏nmin(Bi,Ci)n≤105n\le 10^5n≤105,保证y≥Axy\ge A_xy≥...原创 2019-03-22 15:34:43 · 190 阅读 · 0 评论