【LG3243】[HNOI2015]菜肴制作

题面

洛谷

题解

首先我们有个非常显然的思路,

就是直接拓扑排序,用小根堆代替队列再按顺序输出,但是很显然是错的,

因为这只保证了字典序最小,而无法保证答案最优,\(<2,4>,<3,1>\)就是一个例子。

可以发现,让编号大的尽量在后面被选答案一定最优,所以在反图上大根堆+拓扑排序在逆序输出即可。

代码

代码是以前的,不贴在这里了。

posted @ 2019-02-25 16:37  heyujun  阅读(112)  评论(0编辑  收藏  举报