博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu-4857-逃生-拓扑排序
阅读量:5834 次
发布时间:2019-06-18

本文共 888 字,大约阅读时间需要 2 分钟。

拓扑排序。

反向建边。

为了序号小的尽量在前面,我们每次都取出入度为0的最大的点。

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;struct list{ int u,v,w; int next;}edge[110000];int head[33000];int nums;void add(int u,int v,int w){ edge[nums].u=u; edge[nums].v=v; edge[nums].w=w; edge[nums].next=head[u]; head[u]=nums++;}int du[33000];void init(){ memset(head,-1,sizeof(head)); nums=1; memset(du,0,sizeof(du));}priority_queue
que;vector
vec;int n;void dos(){ vec.clear(); while(!que.empty())que.pop(); for(int i=1;i<=n;i++) { if(du[i]==0)que.push(i); } while(!que.empty()) { int x=que.top(); que.pop(); for(int i=head[x];i!=-1;i=edge[i].next) { int y=edge[i].v; du[y]--; if(du[y]==0) { que.push(y); } } vec.push_back(x); } for(int i=n-1;i>=0;i--) { if(i!=n-1)printf(" "); printf("%d",vec[i]); } cout<

转载地址:http://qkucx.baihongyu.com/

你可能感兴趣的文章
前端必须掌握30个CSS3选择器
查看>>
DjangoRestFramework实践笔记
查看>>
谷歌浏览器中安装JsonView扩展程序
查看>>
jsp el 自定义方法 tld 说明
查看>>
Linux查看和剔除当前登录用户
查看>>
QT项视图之QListWidget
查看>>
Chromium Embedded Framework 中文文档(简介)
查看>>
寄生构造函数——扩展原生数组
查看>>
BaseAdapter 注意的关键点!
查看>>
FusionChart实现金字塔分布图
查看>>
斗地主算法的设计与实现–对牌进行排序
查看>>
【转】C++中继承中的同名成员问题
查看>>
FineUI(专业版)公测版发布(这速度,真TM快!)
查看>>
Jade报错:Invalid indentation,you can use tabs or spaces but not both问题
查看>>
poj1458
查看>>
CYQ.Data V5 文本数据库支持SQL语句操作(实现原理解说)
查看>>
下一个十年计划3-选择
查看>>
Linux 查看内核版本命令的相关说明
查看>>
《转》谈谈自媒体
查看>>
SharePoint 2013 Designer系列之数据视图
查看>>