堆
WINDZLY
我不知道最后会得到什么样的结果,但我知道不努力我什么也得不到
展开
-
牛客练习赛24 D 插排树(最短路练习)
链接:https://www.nowcoder.com/acm/contest/157/D来源:牛客网 插排树时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述一年一度的山东省oi夏令营又开始了,每到这个季节,山东的oier们都会欢聚这里,一起学(tuí)习(feì)。当然,为了...原创 2018-08-14 15:40:19 · 186 阅读 · 1 评论 -
洛谷 P3371 【模板】单源最短路径(弱化版)(堆,bfs,最短路)
题目背景本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779。题目描述如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。输入输出格式输入格式: 第一行包含三个整数N、M、S,分别表示点的个数、有向边的个数、出发点的编号。接下来M行每行包含三个整数Fi、Gi、Wi,分别表示第i条有向边的出发点、目标点和长度...原创 2018-08-11 21:28:15 · 1044 阅读 · 3 评论 -
洛谷 P2278 [HNOI2003]操作系统(堆练习)
题目描述写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在这个过程中,有一个比它优先级高的进程要运行。在这种情况下,这个新的(优先级更高的)进程会占用CPU,而老的只有等待。如果一个进程到达...原创 2018-08-15 17:03:40 · 247 阅读 · 0 评论 -
洛谷 P1631 序列合并(数学或 二分//堆)
题目描述有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到 N^2N2 个和,求这 N^2N2 个和中最小的N个。输入输出格式输入格式: 第一行一个正整数N;第二行N个整数 A_iAi , 满足 A_i\le A_{i+1}Ai≤Ai+1 且 A_i\le 10^9Ai≤109 ;第三行N个整数 B_iBi , 满足 B_i\le B_{i+1}B...原创 2018-08-13 23:53:46 · 207 阅读 · 0 评论 -
hdu 1873看病要排队
此题就是一个优先队列;#pragma GCC optimize(2)#include <iostream>#include <cstring>#include <queue>#define maxn 20005typedef long long ll;using namespace std;ll n,m,ma,fl;st...原创 2018-09-09 14:54:27 · 233 阅读 · 0 评论 -
堆模板
#include <iostream>#include <cstdio>#include <queue>#include <utility>#define maxn 1000005typedef long long ll;using namespace std;ll head[maxn];ll len = 0,now;voi...原创 2018-11-06 20:45:51 · 135 阅读 · 0 评论 -
堆排序
无聊写个堆排序2333都说堆排序是最不稳定的排序,可我觉得他好稳定(一直是nlogn时间复杂度 这样的排序才靠的住 偷笑)#include <bits/stdc++.h>#define maxn 200005typedef long long ll;using namespace std;ll a[maxn],n;void adjust(ll i,ll le...原创 2018-11-16 14:07:41 · 135 阅读 · 0 评论 -
spfa和堆优化的dij和prim
1 spfa虽然已经死了,可是他还有一个作用就是判断负环和正环(如果在一个点跑了大于n次那么这个图就存在负环)正环跑最长路,负环跑最短路/*I am nothing but I must be everything.*/#include <map>#include <cmath>#include <stack>#include <queu...原创 2018-12-04 20:09:12 · 672 阅读 · 1 评论 -
poj 2442 Sequence
题目链接http://poj.org/problem?id=2442stl实在是tql借助两个数组的想法,如果当前最小值是a[1] + b[1],那么下一个最小值就会是a[2] + a[1],a[1] + a[2]中的用堆维护一下就好 耶耶耶#include <iostream>#include <algorithm>#include <q...原创 2019-04-10 21:16:26 · 131 阅读 · 0 评论