
左偏树
lahlah_
沉浸 尊重
展开
-
luogu P3642 [APIO2016]烟火表演
https://www.luogu.com.cn/problem/P3642 好毒瘤啊!!! 首先按照套路 设f(x)表示以u为根的,距离为x的最小代价设f(x)表示以u为根的,距离为x的最小代价设f(x)表示以u为根的,距离为x的最小代价 然后发现这是一个下凸函数 然后分情况讨论一下(4种) 这位大佬讲得很好:blog 然后拿个可并堆搞一搞就行了 我用的是左偏树 code: #include<bits/stdc++.h> #define N 1200050 #define ll long lo原创 2021-04-05 21:47:19 · 198 阅读 · 0 评论 -
浅谈左偏树
关于左偏树这个东西嘛……还是挺简单的。 就是一个merge操作: int merge(int x, int y){ //pushdown(x); pushdown(y); // 这里可以下放标记 if(!x || !y) return x + y; //特判一下 if(sum[x] > sum[y]) swap(x, y);//保持堆的性质 ch[x][...原创 2018-09-24 17:22:27 · 180 阅读 · 0 评论 -
luogu 3377【模板】左偏树(可并堆)
一切都从模板开始,我扔:https://www.luogu.org/problemnew/show/P3377 模板题嘛……就没啥好讲的了,如果不会左偏树请看这篇blog 代码,上: #include<bits/stdc++.h> #define N 200005 using namespace std; int fa[N], ch[N][2], key[N], dis[N],...原创 2018-09-24 17:28:22 · 185 阅读 · 0 评论 -
2809: [Apio2012]dispatching
2809: [Apio2012]dispatching Time Limit: 10 Sec Memory Limit: 128 MB Submit: 5297 Solved: 2738 [Submit][Status][Discuss] Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除...原创 2018-09-24 17:29:14 · 258 阅读 · 0 评论 -
luogu:3261 [JLOI2015]城池攻占
Description 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。 这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi <i。也就是说,所有城池构成了一棵有根树。这 m 个骑士用 1 到 m 的整数表示,其 中第 i 个骑士的初始战斗力为 si,第一个攻击的城池为 ci。 每个城池有一个防...原创 2018-09-24 17:50:45 · 191 阅读 · 0 评论 -
luogu:3261 [JLOI2015]城池攻占
Description 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。 这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi <i。也就是说,所有城池构成了一棵有根树。这 m 个骑士用 1 到 m 的整数表示,其 中第 i 个骑士的初始战斗力为 si,第一个攻击的城池为 ci。 每个城池有一个防...原创 2018-10-13 10:23:07 · 111 阅读 · 0 评论