
可持久化线段树
文章平均质量分 61
geng4512
蛤蛤蛤蛤
展开
-
BZOJ3218 UOJ#77 A+B Problem(最小割+主席树)
竟然在BZOJ上拿了Rank1太给力啦。传送门(BZOJ)传送门(UOJ)说说这道题目吧:首先是说说这个构图吧。因为有选择关系,我们很容易想到最小割。Ans = sigma(i为白色){w[i]} + sigma(i为黑色){b[i]} - sigma(奇怪的i){p[i]} 转化一下就变成了sigma(所有的i){w[i]+b[i]} - sigma(i为白色){b[i]原创 2016-02-24 00:34:47 · 3155 阅读 · 0 评论 -
BZOJ3932: [CQOI2015]任务查询系统
传送门 题目大意:在[s,e](闭区间)上加入一个数字k(就相当于在s时刻放入,e+1时刻取出)。支持询问在t时刻时的第k大数。想一想就可以知道主席树能水过这道题。/************************************************************** Problem: 3932 User: geng4512 Language: C++原创 2016-02-04 13:46:09 · 1021 阅读 · 0 评论 -
BZOJ4556: [Tjoi2016&Heoi2016]字符串
这道题说难也不难,但是有一个很经典的维护主席树的思想。首先我们先建出一个后缀数组,然后我们按照sa的顺序建一棵以原串下表为权值的主席树,查询(a,b,c,d)(a, b, c, d)的时候,先二分一个长度,找出sa中串[c,c+len][c, c+len]的区间,然后查询区间中是否有下标属于[a,b−len+1][a, b-len+1]。 代码:#include <cstdio>#include原创 2016-07-06 23:31:21 · 1136 阅读 · 0 评论