数据结构--离散化
fnq9999
这个作者很懒,什么都没留下…
展开
-
Codeforces 863E Turn Off The TV 差分 and 离散化
题意:给你N段线段,输出任意一个可以删掉的线段,删掉之后不改变原来的线段覆盖范围。 解: 1.将数据离散化保存,每个线段贡献3个数据,l,r,r+1 2、然后利用基于前缀和线段修改 3、线段树查询最值。 #include<bits/stdc++.h> #define ll long long using namespace std; const ll maxn =6e5+1...原创 2019-10-12 10:17:14 · 277 阅读 · 0 评论 -
Codeforces 817F MEX Queries 线段树 and 0/1区间修改
离散化+线段树 #include<bits/stdc++.h> #define en '\n' #define ll long long using namespace std; const ll inf=1e18+2; const ll maxn = 1e5+5; const ll maxm=maxn*36; ll rd() { ll x=0,f=1;char ch...原创 2019-10-01 13:53:03 · 144 阅读 · 0 评论 -
Codeforces 817F MEX Queries 线段树
区间修改找最前面0的位置 两个标记: 区间置数很容易理解: 考虑区间翻转的话, 区间置数优先级>区间翻转 然后我们置数时,要将rec_tag清空 #include<bits/stdc++.h> #define en '\n' #define ll long long using namespace std; const ll inf=1e18+2; const...原创 2019-10-01 13:55:33 · 116 阅读 · 0 评论 -
P2633 Count on a tree 树链上第k大
题意:在线询问树一条练上的第K大 解:主席树查询 sum[x]+sum[y]-sum[lca(x,y)]-sum[f[lca]]; 这里的主席树建树实在dfs过程当中build的 #include<bits/stdc++.h> #define en '\n' #define ll long long const int maxn =1e5+10; using namespace...原创 2019-10-04 09:49:36 · 119 阅读 · 0 评论