上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 31 下一页
摘要: 题目 题意:求区间最大连续子段和,有单点修改 Solution s u m sum sum表示区间和, l l l表示包含左端点的最大连续子段和, r r r表示包含右端点的最大连续子段和, a l l all all表示整个区间的最大连续子段和 #include<bits/stdc++.h> us 阅读全文
posted @ 2018-12-13 15:39 Mingoal 阅读(22) 评论(0) 推荐(0)
摘要: 题目 Solution 查询 [ l , r ] [l,r] [l,r]时,输出 ( [ 1 , r ] 开 头 的 个 数 ) − ( [ 1 , l − 1 ] 结 尾 的 个 数 ) ([1,r]开头的个数)-([1,l-1]结尾的个数) ([1,r]开头的个数)−([1,l−1]结尾的个数) 阅读全文
posted @ 2018-12-13 14:57 Mingoal 阅读(14) 评论(0) 推荐(0)
摘要: 题目 题意: m m m个操作,每个操作可以把 x , y x,y x,y合并到一个集合,也可以把 x x x从它当前集合中删去,成为孤立的点,求最后的不同集合数量 Solution 如果真要从并查集里删一个数,那肯定是很麻烦的,而且我也不会,但是可以把 x x x留着,以后不再调用 x x x,把 阅读全文
posted @ 2018-12-12 15:19 Mingoal 阅读(39) 评论(0) 推荐(0)
摘要: 题目 每次尽可能选大的,不知道怎么证正确性,但感觉是对的 #include<cstdio> #include<algorithm> using namespace std; const int N=10002; int n,i,pos,fa[N],ans; struct node{ int x,y; 阅读全文
posted @ 2018-12-11 16:11 Mingoal 阅读(13) 评论(0) 推荐(0)
摘要: 题目 种类并查集 #include<bits/stdc++.h> using namespace std; int op,x,y,n,m,i,v[150003],ans; int find(int x){ return v[x]==x?x:v[x]=find(v[x]); } int main(){ 阅读全文
posted @ 2018-12-11 14:26 Mingoal 阅读(21) 评论(0) 推荐(0)
摘要: 题目 题解 set+左偏树 #include<bits/stdc++.h> using namespace std; const int N=300002; int fa[N],l[N],r[N],x,y,w[N],add[N],d[N],n,i,m,rx,ry,v; multiset<int>S; 阅读全文
posted @ 2018-12-11 10:53 Mingoal 阅读(17) 评论(0) 推荐(0)
摘要: 题目 题解 考虑斜堆中最后插入的那个结点,容易发现: (1)它一定是一个极左结点(就是从根往它的路上一直都是沿着左链走),因为插入的时候每次都是插入到左子树中; (2)它一定木有右子树,因为插入的时候每次都是把原来的某棵子树作为新结点的左子树; 满足(1)(2)的结点可能有多个,但紧接着可以发现,这 阅读全文
posted @ 2018-12-11 09:33 Mingoal 阅读(20) 评论(0) 推荐(0)
摘要: 题目 #include<bits/stdc++.h> using namespace std; #define mid ((l+r)>>1) const int N=200002,M=10000002; int rt[N],cnt,L[M],R[M],dep[M],n,m,opt,x,rx,ry,l 阅读全文
posted @ 2018-12-11 08:58 Mingoal 阅读(29) 评论(0) 推荐(0)
摘要: 题目 树状数组+并查集 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=100002; int n,i,v[N],fa[N],m,opt,l,r,tmp; ll tr[N]; inline 阅读全文
posted @ 2018-12-10 15:34 Mingoal 阅读(33) 评论(0) 推荐(0)
摘要: 洛谷IDE上一份代码把某些句子删掉测一下,再加回来,会使output改变 #include<bits/stdc++.h> using namespace std; long long ans=0,t=0; char s[1001]; int main() { // scanf("%s",s); ge 阅读全文
posted @ 2018-12-02 20:28 Mingoal 阅读(20) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 31 下一页