可持久化数据结构
人菜瘾大aaabbbb
这个作者很懒,什么都没留下…
展开
-
可持久化线段树&主席树----查询区间第k大(POJ-2104)
题意:求区间第k大的数是哪个看了卿姐的的视频学会了主席树#include<iostream>#include<vector>#include<algorithm>using namespace std;const int maxn=2e5+6;int n,m,cnt,root[maxn],a[maxn];struct node{ ...原创 2019-04-24 19:55:32 · 478 阅读 · 1 评论 -
SPOJ COT Count on a tree 树上主席树&链上点权第k大
题意:给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),输出节点u到节点v这条链上第k大的点。思路:树上主席树,对于树上每一个节点建一个权值线段树,利用lca求出u-->lca-->v这条链,对于这几颗线段树root[u],root[v],root[lca],root[f[lca][0]],利用容斥计算出这条链上的权值线段树,再进行查询。#inclu...原创 2019-05-01 09:58:27 · 296 阅读 · 0 评论 -
2019ICPC南昌邀请赛网络赛J题 树上主席树&链上边权第k大
裸的树上主席树需要注意:1.最后需要查询的部分是:query(1,n,root[l],root[r],root[lca],root[lca],k))即l+r的前缀和减去两个lca的前缀和2.这里的倍增操作,需要使用log数组先预处理出来,否则会超时#include<bits/stdc++.h>using namespace std; ...原创 2019-06-30 20:05:32 · 202 阅读 · 0 评论