堆模板 AcWing 839. 模拟堆 #include<bits/stdc++.h> using namespace std; const int N = 1e5+5; int n, h[N], Size, cnt; //ph[x]表示第x次插入的元素在堆中的下标为ph[x] //hp[x]表示在堆中下标为x的元素是第hp[x]次插入的 int ph[N], hp[N]; void swapall(int u, int t){ //交换两者对应插入顺序的所在位置 swap(ph[hp[u]], ph[hp[t]]); //交换两者所在位置的插入顺序 swap(hp[u], hp[t]); //交换值 swap(h[u],