2020年2月3日

摘要: 1 /* 2 段改求点 3 用树状数组维护差分数组 4 因为a[i]=d[1]...d[i] 5 所以用差分数组的化就很好进行查询操作 6 至于区间修改,因为[x,y]区间内加上k的操作对差分数组造成的改变只有d[x]和d[y+1] 7 直接用树状数组的基本操作给加上就好了 8 */ 9 #incl 阅读全文
posted @ 2020-02-03 22:52 greenofyu 阅读(119) 评论(0) 推荐(0)
摘要: 改点求段 1 #include<iostream> 2 using namespace std; 3 const int N=5e5+100; 4 int n,m; 5 int a[N]; 6 int c[N]; 7 int lowbit(int x) 8 { 9 return x&(-x); 10 阅读全文
posted @ 2020-02-03 19:53 greenofyu 阅读(152) 评论(0) 推荐(0)
摘要: 开局一张图,剩下全靠编。 对于树状数组,我的理解是有技巧的应用前缀和+神仙一般的二进制规律 1、改点求段 改点从下往上,将全部包括了这个点的c全部更改 1 int lowbit(int x) 2 { 3 return x&(-x); 4 } 1 void add(int x,int y)//将第x个 阅读全文
posted @ 2020-02-03 19:52 greenofyu 阅读(119) 评论(0) 推荐(0)
摘要: 1 #include<iostream> 2 using namespace std; 3 const int N=4e5+100; 4 struct edge 5 { 6 int from; 7 int to; 8 int nex; 9 }; 10 edge a[N]; 11 int head[N 阅读全文
posted @ 2020-02-03 16:11 greenofyu 阅读(174) 评论(0) 推荐(0)

2020年2月1日

摘要: 先写所谓的种类并查集。 就是开3*n的空间,前n为A,后边依次是B,C 食物链为A->B->C->A 对于每句话都是先判断是否合法,然后在改并查集就好了 1 #include<iostream> 2 #include<fstream> 3 using namespace std; 4 const i 阅读全文
posted @ 2020-02-01 16:21 greenofyu 阅读(148) 评论(0) 推荐(0)
摘要: 1 #include<iostream> 2 #include<cstring> 3 #include<climits> 4 #include<algorithm> 5 using namespace std; 6 struct edge 7 { 8 int x,y,t; 9 }a[100009]; 阅读全文
posted @ 2020-02-01 10:48 greenofyu 阅读(264) 评论(0) 推荐(0)

2020年1月27日

摘要: 最大正方形 1 //找出一个01矩阵中最大的全为一的正方形,并输出边长 2 #include <iostream> 3 #include<cstdio> 4 #include<cstdlib> 5 #include<cmath> 6 #include<cstring> 7 #include<algo 阅读全文
posted @ 2020-01-27 15:34 greenofyu 阅读(166) 评论(0) 推荐(0)

2020年1月26日

摘要: 直接干 1 #include<iostream> 2 #include<algorithm> 3 #include<climits> 4 using namespace std; 5 struct edge 6 { 7 int from,to,weight; 8 }a[100010];//存边 9 阅读全文
posted @ 2020-01-26 11:37 greenofyu 阅读(146) 评论(0) 推荐(0)
摘要: 从邻接矩阵中提取出边,然后跑一边kruscal 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 struct node 5 { 6 int x,y,w; 7 }; 8 int cnt=0;//记录边数 9 nod 阅读全文
posted @ 2020-01-26 11:08 greenofyu 阅读(201) 评论(0) 推荐(0)

2020年1月24日

摘要: 博弈论是真的难!? 给你两个数,每次只能从大的那个减去小的数的正整数倍,先得到零的人获胜 分析一下,(假设为x,y,且x>y),x=ky+z,若k>=2,那么我(是不是就可以为所欲为了)想一下减完或者,留一个给对手减是不是都行,然后我再往后分析下,我不就必胜了么? 所以遇到了这种情况或者我可以直接赢 阅读全文
posted @ 2020-01-24 13:07 greenofyu 阅读(220) 评论(0) 推荐(0)