zyf2000

"No regrets."

[BZOJ4756][Usaco2017 Jan]Promotion Counting(可持久化线段树)

题目描述传送门题解主席树好久没打也是各种手残啊 这题也是线段树合并的裸题过几天写一发!代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #incl...

2017-03-30 21:51:27

阅读数:697

评论数:0

[BZOJ4212]神牛的养成计划(trie+可持久化trie)

题目描述传送门题解这个tag好奇怪啊 首先将字符串按照字典序排序,这样有相同前缀什么的串就到一起了 然后依次将串插入一个trie,每一个点维护一下能匹配到这个点的串的左右端点 然后将每个串反过来建立可持久化trie 对于每一个询问,首先在trie上匹配一下,看匹配到的左右端点是什么。然后在...

2017-03-05 20:23:24

阅读数:734

评论数:0

[BZOJ4408][Fjoi 2016]神秘数(可持久化线段树)

题目描述传送门题解首先考虑O(mnlogn)O(mnlogn)的做法 将询问的一段区间由小到大排序,假设现在已经用前k个数组合出了[1..x]中的所有整数,那么现在考虑加入第k+1个数 若k<=x+1,那么我们一定可以组合出[1..x+k]的所有整数,不会出现断层 若k>x+1,...

2017-03-04 16:39:10

阅读数:848

评论数:0

[BZOJ3218][UOJ#77]A+B Problem(可持久化线段树+最小割)

题目描述传送门题解第一次见数据结构和网络流结合的题目 orz vfk首先这题一眼最小割嘛 s->i,bi;i->t,wi 对每一个点i建立一个虚拟的点i’,i->i’,pi 然后如果li<=a(j)<=ri且1<=j<=i-1,那么连边i’->...

2017-02-10 07:55:25

阅读数:343

评论数:0

[BZOJ4556][Tjoi2016&Heoi2016]字符串(后缀数组+二分+st表+主席树)

题目描述传送门题解思路清晰就很好写… 首先二分答案mid 找到Suffix(c),在height数组中向左向右分别二分最远的lcp为mid的后缀 用st表实现O(1)O(1)查询 然后就判断[l,r]中是否出现了a…b的后缀 用可持久化线段树判断即可常数大,需要卡卡常数 学习了学姐的一...

2017-01-11 14:52:00

阅读数:614

评论数:0

[BZOJ3932][CQOI2015]任务查询系统(主席树||树状数组套主席树)

题目描述 传送门 题解 主席树的代码还真是短。 思路很好想,对于区间[l,r],只需要在l处+1并在r+1处-1就可以用前缀和来维护了。 那么可以主席树套个树状数组维护前缀和。 不过20s卡时跑过,,,不管怎么说多一个log嘛。。。 我们还可以这样考虑,首先把所有的点读进来,然后按照...

2017-01-06 09:23:57

阅读数:685

评论数:0

[BZOJ3207]花神的嘲讽计划Ⅰ(hash+可持久化线段树)

题目描述传送门题解把长度为k的子串hash起来然后离散化 建立可持久化权值线段树,每一次在一段区间上查询即可代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdi...

2017-01-02 20:43:48

阅读数:474

评论数:0

[BZOJ3674]可持久化并查集加强版(可持久化线段树+并查集)

题目描述传送门题解可持久化并查集,实际上就是用可持久化线段树维护一下每一个点的father。这道题我加了路径压缩,这样的话感觉不是很科学,因为最坏情况下应该是log2log^2的。 据说这道题应该用按秩合并?代码#include<iostream> #include<cstr...

2016-12-15 16:45:03

阅读数:397

评论数:0

[BZOJ3123][Sdoi2013]森林(主席树启发式合并)

题目描述传送门题解主席树的启发式合并裸题? 坑点: ①强制在线,但是我刚开始的时候ans里存的并不是答案,而是离散化之后的值,gg。 ②合并的时候lca数组要完全清空。代码#include<algorithm> #include<iostream> #inclu...

2016-12-15 16:42:55

阅读数:495

评论数:0

[BZOJ3166][Heoi2013]Alo(可持久化线段树+可持久化tire树)

题目描述传送门题解xorxor的操作很容易想到可持久化trie树,但是关键是次大值比较头疼。 可以发现,如果可以维护出来每一个点向前和向后第一个以及第二个比它大的值的位置就可以确定区间了。 实际上,可以用可持久化线段树的思想来搞。将所有的值从大到小排序,然后按照每一个点的位置插入线段树,相当于...

2016-12-15 16:41:21

阅读数:479

评论数:0

[BZOJ3261]最大异或和(可持久化trie树)

题目描述传送门题解设sum[i]sum[i]表示1...i1...i的异或和,那么题目要求的即为sum[i]sum[i]^sum[n]sum[n]^xx。由于sum[n]sum[n]和xx都是定值,那么我们需要维护的就是sum[i]sum[i]。 将sum[i]sum[i]转化为二进制数,然后建...

2016-12-15 16:37:55

阅读数:342

评论数:0

[BZOJ2653]middle(二分+主席树)

题目描述传送门题解可以发现所有满足条件的中位数是具有单调性的,也就是说,如果M′<MM'<M,且MM为合法的中位数,那么M′M'也为合法的中位数。这样说并不准确,因为M′M'有可能根本就不在子序列中,但是仍然可以利用这种单调性二分,因为最终找到的中位数一定是合法的。 这里利用了一个非...

2016-12-12 20:28:46

阅读数:778

评论数:4

[BZOJ3772]精神污染(dfs序+主席树)

题目描述传送门题解对于每一条链计算能完全覆盖它的有多少条。 处理出来dfs序了之后,可以发现边大概分为三种情况:x和y的lca不是x和y中的某一个,x和y的lca是x或y,还有就是一条路径就是一个点。对于第一种情况,能覆盖它的路径一定是一个端点在x的子树里,一个端点在y的子树里。对于第二种情况,...

2016-12-12 15:45:23

阅读数:946

评论数:0

[BZOJ1803]Spoj1487 Query on a tree III(dfs序+主席树)

题目描述传送门题解裸dfs序+主席树。代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> using namespace std; #define N...

2016-12-09 20:05:14

阅读数:357

评论数:0

[BZOJ4448][Scoi2015]情报传递(树上主席树)

The sky isn’t always blue; The sun doesn’t always shine. It’s okay to fall apart sometimes.

2016-09-25 17:22:32

阅读数:680

评论数:2

[BZOJ4539][Hnoi2016]树(dfs序+主席树+lca)

将军有剑,不斩苍蝇。

2016-08-05 18:58:11

阅读数:622

评论数:0

[BZOJ2809][Apio2012]dispatching(枚举&dfs序+主席树||可并堆||splay+启发式合并)

你要堕落,神仙也救不了; 你要成长,绝处也能逢生。

2016-05-13 20:30:15

阅读数:1199

评论数:0

[BZOJ2588]Count on a tree(可持久化权值线段树|主席树)

忍耐,也是一件美好的事,但前提是你有非常清晰的未来版图,你知道忍耐这一段后,会有什么等着你,你愿意为此暂时收起自己的羽毛。

2016-05-13 20:28:41

阅读数:793

评论数:0

[BZOJ1901]Dynamic Rankings(动态主席树)

在事情未成功之前,人们总说不可能。

2016-05-13 20:26:42

阅读数:504

评论数:0

[BZOJ3524][Poi2014]Couriers(主席树)

真正有信心的人不怕暴露自己的缺点,试图掩盖粉饰才是没有信心的表现。

2016-05-02 17:33:14

阅读数:920

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