【刷题】【拓扑排序】菜肴制作

题目地址:[HNOI2015]菜肴制作 (nowcoder.com)

 

(1)DAG图与拓扑排序

博客地址:【笔记】DAG图与拓扑排序 - 心若笺诗 - 博客园 (cnblogs.com)

 

(2)题目要求的顺序其实不是简单的字典序:

(1)在满足所有限制的前提下,1 号菜肴”尽量“优先制作;
(2)在满足所有限制,1号菜肴”尽量“优先制作的前提下,2号菜肴”尽量“优先制作;
(3)在满足所有限制,1号和2号菜肴”尽量“优先的前提下,3号菜肴”尽量“优先制作;
(4)在满足所有限制,1 号和 2 号和 3 号菜肴”尽量“优先的前提下,4 号菜肴”尽量“优先制作;
(5)以此类推。
比如 2431 其实比 2314 排序更后,
其实这种顺序基本表示题目要用倒序:
因为倒序时,只需要优先放置更大的数字即可。
 
(3)考虑此问题的倒序解决
首先一定是反向建图,
问题可以简化为:有向图求是否有环,无环则求拓扑序
数据范围1e5,所以肯定不能BFS法(O(n*m)),尝试DFS方法解决此问题
 
 

 

 
posted @ 2022-07-18 00:14  心若笺诗  阅读(23)  评论(0编辑  收藏  举报