- 博客(3)
- 收藏
- 关注
原创 二叉堆,...
#include<iostream> #include<stdio.h> //heap using namespace std; const int heap_size=1e7+5; int len,a[heap_size]; int top(){ return a[1];//堆顶就是最值 } void pop(){ a[1]=a[len--];将末尾节点覆盖堆顶,作用是删除 int pos=1,lef,rig; while(1){ lef=pos*2,rig=pos*.
2021-12-23 13:49:22
281
原创 ybtoj 并查集 躲避拥挤 题解
选择某些边形成连通块,若一个连通块的节点为,则这个连通块中符合要求的点对有,连通块可由并查集维护。对于每一个询问跑一遍并查集时间复杂度为显然超时。我们发现若可以走的边≤,那么在≤且≤时那些边仍然可以走,原来的联通性并不会改变,那么对可以走的边排序,一边选边一边回答询问,结束后输出,即离线做法,时间复杂度为 Code: ...
2021-12-04 23:29:43
534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人