关闭

[可持久化可并堆 || ST表 点分治] BZOJ 3784 树上的路径

显然是用堆来维护 每弹出一个解 加入其后继 怎么定义后继 经典做法是点分后维护一个类似超级钢琴的东西 首先对这棵树进行点分治,在分治的时候将所有点到根的距离依次放入一 个数组qq中 对于一棵子树里的点,合法的路径一定是qlql到qrqr的某个数加上自己到重心的距离 定义五元组(v,l,m,r,w)(v,l,m,r,w),表示当前路径长度为vv,在[l,r][l,r]里选出最...
阅读(179) 评论(0)

[K短路 可持久化堆] HDU 5960 Subsequence

建图不难 然后直接上K短路 A*被完虐 #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)); using namespace std; typedef long long ll; inline char nc(){ static char buf[1000...
阅读(213) 评论(0)

[K短路 可持久化堆 最短路径树] JDFZ 2978 第k短路(强)

链接:https://oj.jdfz.com.cn/oldoj/problem.php?id=2978 鼎爷的【课件】堆的可持久化和k短路 #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)); using namespace std; ty...
阅读(164) 评论(0)

[Notes] 可持久化数据结构学习笔记

可持久化数据结构 就是使数据结构可以返回历史版本 一般的实现方法是新建有修改的点 其他点与上一版本共用 这样做到空间复杂度带上一个或两个log 主席树(可持久化线段树、函数式线段树) 每次新增一条从叶子到根的链 因为有修改 学习参考资料: MetalSeed: 主席树介绍 qian99: 主席树学习笔记 Seter: 1901: Zju2112 Dyna...
阅读(1817) 评论(0)

[可持久化字典树] BZOJ 4546 codechef XRQRS

这就是个大模板题 本来后两个操作想再打个主席树 后来发现可持久化字典树就是主席树 #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(bu...
阅读(457) 评论(0)

[可持久化字典树 分块] BZOJ 2741 【FOTILE模拟赛】L

先异或取前缀和 最大异或值 可持久化字典树 然后么 区间问题 分块 用f[i][j] 表示 第i块中的数与i-j块的数的最大异或值 然后边角处理下 复杂度一个根号一个log #include #include #include #include using namespace std; typedef long long ll; inline char nc() { ...
阅读(326) 评论(0)

[可持久化字典树 set] BZOJ 3166 [Heoi2013]Alo

枚举每个点 处理出它能作为次大值的区间 然后就是数据结构的问题了 “按照权值的倒序,set维护位置,依次插入,则x的可行区间为[x前驱的前驱+1,x后继的后继-1](两半合起来)” ——hzwer #include #include #include #include using namespace std; inline char nc() { static c...
阅读(228) 评论(0)

[可持久化字典树] BZOJ 3261 最大异或和

表达式形如Xor[p]^Xor[n]*x 然后就是个裸的最大异或和了 在前面加个0 会好做点 #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fr...
阅读(252) 评论(0)

[主席树 二分答案] BZOJ 2653 middle

题解:http://blog.csdn.net/acm_cxlove/article/details/8566093 要求中位数最大,首先二分中位数,然后判断可行不可行。 判断X可行不可行,对于区间内的数,凡是>=X的标为1,否则为-1。这样的话,求一次最大区间和 如果大于等于0,则说明可行。 #include #include #include u...
阅读(158) 评论(0)

[主席树 树状数组套权值线段树] BZOJ 1146 [CTSC2008]网络管理Network

CTSC的裸题么 先建主席树  然后修改么 可以发现对整棵子树有影响 对每个点记录每个权值的改变量 然后用差分的思想 用树状数组区间修改 单点查询 A掉后发现不用打主席树 可以最初的权值也可以树状数组上改  结果稍微改下程序 慢了5倍233 #include #include #include #define V G[p].v using namespace std;...
阅读(409) 评论(0)

[主席树] BZOJ 3673 可持久化并查集 by zky BZOJ 3674 可持久化并查集加强版

什么时候去用rope水一下 贴3674的代码吧 3673没看到没在线了 炸死了 #include #include #include #define V G[p].v using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=b...
阅读(253) 评论(0)

[主席树 启发式合并] BZOJ 3123 [Sdoi2013]森林

本来一看LCT 后来看第k大 主席树啦 #include #include #include #include #define V G[p].v #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if...
阅读(307) 评论(0)

[主席树] BZOJ 3524 [Poi2014]Couriers BZOJ 2223 [Coci 2009]PATULJCI

裸题 #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return EOF; } r...
阅读(169) 评论(0)

[主席树] BZOJ 3932 [CQOI2015]任务查询系统

裸题 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1...
阅读(191) 评论(0)

[主席树] BZOJ 2588 Spoj 10628. Count on a tree

树上路径第k大 裸题 #include #include #include #define V G[p].v using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(bu...
阅读(181) 评论(0)

[主席树] BZOJ 1803 Spoj1487 Query on a tree III

裸题 dfs序好了 #include #include #include #include #define V G[p].v using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,std...
阅读(257) 评论(0)

[主席树套堆 区间修改 标记永久化] BZOJ 3489 A simple rmq problem

“因为是OJ上的题,就简单点好了。” Orz 看看贴吧吧:http://tieba.baidu.com/p/2947256742#47989538012l 记一下next  从左到右 删了之前的标记 再从这个点到next-1都打标记 然后就可以查询了 按一个坐标离线做强制转在线么 用主席树好了 第一次打主席树区间修改 空间两个log 不过这个的前提是标记永久化 不然就是n2了...
阅读(489) 评论(0)

[A* K短路 || 可持久化堆] POJ 2449 Remmarguts' Date

这就是裸的k短路了  学习一发A*的姿势:http://yzmduncan.iteye.com/blog/1162759 这个S==T的坑要注意 #include #include #include #include #include #define V G[p].v using namespace std; inline char nc() { static char buf[...
阅读(188) 评论(0)

[乱搞 || 可持久化字典树 堆] BZOJ3689 异或之

%%hzwer:http://hzwer.com/3657.html 好可怕,暴力大法好 什么可持久化字典树,蒟蒻不会 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (...
阅读(358) 评论(0)
    个人资料
    • 访问:261086次
    • 积分:11910
    • 等级:
    • 排名:第1320名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:49条
    最新评论