小技巧

1. 优先队列

想重载自带的类型的比较方式,但是又不想重载运算符怎么办?

答:

#include<bits/stdc++.h>
using namespace std;
struct cmp{
	bool operator()(int x,int y)const{
		return x<y;//大根堆
//		return x>y;//小根堆
	}
};
priority_queue<int,vector<int>,cmp>q;
int n=10;
int main()
{
	srand(time(NULL));
	for(int i=1;i<=n;i++)	q.push(rand());
	while(n--)	printf("%d\n",q.top()),q.pop();
	return 0;
}

2. 快捷的坐标:

\(dp(x,y)\)

#include<bits/stdc++.h>
using namespace std;
int _dp[1005][1005];
inline int &dp(int x,int y){return _dp[x][y];}
int main()
{
	dp(1,1)=1;
	cout<<dp(1,1)<<" "<<_dp[1][1]<<'\n';
	return 0;
}
posted @ 2024-08-05 20:39  YT0104  阅读(6)  评论(0编辑  收藏  举报