Icefox的博客

生活不止眼前的苟且,还有诗和远方。

排序:
默认
按更新时间
按访问量

bzoj4372 烁烁的游戏(点分治+线段树)

无限CE…一丝丝怀疑人生qaq 考虑点分树维护这个东西。每个节点x开一颗线段树,每个叶子节点i记录距离x距离为i的点加了多少。每次修改/询问在点分树上跳父亲就好了。然后还要容斥一下多加的部分,因此需要每个点再开一颗线段树表示到fa[x]距离为i的要减掉多少。 可以吧前缀加单点询问变成单点加后缀...

2018-07-14 18:26:36

阅读数:1346

评论数:0

bzoj3083 遥远的国度(树链剖分+换根)

树链剖分基本操作,换根其实就是把dfs序列分裂,倍增找一下当前rt到询问点x的儿子,把这一段区间去掉即可。 #include <bits/stdc++.h> using namespace std; #define ll long long #defi...

2018-07-13 20:09:12

阅读数:58

评论数:0

Codeforces Round#495

A #include <bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f3f3f3f #define N 100010 inline ...

2018-07-06 23:57:01

阅读数:46

评论数:0

6.24NOI 模拟赛

A.小w、小j和小z 我可能是个傻子,两个人i,j相撞的要求就是 si<sj,ti>tj或者si>sj,ti<tjsi<sj,ti>tj或者si&...

2018-06-24 23:03:03

阅读数:46

评论数:0

bzoj4448 [Scoi2015]情报传递(树上主席树+离线)

#include <bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f3f3f3f #define N 200010 inline char ...

2018-06-22 12:02:32

阅读数:35

评论数:0

bzoj4849 [Neerc2016]Mole Tunnels(模拟费用流)

这题看完之后很容易想到费用流,但是n太大了不能直接跑。 我们考虑模拟这个费用流的增广过程,每次多了一条S->x的容量为1,费用为0的边后,我们要找一条费用最低的x->T的路径来增广,也就是要在树上找距离x最近的一个还有食物的点。因为是完全二叉树,所以我...

2018-06-22 10:58:07

阅读数:43

评论数:0

bzoj5084 hashit(广义SAM+set动态维护树链的并)

给出的字符串可以很方便的建成Trie树的若干个字符串的形式。 然后我们对Trie树建出广义SAM 那么每次询问的答案就是目前Trie树上所有点在parent树上的点到根的若干树链的并的点i的mx[i]-mx[par[i]] 我们可以用set+dfs序来动态维护树链的并的长度。 注意到x到根...

2018-06-21 22:56:08

阅读数:95

评论数:0

bzoj2435 [Noi2011]道路修建(树)

小水题~ #include <bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f3f3f3f #define N 1000010 inline char g...

2018-06-16 22:46:59

阅读数:63

评论数:0

bzoj4765 普通计算姬(分块+树状数组)

分块大法好啊qaq 我们按编号分块,预处理出f[x][i]表示改动x节点对第i块的影响有几个点 然后dfs序+BIT维护一下子树和。 复杂度O(m(n−−√+logn+n−−√logn))O(m(n+logn+nlogn))O(m(\sqrt n+log n+\sqrt n logn)) ...

2018-06-16 21:52:55

阅读数:95

评论数:0

bzoj3123 [Sdoi2013]森林(树上主席树+启发式合并)

求路径k小值,树上主席树即可。 还有合并两棵树的操作,我们可以启发式合并。 复杂度O(nlog2n)O(nlog2n)O(nlog^2n) 这题真是充分体现了我的zz 一开始 洛谷 T,发现离散化以后就过了luogu 然后bzoj T ,怪罪于垃圾回收,删了果然过了 然而突然发现,我的...

2018-06-16 17:43:37

阅读数:118

评论数:1

CF414E Mashmokh's Designed Problem(ETT+二分)

ETT维护欧拉序。每个点维护它的深度,出点入点基本无异。 第一个操作求个lca就好了qaq,x,y的lca就是(in[x],out[y])中深度最小的点的父亲。 第二个操作,x的kth祖先,就是[1,in[x]]中最靠右的深度为dep[x]-k的点。 第三个操作,我们注意到欧拉序上一段连续的...

