突然发现,用STL优先队列可以直接秒……
查看原帖
突然发现,用STL优先队列可以直接秒……
1268524
DX3906_ourstar楼主2024/7/15 20:26

之前学堆和优先队列的时候,脑子里闪过一个想法——用这玩意不直接秒掉P1177?然后这一闪而过的想法就被渐渐淡忘了,直到刚刚闲的发慌拿来一交——

AC了?!

本来以为会TLE,结果它没有!!!这不比sort简单?!直接把数塞进去,然后挨个输出就行了!!

看了一下题解和讨论区,貌似都没这么写的!
(所以我可以申请提交题解吗

附上代码:

#include<iostream>
#include<queue>
#define int long long//个人习惯,不开龙龙见祖宗 
using namespace std;

priority_queue<int,vector<int>,greater<int> > q;//一个小根堆 
int n;

signed main(){
	cin>>n;
	for(int i = 0;i < n;i ++){
		int tmp;
		cin>>tmp;
		q.push(tmp);//挨个往堆里塞 
	}
	while(! q.empty()){//把整个堆里的东西都扔出来 
		cout<<q.top()<<" ";
		q.pop(); 
	}
    return 0;
}
2024/7/15 20:26
加载中...