堆
HownoneHe
即使是微弱的光芒,当它们一点一滴汇聚起来,积攒到一定程度时也会化为璀璨的烟火,绽放出耀眼的美丽
展开
-
优先队列堆
c++ 的一种特殊堆,c++特有,学来用一用,补充补充知识。 顺便了解了解c++#include<queue>#include<cstdio>#include<iostream>#include<algorithm>using namespace std;struct node{ int x;};priority_queue <node> q;//定义一个类型为node的优先队原创 2016-04-20 20:08:09 · 392 阅读 · 0 评论 -
【NOIP2012模拟11.5】小A 的作业
Description 小A 的老师给小A 布置了这样一份作业:某个城市x 是“重要”的,当且仅当存在两个点a,b(a<>x,b<>x),当x 不能通过时,a->b 的最短路径的值改变了,现在告诉你N 个城市和M 条连接城市之间的路径,求出哪些点是重要的。小A 忙着去找小N 所以没空做业。请帮助小A 算出哪些城市是重要的。如果不存在就输出”No important cities.”给出的是一个无向原创 2016-08-13 21:39:56 · 967 阅读 · 0 评论 -
堆模板(小根堆)
从小到大排序#include <cstdio>#include <iostream>#define fo(i,a,b) for (int i=a;i<=b;i++)#define N 200005 using namespace std;int a[N],num=0,n;void Up(int x){ for (;x>1 && a[x] < a[x >> 1];x >>= 1) swap原创 2016-10-07 13:40:45 · 975 阅读 · 0 评论 -
[JZOJ 4815]【NOIP2016提高A组五校联考4】ksum
Sample Input 样例输入1: 3 4 1 3 4 样例输入2: 3 3 10 2 7 Sample Output 样例输出1: 8 7 4 4 样例输出2: 19 12 10The Solution我们可以发现,如果当前最大的是[l,r]字段,那么易得[l,r+1]子段 和[l-1,r]子段一定之前就已经取出。 而且最大的子段一定是[1,n], 我们先把[1,n原创 2016-10-07 15:09:54 · 511 阅读 · 0 评论