![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
拓扑排序
GocNeverGiveUp
这个作者很懒,什么都没留下…
展开
-
HDU 1285 确定比赛名次 + HDU 4857 逃生(拓扑排序由浅入深)
学拓扑排序还是想补题,先从水题入手,学到了一个最简单的拓扑排序,时间复杂度高达O(n ^ 3),也就水水题还行比赛那道题要是这么做就MLE,要不然也得TLE哈哈哈HDU - 1285其实虽然方法水,和所有拓扑排序原理还是一样的,就是建图然后逐条删边,边删边输出原理这里讲的很清楚了:拓扑排序直接挂很水很水的代码,好的方法肯定要学,慢慢来。。。#include<iostream>#inc...原创 2018-02-27 19:58:32 · 419 阅读 · 0 评论 -
刷题篇 -- HDU 2647 Reward(反向拓扑排序)
HDU - 2647今天上午做这道题一直wa,也不知道哪里出错了,后来发现还是自己对拓扑排序理解不够深入,尤其是排序过程,好容易ac#include<iostream>#include<cstring>#include<cstdio>#include&l...原创 2018-03-01 11:49:25 · 157 阅读 · 0 评论 -
刷题篇--HDU 2094 产生冠军(水拓扑)
继续水拓扑排序,很简单的一道题,用map映射名字,只要最终结果指向一个人,即冠军,就说明冠军存在 HDU - 2094#include<iostream>#include<cstring>#include<cstdio>#include<algori...原创 2018-03-01 13:26:20 · 190 阅读 · 0 评论 -
HDU 1285 确定比赛名次(拓扑排序)
之前用暴力和优先队列做过,但是太占内存最好的方法还是用vector不停地更新入度删边,比较容易理解#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>#include<set>#in...原创 2019-02-15 20:20:52 · 126 阅读 · 0 评论 -
HDU 2094 产生冠军 (水拓扑)
HDU - 2094#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>#include<set>#include<map>#include<queue&原创 2019-02-18 19:31:07 · 211 阅读 · 0 评论 -
HDU 2647 Reward (反向拓扑)
HDU - 2647这道题考虑的工资应该是叠加形式,也就是从小到大的进行累加先考虑小工资的,再依次累加成为大工资的,反之我们无法通过大工资递推到小工资因此用到了反向建图的拓扑排序,依次把小工资的取出来(注意别用优先队列,尴尬),同时考虑到即使是大工资也有两种可能的情况#include<iostream>#include<cstring>#include...原创 2019-02-19 15:52:26 · 143 阅读 · 0 评论 -
HDU 1811 Rank of Tetris (并查集 + 拓扑排序)
HDU - 1811同时复习了一下二者这道题需要分析的情况比较复杂了1, 如何处理等于号把所有相等的点利用并查集缩成一个点2, 如何判定UNCERTAIN当队列中同时存在两及以上个点时,此时无法判断二者哪个更厉害3, 如何判定OK / CONFLICT这个和普通的toposort一样了,只需要判断读出了多少个点即可#include<iostream>...原创 2019-02-19 18:51:50 · 172 阅读 · 0 评论