4524: [Cqoi2016]伪光滑数 Description 若一个大于R的整数J的质因数分解有F项,其最大的质因子为ak,并且满足ak^k≤N, ak<128,我们就称整数J为N-伪光滑数。 现在给出L,求所有整数中,第E大的N-伪光滑数。 若一个大于R的整数J的质因数分解有F项,其最大的质因 ...
分类:
其他好文 时间:
2016-05-07 12:41:39
阅读次数:
414
ctsc前例行砍手 可并堆、并查集 zoj2334 #include #include #include #include #include #include #include #include #include #include using namespace std; #define SZ 66... ...
分类:
其他好文 时间:
2016-05-01 21:47:44
阅读次数:
240
左偏树 bzoj4003 城池攻占 题目大意:一棵树,每个点有一个防御值。m个武士,有攻击力和起始的位置,攻下一个点后会向父亲进攻,攻击力大于等于一个点的防御力就可以攻下,否则死亡。武士攻下每个点后攻击力会变化,加上或者乘上一个数(乘的数保证非负)。问每个城市死亡的武士个数和每个武士攻下的点。 思路 ...
分类:
其他好文 时间:
2016-03-31 21:34:56
阅读次数:
148
我们可以遍历得出每个节点到根节点的距离h,然后用可并堆进行维护。树形dp 我用的是pairing heap ...
分类:
其他好文 时间:
2016-03-31 16:43:39
阅读次数:
186
看着百度文库学习了一个。 总的来说,左偏树这个可并堆满足 堆的性质 和 左偏 性质。 bzoj2809: [Apio2012]dispatching 把每个忍者先放到节点上,然后从下往上合并,假设到了这个点 总值 大于 预算,那么我们把这个 大根堆 的堆顶弹掉就好了,剩下的就是可合并堆。 感谢pre
分类:
其他好文 时间:
2016-02-06 01:50:27
阅读次数:
565
题目大意:给定一棵树,选定一棵子树中的一些点,薪水和不能超过m,求点的数量*子树根节点的领导能力的最大值考虑对于每一个节点,我们维护一种数据结构,在当中贪心寻找薪金小的雇佣。每一个节点暴力重建一定不行。我们考虑可并数据结构。每一个节点将子节点的信息直接合并就可以能够用启示式合并的Treap。也能够用...
左偏堆,顾名思义就是向左偏的堆,也就是左边特别重的堆。左偏堆是一种可并堆,其实现的基本操作是,合并,删除,插入(就是与一个只有一个节点的左偏堆合并)合并操作 1 int merge(int a,int b){ 2 if (a==0) return b; 3 if (b==0) ret...
分类:
其他好文 时间:
2015-12-29 22:26:43
阅读次数:
325
可并堆或set+并查集。。。set: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define lowbit(a) ((a)&(-(a)))10 #define ...
分类:
其他好文 时间:
2015-09-20 17:33:14
阅读次数:
191
可并堆水题---------------------------------------------------------#includeusing namespace std;const int maxn = 1000009;struct Node { Node *l, *r, *ch; int...
分类:
其他好文 时间:
2015-09-20 11:55:42
阅读次数:
235
题意:
给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于L的点有多少个。
n
题解:
这题比较有意思;
首先考虑的就是树形DP,但是DP完全无法转移;
考虑一个结点的答案,那就是子树中与这个结点距离小于等于L的点数(废话);
那它父亲在这个子树的答案呢?
子树中每个点的距离都增加了,而相对大小关系没有改变;
所以就用一个可并堆来维护子树,每次将堆中距离过...
分类:
其他好文 时间:
2015-08-25 23:48:42
阅读次数:
160