CE玩家

人生最大的快乐,就是做别人说你做不到的事。

[链剖 FFT] LOJ#6289. 花朵

树形DP的转移是一个卷积的转移形式 可以先链剖,一个点的轻儿子先合并,然后一条重链用分治FFT合并 #include <cstdio> #include <iostream> #include &...

2018-03-05 10:34:14

阅读数:105

评论数:0

[主席树 链剖] LOJ#6073. 「2017 山东一轮集训 Day5」距离

刚开始想了一个很naive的分块加虚树的做法,不管时空复杂度还是代码复杂度都巨大 可以把问题转发成求 ∑i∈path(u,root)dis(pi,k)\sum_{i\in path(u,root)}dis(p_i,k) 再推一下式子就得到 ans=∑i∈path(u,root)dis(pi)+...

2018-01-18 09:58:56

阅读数:221

评论数:0

[长链剖分 & 线段树] BZOJ1758[Wc2010] 重建计划

学一发长链剖分 原来以前在ATCODER上做的一题就是这个套路…#include <cstdio> #include <iostream> #include <algorithm>using namespace std;const int N=100010;i...

2018-01-02 10:59:26

阅读数:152

评论数:0

[树链剖分 李超线段树] BZOJ4515 [Sdoi2016] 游戏

链剖以后就跟数列的做法一样了这题是区间覆盖区间查询,所以还要记一下区间里所有函数的最小值#include <cstdio> #include <iostream> #include <algorithm>using namespace std;typedef l...

2017-12-13 17:43:08

阅读数:336

评论数:0

[树链剖分 线段树] Codeforces 860E. Arkady and a Nobody-men

按照深度从小大加入,就是一个很典型的熟练剖分加线段树实现路径修改、询问的模型复杂度是 O(nlog2n)O(n\log^2n)最后一个点加个标记永久化、记忆化什么的卡一卡才能过…#include <cstdio> #include <iostream> #include &...

2017-10-18 12:28:56

阅读数:146

评论数:0

[分治最短路 && 树链剖分]Codechef September Challenge 2017 QGRID. Querying on a Grid

传送门 代码能力大屠杀系列 挺套路的题。 这个一个网格图,mm 只有3,那么第一想法就是对网格图分治。 对于分治到的区间 [l,r][l,r] ,令 mid=l+r2mid={l+r\over 2} ,就是中线。我们可以对中线上的 mm 个点各做一遍最短路,如果一个修改操作的两个点 x,y...

2017-09-13 19:06:11

阅读数:170

评论数:0

[BZOJ2325][ZJOI2011][树链剖分][线段树]道馆之战

调了一个晚上 代码又臭又长为什么zjoi2011的题目都是代码量那么大的题…考虑在一条链上的情况,可以用线段树记录一个区间的八个值-从左端点的A往右走的最大步数 -从左端点的B往右走的最大步数 -从右端点的A往左走的最大步数 -从右端点的B往左走的最大步数 -从右端点的A到左端点的A或从...

2017-03-13 21:54:40

阅读数:519

评论数:0

[BZOJ4127][树链剖分][线段树][乱搞]Abs

题意给定一棵树,设计数据结构支持以下操作 1 u v d 表示将路径 (u,v) 加d 2 u v 表示询问路径 (u,v) 上点权绝对值的和想了半天不会做…… 搜了发题解因为d非负,所以最多n次有一个从负数变成正数,那么用线段树记录一下区间中最大的负数,当这个最大负数加...

2017-03-02 20:49:15

阅读数:263

评论数:0

[POI][BZOJ4381]Odwiedziny 访问

题目大意给定一课NN个节点数,有MM个询问,询问从uu点每次跳kk个点到vv点经过的点权和。令ff为u,vu,v的lca,那么uu到vv的路径可以分成uu到ff再到vv对于每一个节点xx,令g(x,k)g(x,k)为从xx每次跳kk步到根节点的点权和,fa(x,k)fa(x,k)为xx往上走kk步...

2016-12-11 22:20:49

阅读数:297

评论数:0

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