上一页 1 2 3 4 5 6 7 8 ··· 23 下一页
摘要: 小B有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。小B请你帮助他回答询问。 可是使用莫队算法,我们移动的时候,计算贡献即可,那么如何计算贡献呢?? 我们 阅读全文
posted @ 2019-09-16 16:52 bluefly-hrbust 阅读(167) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> using namespace std; const int maxx = 1e6+6; int a[maxx]; int vis[maxx]; int ans[maxx]; int block; int res; 阅读全文
posted @ 2019-09-16 11:06 bluefly-hrbust 阅读(162) 评论(0) 推荐(0) 编辑
摘要: TMD。。。这题卡内存卡的真优秀。。。 所以以后还是别用主席树的写法。。。不然怎么死的都不知道。。。 树套树中,主席树方法开权值线段树。。。会造成空间的浪费。。。这道题内存卡的很紧。。。 由于树套树已经不需要持久化了,直接动态开点就完事了。。。用主席树方法开过不去,要么超内存,要么越界。。。 大概思 阅读全文
posted @ 2019-09-13 13:17 bluefly-hrbust 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 带修改的主席树,其实这种,已经不能算作主席树了,因为这个没有维护可持久化的。。。 主席树直接带修改的话,由于这种数据结构是可持久化的,那么要相应改动,这个节点以后所有的主席树,这样单次修改,就达到n*log n 的复杂度 现在介绍这种待修改的主席树,本质上是用树状数组的区间查询维护的线段树,树状数组 阅读全文
posted @ 2019-09-12 16:26 bluefly-hrbust 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 这题挺有意思哈!!!看别人写的博客,感觉瞬间就懂了。 这道题大概题意就是,给一串序列,我们要查找到l-r区间内,满足min(a[ i ],a[ j ]) = gcd(a[ i ],a[ j ]) 其实我们把这个东西看成一个二元组,<i,j> 二元组满足 min(a[ i ],a[ j ]) = gc 阅读全文
posted @ 2019-09-11 22:05 bluefly-hrbust 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 这道题当时用线段树搞不行,用主席树搞,也不行。当场自闭。。。 其实当时想到离散,但是没想到用单点维护线段树的区间。。。。。。 你这样想,无非就是2e6次询问,最多1-e9被分成最多2e6区间,我们要求的位置,一定在这2e6点的右边第一个。 那么把这个点,以及这个点x以及x+1的点保存下来。 维护的时 阅读全文
posted @ 2019-09-11 19:51 bluefly-hrbust 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 我们不以权值建立主席树,而是区间端点作为值建立线段树,一个个插入a[i],我们发现这个数之前是存在的,就需要在上个版本的主席树上减去原来的位置,并加上现在的位置,这样我们在i版本的主席树,维护1-r中,所有数最后一次出现的位置,然后实现区间查询,即可。 阅读全文
posted @ 2019-09-10 21:25 bluefly-hrbust 阅读(349) 评论(0) 推荐(0) 编辑
摘要: struct node{ int l,r; mutable int v; node(int L,int R,int V):l(L),r(R),v(V){} inline bool operator s; typedef set::iterator IT; int ans; inline IT split(int pos){ IT it = s.lower_boun... 阅读全文
posted @ 2019-09-10 00:49 bluefly-hrbust 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 还是模板题。。。直接暴力即可。。。ODT是个好的数据结构啊。。。 阅读全文
posted @ 2019-09-10 00:48 bluefly-hrbust 阅读(195) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<set> #define LL long long using namespace std; const int N = 1e5+6,mod=1e9+7; struct node{ int l,r; mutable LL v; n 阅读全文
posted @ 2019-09-09 20:40 bluefly-hrbust 阅读(245) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 23 下一页