2018-06-14 12:18:54

阅读数:67

评论数:0

bzoj3786 星系探索(ETT)

ETT就是Euler Tour Tree,用平衡树来维护欧拉序。 而欧拉序可以写成很多形式: 1.The first way is to write down all edges of the tree, directed, in order of DFS. This is how ETT i...

2018-06-14 10:05:35

阅读数:84

评论数:0

bzoj5289 [Hnoi2018]排列(贪心+树+set)

首先把限制翻译一下就是考虑p这个排列,aiaia_i必须出现在i前面,连边aiaia_i->i。发现约束关系是一棵以0为根的树。(有环就无解) 现在的问题就变为,给定一棵树,每个点有点权,你要给每个点再分配一个不同的pipip_i,需要满足pi>pfa...

2018-06-11 15:09:41

阅读数:103

评论数:0

Codeforces Avito Code Challenge 2018

CF981A Antipalindrome(字符串+模拟) #include <bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f3f3f3f #def...

2018-05-28 10:59:30

阅读数:73

评论数:0

bzoj5361 [Lydsy1805月赛]对称数(树上主席树+二分答案)

给定一棵树,每个点有权值,求路径上最小的出现了偶数次(可以为0)的权值。 比赛时试图树上莫队+线段树(O(nlogn−−−−−√)O(nlogn)O(\sqrt{nlogn}))卡过去,然而当然是不可能的啦囧。 正解是我们对每个点一颗线段树维护到根的路径上的权值区间的异或和。 但是这样很有可...

2018-05-27 22:17:32

阅读数:163

评论数:0

bzoj3569 DZY Loves Chinese II(图论+线性基)

给定一张无向连通图,多次询问删掉k条边之后是否连通。 我们先搜出一棵生成树,对于每条非树边我们随机一个权值给它。 树边的权值就是所有覆盖它的非树边的权值的异或和。 那么删掉k条边之后不连通当且仅当这k条边的权值的一个子集异或和为0 即把一条树边及覆盖它的所有非树边都删去了。用线性基O(kl...

2018-05-26 11:36:28

阅读数:45

评论数:0

bzoj5333/loj2566 [Sdoi2018]荣誉称号(树形dp)

如果把⌊i2⌋⌊i2⌋\lfloor \frac{i}{2}\rfloor看做i的父亲,那么这显然是一棵完全二叉树。 题目就是要求每个点i往上跳k条边,这k+1个点的权值和%m==0. 不难看出,权值只在%m意义下讨论即可,而且如果确定了前k+1层的点,剩下的点的权值是唯一的。 因此我...

2018-05-24 22:10:07

阅读数:68

评论数:0

bzoj3307 雨天的尾巴(树上差分+线段树合并)

每个点一颗权值线段树,因为只有最后一次询问,因此我们可以树上差分,最后一遍dfs合并出来。点数应该最多是4n4n4n的,所以复杂度应该还是O((n+m)log1e9)O((n+m)log1e9)O((n+m)log1e9)的 #include <bits/stdc++.h&...

2018-05-24 16:26:25

阅读数:192

评论数:0

CF963B Destruction of a Tree(树+构造)

给定一棵树,每次删掉一个偶数度数的点及他的边,问能否把这棵树全删掉。 可以证明偶数个点的树一定不行。(每次一定是删掉偶数条边,而偶数个点的树有奇数条边。) 奇数个点的树一定可以。为啥呢,你只要会证就好啦。 证明具体参见Visjiao 博客:portal #include &...

2018-05-23 10:23:40

阅读数:104

评论数:0

hdu4117 GRE Words(ACAM+fail树+线段树)

首先我们有如果i< j,且sisis_i为sjsjs_j的子串,那么有转移f[j]=f[i]+w[j]f[j]=f[i]+w[j]f[j]=f[i]+w[j] 其中f[i]f[i]f[i]表示以第i个串结尾的最大答案。对f[i]f[i]f[i]取max即为答案。 我们考虑...

2018-05-20 21:24:59

阅读数:70

评论数:0

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