博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  高级数据结构——主席树

摘要:咕咕了两个半月的题 阅读全文
posted @ 2021-02-10 23:12 SovietPower 阅读(156) 评论(0) 推荐(0) 编辑
摘要:给定长为n的序列Aim次询问,每次给定l,r,求minli,jr,ij|AiAj|n105, m3×105阅读全文
posted @ 2019-04-25 08:43 SovietPower 阅读(262) 评论(2) 推荐(0) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-04-16 17:32 SovietPower 阅读(153) 评论(0) 推荐(0) 编辑
摘要:其实是NOI2018(雾 阅读全文
posted @ 2019-04-10 18:34 SovietPower 阅读(170) 评论(0) 推荐(0) 编辑
摘要:有n个座山,其高度为hi。有m条带权双向边连接某些山。多次询问,每次询问从v出发 只经过边权<=x的边 所能到达的山中,第K高的是多少。 强制在线。 阅读全文
posted @ 2018-09-18 19:02 SovietPower 阅读(299) 评论(0) 推荐(0) 编辑
摘要:BZOJ DBZOJ 记mx为最大的满足1mx都能组成的数。 考虑当前能构成1v中的所有数,再加入一个数x,若x>v+1,则mx=v,x不会产生影响;否则x<=v+1,则新的mx=x+v。 对于区间[l,r]的询问,模拟这个过程。假设当前答案为v,查询[l,r]中值在[1,v+1]中的数的和sum, 阅读全文
posted @ 2018-09-12 20:00 SovietPower 阅读(191) 评论(0) 推荐(0) 编辑
摘要:给定一个长为n的序列,多次询问[l,r]中最大的只出现一次的数。强制在线。 阅读全文
posted @ 2018-06-30 15:28 SovietPower 阅读(190) 评论(0) 推荐(0) 编辑
摘要:"题目链接 BZOJ" "洛谷" 区间第k小,我们可以想到主席树。然而这是静态的,怎么支持修改? 静态的主席树是利用前缀和+差分来求解的,那么对于每个位置上的每棵树看做一个点,拿树状数组更新。 还是树状数组的过程,区间加时,每到一个位置在这棵主席树中插入这个数。 查询时,将所有询问要访问到的主席树存 阅读全文
posted @ 2018-03-26 21:13 SovietPower 阅读(338) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题意: 在给定矩形区域内找出最少的数,满足和 =k。输出数的个数。两种数据范围。 0~50 注意到(真没注意到...)P[i,j]=v的个数,val[i][j][v]表示(1,1)~(i,j)值 =v的所有数的和。(不要被什么 =v坑,和二维前缀和一样,只是一个点的初始值为A[i,j] 阅读全文
posted @ 2018-03-26 16:43 SovietPower 阅读(200) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 要求 b xor (aj+x) 最大,应让 aj+x 的最高位尽可能与b相反。带个减法Trie树好像很难做?反正我不会。 从最高位开始,如果这位b是0/1,判断是否存在 $sum+(1 include include define gc() getchar() cons 阅读全文
posted @ 2018-03-26 12:35 SovietPower 阅读(170) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 阅读全文
posted @ 2018-03-26 10:22 SovietPower 阅读(181) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 对于这一区间的操作,我们可以想到差分+前缀和(感觉也没什么别的了。。)。 同时对于本题我们能想到主席树,而主席树正是利用前一个节点建树的。 所以离散化、按时间排序,把操作拆成单点加和减即可。 另外优先级会有重,权值线段树是去重后的,所以要记录sz "" 并根据这个算出k个。 但是对于同 阅读全文
posted @ 2018-03-26 09:17 SovietPower 阅读(208) 评论(0) 推荐(0) 编辑
摘要:[TOC] 2018.3.22 Test 时间: 7:30~11:40 得分: 80+65+20=165 总结 时间分配。。 2个月前写的都忘的差不多了。。 注意: T2合并一棵子树,这棵子树某些点的dep[x]可能会变小,于是fa[x][..]应变为0,但如果在循环里写 `&&(1 特判输出2也要 阅读全文
posted @ 2018-03-22 15:41 SovietPower 阅读(225) 评论(0) 推荐(0) 编辑
摘要:"题目链接" cpp //离散化后范围1~cnt不要错 include include include // define gc() getchar() define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EOF: SS+ 阅读全文
posted @ 2018-02-12 08:22 SovietPower 阅读(196) 评论(0) 推荐(0) 编辑
摘要:"题目链接" cpp / 序列上的主席树 某点是利用前一个点的根建树 同理 树上的主席树 某个节点可以利用其父节点(is unique)的根建树 排名可以利用树上前缀和求得: 对于(u,v),w=LCA(u,v),u v这条链的值就是 sum "u root]+sum[v root] sum[w r 阅读全文
posted @ 2018-02-12 08:22 SovietPower 阅读(153) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示