BZOJ 4010: [HNOI2015]菜肴制作|拓扑排序贪心
来源:互联网 发布:腾讯云主机 绑定域名 编辑:程序博客网 时间:2024/06/06 05:12
找一个反图的拓扑序最大即可
贪心性显然
#include<set>#include<map>#include<ctime>#include<queue>#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>#define T 111111using namespace std;int sc(){ int i=0,f=1; char c=getchar(); while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9')i=i*10+c-'0',c=getchar(); return i*f;}int d[T],head[T],nxt[T],lst[T],ans[T],c[T],b[T],vis[T];int n,m,S,tot,TI;priority_queue<int,vector<int> >q;void Pretreatment(){ tot=0; for(int i=1;i<=n;i++) d[i]=head[i]=vis[i]=0;}void insert(int x,int y){ d[y]++; lst[++tot]=y; nxt[tot]=head[x]; head[x]=tot;}bool solve(){ int now=n; while(!q.empty()) { int x=q.top(); q.pop(); b[now--]=x; for(int i=head[x];i;i=nxt[i]) { d[lst[i]]--; if(!d[lst[i]]) q.push(lst[i]); } } return now==0;}int main(){ S=sc(); while(S--) { n=sc(),m=sc(); Pretreatment(); for(int i=1;i<=m;i++) { int x=sc(),y=sc(); insert(y,x); } for(int i=1;i<=n;i++)if(!d[i])q.push(i); if(!solve()) puts("Impossible!"); else { for(int i=1;i<=n;i++)printf("%d ",b[i]); puts(""); } } return 0;}
0 0
- BZOJ 4010: [HNOI2015]菜肴制作|拓扑排序贪心
- 4010: [HNOI2015]菜肴制作 拓扑排序+贪心
- BZOJ 4010 [HNOI2015]菜肴制作 拓扑排序
- BZOJ 4010 [HNOI2015]菜肴制作 拓扑排序
- BZOJ 4010 HNOI2015 菜肴制作 拓扑排序+堆
- bzoj 4010: [HNOI2015]菜肴制作(优先队列+拓扑排序)
- bzoj 4010: [HNOI2015]菜肴制作 拓扑排序+堆
- 拓扑排序 [HNOI2015]菜肴制作
- bzoj4010 [HNOI2015]菜肴制作(拓扑排序+贪心)
- BZOJ 4010: [HNOI2015]菜肴制作
- 【BZOJ 4010】 [HNOI2015]菜肴制作
- BZOJ 4010: [HNOI2015]菜肴制作
- BZOJ 4010 [HNOI2015]菜肴制作
- BZOJ 4010 [HNOI2015] 菜肴制作
- BZOJ 4010: [HNOI2015]菜肴制作
- [BZOJ4010]HNOI2015菜肴制作|拓扑排序+堆
- 【HNOI2015】菜肴制作 :思想 + 拓扑排序
- 【BZOJ4010】【HNOI2015】菜肴制作(拓扑排序)
- linux下离线更新nessus漏洞插件的方法
- APKTool使用方法
- blob类型转字符串
- 你不得不知道的:关于TnPM的定位问题
- easyui列表查询报错:Cannot read property 'length' of undefined
- BZOJ 4010: [HNOI2015]菜肴制作|拓扑排序贪心
- 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的区别
- CSS学习摘记
- 第二章Spring资源和配置开发环境-第一节spring资源网址 spring官网 eclipse插件 Spring jar包下载
- android greenDao(二)
- Ambiguous source files
- 时间戳转时间
- javaEE之------ApectJ的切面技术===标签
- oracle 查询杀死死锁方案