可并堆
DZYO
Never stop
展开
-
hdu1512:Monkey King(左偏树)
Description Once in a forest, there lived N aggressive monkeys. At the beginning, they each does things in its own way and none of them knows each other. But monkeys can’t avoid quarrelling, and it on原创 2017-04-04 14:03:19 · 570 阅读 · 0 评论 -
bzoj 2809: [Apio2012]dispatching(配对堆,左偏树)
bzoj2809:[APIO2012]dispatching(左偏树)原创 2017-04-03 23:02:49 · 335 阅读 · 0 评论 -
BZOJ4585: [Apio2016]烟火表演(可并堆)
传送门题解: 定义f(x)f(x)f(x)表示最终值为xxx的最优代价。 如果单独考虑叶子节点到父节点的边,显然f(x)f(x)f(x)为|x−w||x−w||x-w|。 而整个iii的子树的函数fi(x)=∑jfj(x)fi(x)=∑jfj(x)f_i(x)=\sum_j f_{j}(x)。下面考虑如何合并,通过归纳法可以证明fff为分段一次函数,而且斜率变化为111(如果忽略重合点...原创 2018-03-15 14:06:14 · 466 阅读 · 0 评论 -
Codechef :BWGAME (可并堆)
传送门题解: 答案就是行列式的值。 可用可并堆来模拟高斯消元,对于每个主元,每次选择右端点最小去消元,然后把堆中元素全部放到r+1r+1r+1的地方即可,时间复杂度O(nlogn).O(nlogn).O(n \log n). 这道题也提供了一种解nnn元方程组,且每个方程只出现两个变量的一般方法,只不过需要在堆上加一个tagtagtag,可以采用从上到下的数据结构(左偏树 /Splay...原创 2018-03-15 15:26:51 · 348 阅读 · 0 评论 -
集训队作业2018: 树(点分治+K短路)
题解:最近学数分学到意识模糊,做到OI题冷静一下。联通块强制选根,然后用dfs序转化为一个路径然后就是做K短路了。用点分治即可在图大小为O(nlogn)O(n \log n)O(nlogn)的图上做K短路,时间复杂度O(nlog2n+klogk)O(n \log ^2 n + k\log k)O(nlog2n+klogk)。#include <bits/stdc++.h>...原创 2019-01-12 16:50:06 · 654 阅读 · 2 评论