————树状数组
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
[JZOJ4694] 火神的鱼 [HDU5283] Senior's Fish
Description 火神最爱的就是吃鱼了,所以某一天他来到了一个池塘边捕鱼。池塘可以看成一个二维的平面,而他的渔网可以看成一个与坐标轴平行的矩形。 池塘里的鱼不停地在水中游动,可以看成一些点。有的时候会有鱼游进渔网,有的时候也会有鱼游出渔网。所以火神不知道什么时候收网才可以抓住最多的鱼,现在他寻求你的帮助。 他对池塘里的每条鱼都给予了一个标号,分别从1到n标号,n表示池塘里鱼的总原创 2016-08-16 16:19:59 · 577 阅读 · 0 评论 -
[JZOJ6074]【GDOI2019模拟2019.3.20】铁路【数据结构】【树状数组】【树链剖分】【线段树合并】
Description Solution 老年选手表示真的不太码的动。。。 细节太多了,相当难写 为啥XJ和ASDFZ的大佬们动不动一写就是6K,7K 300行啊,这也太能码了 这题感觉还是蛮套路的。 我们首先可以将边的中点也建一个点,现在就只会在点上相交了。 分情况讨论 要么是两个起点深度相同,一起向上走,走到这两个起点的lca处相交 一种是一个起点在子树内,向上走,一个起点在子树外,向下走...原创 2019-03-20 22:13:21 · 287 阅读 · 1 评论 -
[JZOJ6030]【GDOI2019模拟2019.2.25】白白的【树套树】【数据结构】【启发式分裂】
Description Solution 只有0操作,我们相当于动态查询一段区间内比某个数大/小的数的个数,直接树套树维护。 只有1操作,我们可以对于每一个白白的极长区间都维护一个权值线段树,每次分裂一个区间,直接暴力从线段树中一个个删去较小的那一半区间的影响,同时加入新的权值线段树,并相应计算。 显然这两个数据结构互不影响,并且它们能够同时进行,那么合在一起就解决了。 总时空复杂度均为O(n...原创 2019-02-25 22:07:10 · 272 阅读 · 0 评论 -
[JZOJ3976] ⑨ 【计算几何】【树状数组】
Description Cirno闲着无事的时候喜欢冰冻青蛙。 Cirno每次从雾之湖中固定的n个结点中选出一些点构成一个简单多边形,Cirno运用自己的能力能将此多边形内所有青蛙冰冻。 雾之湖生活着m只青蛙,青蛙有大有小,所以每只青蛙的价值为一个不大于10000的正整数。 Cirno很想知道每次冻住的青蛙的价值总和。因为智商有限,Cirno将这个问题交给完美算术教室里的你。 因为爱护动物,所以...原创 2019-02-19 17:15:10 · 252 阅读 · 0 评论 -
[JZOJ5951] 锋芒毕露 (【CodeChef June Challenge 2014】Sereja and Arcs)【平衡规划】【计数】【树状数组】
Description 给定一个长度为n的颜色序列a 求四元组(x,y,p,q),x&lt;p&lt;y&lt;q,a[x]=a[y],a[p]=a[q],a[x]̸=a[p](x,y,p,q),x&lt;p&lt;y&lt;q,a[x]=a[y],a[p]=a[q],a[x]\not =a[p](x,y,p,q),x<p<y<q,...原创 2018-11-06 11:44:09 · 488 阅读 · 0 评论 -
[JZOJ5924]【NOIP2018模拟10.23】Queue
Description Hack 国的居民人人都是 OI 大师,Hometown 得知便赶紧来到 Hack 国学习。可想要进入 Hack 国并不是件容易的事情,首先就必须通过 Hack 国海关小 B 的考验。小 B 觉得 Hometown 比较菜,于是就扔了一道小水题给 Hometown。 给定一个长度为 n 的数列 a i ,接下来会对这个序列进行 m 次操作。操作类型分为以下两种: • 1 l...原创 2018-10-23 17:28:36 · 259 阅读 · 0 评论 -
[JZOJ5915]【NOIP2018模拟10.19】明日之星
Description 给定一棵树,每个节点有一个权值ai和一个字符串si q组询问,每次询问一个字符串S和两个节点x,y 求x到y路径上每个节点的字符串在S中出现的次数乘上各自的权值总和。 有单点修改权值的操作。 n,q&lt;=200000,∑si,∑S≤400000\sum si,\sum S\leq 400000∑si,∑S≤400000 强制在线 Solution 首先对于树上路径的问题...原创 2018-10-20 16:54:07 · 503 阅读 · 0 评论 -
[JZOJ5608]【NOI2018模拟3.28】Subset
Description 给出三个1到N的排列a,b,c 称三元组(a,b,c)是合法的,当且仅当存在一个下标集合S 满足(x,y,z)=(maxi∈Sa[i],maxi∈Sb[i],maxi∈Sc[i])(x,y,z)=(max_{i\in S}a[i],max_{i\in S}b[i],max_{i\in S}c[i]) N<=100000 Solution我们不妨只考虑最简原创 2018-03-28 22:25:20 · 244 阅读 · 0 评论 -
[JZOJ5512] 送你一棵圣诞树
Description 一棵 n 个点的树, 树根为 1. 一开始每个点上有一个 1…n 的颜色 ci, 不同点颜色可以相同. 现在有 q 次操作, 分为两种类型: • 1 u l r: 询问子树 u 中有多少种在 l 到 r 之间的颜色至少出现了一次 • 2 u c: 将 u 的颜色修改为 c 要求强制在线 n,q Solution 这题先不要转到DFS序列上做原创 2018-01-09 12:21:08 · 2040 阅读 · 0 评论 -
[JZOJ3978] 寝室管理
Description r 128 的寝室条件不是很好,所以没有很多钱来装修。n间寝室仅由n − 1条双向道路连接,而且任意两间寝室之间都可以互达。最近,r 128 被要求对一条路径上的所有寝室进行管理, 这条路径不会重复经过某个点或某条边。 但他不记得是哪条路径了。他只记得这条路径上有不少于k个寝室。 于是,他想请r 64 帮忙数一下,有多少条这样的路径满足条件。 嗯…还有一原创 2018-01-05 22:40:16 · 267 阅读 · 0 评论 -
[JZOJ5498]【清华集训2017模拟12.10】大佬的难题
Description给出三个1~n的排列a,b,c 求∑1≤i,j≤n[ai<aj][bi<bj][ci<cj]\sum\limits_{1\leq i,j\leq n}[a_i<a_j][b_i<b_j][c_i<c_j]n<=2e6Solution就是求长方体内的点的个数很容易想到的是排序,然后扫描,用二维数据结构或者分治+数据结构维护 这样的复杂度是O(Nlog2N)O(N\log^2N原创 2017-12-09 16:02:48 · 349 阅读 · 1 评论 -
[JZOJ5422]【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
Description给定N个向量vv 需要支持两种操作,修改某一个向量 或者对于一个区间[l,r][l,r],求∑l≤i<j≤r|vi×vj|2\sum\limits_{l\leq i<j\leq r}|v_i\times v_j|^2 ×\times代表向量叉积Solution因为(xi,yi)×(xj,yj)=xiyj−xjyi(x_i,y_i)\times(x_j,y_j)=x_iy_原创 2017-10-25 15:14:46 · 271 阅读 · 0 评论 -
[JZOJ5394]【NOIP2017提高A组模拟10.5】Ping
Description给出一棵树,并给出一些点对,要求你删掉最少的点,使得这些点对间不连通, (自己连自己删掉也不连通)求出删点数以及任意一种删除方案。Solution先考虑如果这是一条链点对可以看成区间 就是每一个区间中都至少选择一个点考虑贪心 区间按右端点排序,左到右扫,碰到了一个右端点,如果对应的左端点之间已经有选的了就不管,否则一定选这个点。因为排序后尽量选右边的点,可以让尽量多的区间原创 2017-10-06 16:36:14 · 289 阅读 · 0 评论 -
[JZOJ5229] 小奇的糖果
Description 有 N 个彩色糖果在平面上。小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果。求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色。 对于 100% 的数据,N ≤ 100000,K ≤ 100000,T ≤ 3。 线段两侧上下的点不算 Solution比赛的时候一直在想带修主席树的做法,大致思想还是停留在枚举线段的范围事实上这题有很♂妙♂的原创 2017-07-14 22:03:00 · 377 阅读 · 1 评论 -
【TJOI2014】[JZOJ3742] 上升子序列
Description 对于30%的数据,N<=5000 对于100%的数据,N<=10^5 Solution从前向后扫,这个数的贡献就是前面小于这个数的个数+前面小于这个数结尾的上升子序列数和。那么显然可以离散化以后树状数组维护。 去重的话,显然就是要减掉上一次这个数的答案。具体有一些细节要注意下。Code#include <cstdio> #include <cstdlib> #in原创 2017-04-02 17:00:57 · 999 阅读 · 0 评论 -
[JZOJ3893] 画矩形
Description有N个操作。 在平面直角坐标系中画一个边与坐标轴平行的矩形,输入左下角点坐标和右上角点坐标。 给出一个点坐标,查询被多少矩形覆盖。 所有点均在第一象限或X,Y轴的非负半轴上,N<=200000Solution经典的CDQ分治(整体二分)。 设矩形(x,y)(p,q) 一个矩形可以拆成四个点,(x,y),(x,q+1),(p+1,y),(p+1,q+1) 第一个点和第四个点原创 2017-01-21 15:35:19 · 240 阅读 · 0 评论 -
[JZOJ4711] Binary
Description Solution60%因为区间固定,所以并不需要线段树维护一个数组,记录每个二进制位是1的有多少个。然后修改就暴力改,询问就直接询问就好100%继续按照上面的思路,如果x>0x>0怎么办?还是按照每一位来,我们只需要看看减去了这个数每一位还有多少个1可以每一位维护一个树状数组,以原数组值作为下标,第ii位维护00~2i+1−12^{i+1}-1,大于2i+1−12^{i+1原创 2016-08-17 20:29:11 · 361 阅读 · 0 评论 -
[JZOJ6089]【CodeChef 2014 April Challenge】Final Battle of Chef【数据结构】【整体二分】
Description n,q,V≤100000,wi≤109n,q,V\leq 100000,w_i\leq 10^9n,q,V≤100000,wi≤109 Solution 又是一道大数据结构 由于有一个下取整,这就导致了不同时间的修改值是不能简单的直接加在一起的。 容易发现,1操作的影响只会影响到距离不超过log的点。 这样我们很容易得到一个qlognlog2Vq\log n\log...原创 2019-03-28 15:38:48 · 258 阅读 · 0 评论