
树 - 堆
NotFound1
这个作者很懒,什么都没留下…
展开
-
|Tyvj|NOIP2004|堆|贪心|P1066 合并果子
http://tyvj.cn/p/1066贪心地先把所有果子放进小根堆,然后取出两个最小值相加后再放进去,在此期间ans+=两个最小值的和,直到只剩1个元素停止#include#includeusing namespace std;int heap[10005];int hsize = 0;int put(int x) { hsize++; heap[hsize] = x;原创 2016-08-10 22:17:30 · 514 阅读 · 0 评论 -
|Hdu 1512|可并堆|并查集|Monkey King
Hdu传送门 左偏树模板题,细节一定要注意#include<cstdio>#include<algorithm>#include<cstring>#define ms(i,j) memset(i,j,sizeof i);using namespace std;const int MAXN = 100000 + 5;struct node{ int l, r;//左偏树左、右孩原创 2017-03-03 21:58:05 · 464 阅读 · 0 评论 -
|洛谷|NOIP2015|堆|P2672 推销员
https://www.luogu.org/problem/show?pid=2672开两个大根堆,一个维护小于当前走的最远距离的住户,一个维护大于当前走的最远距离的住户#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n; struct原创 2016-10-29 14:20:09 · 429 阅读 · 0 评论 -
|洛谷|堆|P3045 [USACO12FEB]牛券Cow Coupons
https://www.luogu.org/problem/show?pid=3045把c作为关键字放入一个小根堆,在堆里买k个牛,然后再把这个小根堆里的牛放到另一个以p作为关键字的小根堆,买牛直到没钱注意m要long long#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using原创 2016-10-28 22:46:02 · 823 阅读 · 0 评论 -
|洛谷|堆|P1631 序列合并
https://www.luogu.org/problem/show?pid=1631在lrj的蓝书上有详细介绍#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n;int A[100005], B[100005];struct node原创 2016-10-28 22:43:02 · 478 阅读 · 0 评论 -
|洛谷|堆|P1334 瑞瑞的木板
https://www.luogu.org/problem/show?pid=1334类似合并果子,注意要用long long#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n;priority_queue, greater > p;i原创 2016-10-28 17:57:09 · 566 阅读 · 0 评论 -
|洛谷|堆|P1168 中位数
https://www.luogu.org/problem/show?pid=1168维护两个堆,一个大根堆L维护小于等于mid的数,一个小根堆R维护大于等于mid的数,mid是上次输出的中位数然后进行调整即可#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespac原创 2016-10-28 17:08:06 · 322 阅读 · 0 评论 -
|洛谷|NOI导刊|堆|黑匣子_NOI导刊2010提高(06)
http://www.luogu.org/problem/show?pid=1801开两个堆,一个大根堆维护1~i-1小元素,一个小根堆维护i~n小元素添加元素时,如果元素小于大根堆堆顶,那么把大根堆堆顶出堆,将此元素加入大根堆否则将元素加入小根堆查询值即为小根堆顶,查询完后将小根堆顶加入大根堆#include#include#include#include#defin原创 2016-10-04 18:04:44 · 684 阅读 · 0 评论 -
|Vijos|贪心|堆|P1513 紧急救援
https://vijos.org/p/1513按照h排序,然后构造大根堆,将每个t一一插入,那么这里有两种情况1、当前总时间(堆和)+ti 2、否则,如果根堆顶部的值都比ti大,那么让ti替换掉根堆顶部即可答案是根堆里元素的个数。#include#include#include#include#define ms(i,j) memset(i,j,sizeof(i));原创 2016-08-26 11:00:02 · 360 阅读 · 0 评论 -
|Vijos|贪心|堆|P1079 中青局
https://vijos.org/p/1079Huffman树思想,类似合并果子,注意字符串处理,用堆即可(我用的一个优先队列)#include#include#include#include#define ms(i,j) memset(i, j, sizeof(i));using namespace std;char s[10000];int num[28];//0..2原创 2016-08-25 12:02:22 · 357 阅读 · 0 评论 -
|Tyvj|NOIP2004|堆|P3301 最小函数值
http://tyvj.cn/p/3301纯水题,放进小根堆,x枚举到100可以AC。#include#includeusing namespace std;int heap[1000005];int hsize = 0;int put(int x) { hsize++; heap[hsize] = x; int now, next = hsize; while (ne原创 2016-08-10 22:30:10 · 314 阅读 · 0 评论 -
|算法讨论|可并堆 学习笔记
题目 Hdu 1512:左偏树模板题模板及讲解 左偏树:2005黄源河集训队论文原创 2017-03-04 23:07:21 · 325 阅读 · 0 评论