您当前的位置: 首页 > 

MangataTS

暂无认证

  • 4浏览

    0关注

    423博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

HDU1285确定比赛名次(拓扑排序+优先队列)

MangataTS 发布时间:2022-03-29 17:09:40 ,浏览量:4

题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=1285

思路

每场比赛的结果我们可以看成一个有向图,从胜利的一方指向失败的一方,在这个有向图的入度为0的点就是最外层不能确定排名的点,然后我们按照编号从小到大排序,将这些点保存在ans中,然后我们将这些点的出度全部清空,然后再看下一层,这其实就是拓扑排序啦,只不过我们需要保证排名不唯一的情况下先输出编号小的队伍,那么我们可以用优先队列来维护这个拓扑排序,更多详情请看代码哦

代码
#include
using namespace std;
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair
#define INF 0x3f3f3f3f

const int N = 5e2+10;

int n,m;
int du[N];

vector E[N];

void topsort(){
	vector ans;
	priority_queue que;
	for(int i = 1;i             
关注
打赏
1665836431
查看更多评论
0.0381s