摘要: 原题链接 在拓扑排序的基础上加上了一个条件:尽可能按字典序排序,这就使得题目难度加大。 题解:拓扑排序+小根堆 拓扑排序是采用队列一个一个出队列来删除对应结点的边,那么我们只需要保证每次出队列的结点都尽可能小,就能保证字典序。 每次出队列的值都为队列中的最小值,刚好可以采用小根堆来实现。 code 阅读全文
posted @ 2024-02-23 21:11 黑屿白 阅读(46) 评论(0) 推荐(0)
摘要: 原题链接 拓扑排序模板。 code #include<bits/stdc++.h> using namespace std; const int N=1e4+5; int head[105],Next[N],to[N],que[105],sum[105]; void build(int i,int 阅读全文
posted @ 2024-02-23 18:25 黑屿白 阅读(40) 评论(0) 推荐(0)
摘要: 原题链接 这道题运用了 逆序思维 的方法。具体看题解区。 code class Solution { public: int n,m,sum=0; void dfs(vector<vector<int>>& grid,int i,int j){ if (i<0 || i>=n || j<0 || j 阅读全文
posted @ 2024-02-23 16:03 黑屿白 阅读(30) 评论(0) 推荐(0)