hdu4857逃生第一题是拓扑排序,不是按照字典序最小输出,而是要使较小的数排在最前面。。赛后弄了好久,才比较明白,我一直以为反向建图,i从1到n,开始深搜dfs( i ),对i点的边,由小到大继续搜一下,同时标记搜过的数,搜过之后就不再搜,搜到底之后ans[cnt++] = u;这样顺序输出就是答...
分类:
其他好文 时间:
2014-07-22 22:47:36
阅读次数:
261
#include #include #include using namespace std;#define N 505int ma[N][N],ans[N],indegree[N];int main(){ int i,j,n,m; while(~scanf("%d %d",&n,&m)...
分类:
其他好文 时间:
2014-07-22 22:44:55
阅读次数:
170
拓扑排序,以边上标号为点,正方形为边,拓扑图中存在有向环时unbounded,否则bounded;注意:仔细处理输入; 遍历一个点时,下一次遍历拼上的下一个方形边;即假设遍历到 A+ 时,下次从 A- 开始遍历; 1 #include 2 #include 3 #include 4 us...
分类:
其他好文 时间:
2014-07-22 22:41:15
阅读次数:
282
1、拓扑排序,要求输出小的数尽量靠前,而不是字典序...
分类:
其他好文 时间:
2014-07-22 22:39:33
阅读次数:
196
拓扑排序。
反向建边。
为了序号小的尽量在前面,我们每次都取出入度为0的最大的点。
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct list
{
int u,v,w;
int next;
}edge[110000];
int ...
分类:
其他好文 时间:
2014-07-22 22:38:54
阅读次数:
265
题目要求要求在满足约束条件的情况下,使小的序号尽力靠前。
坑点就在这里,小的序号尽量靠前并不是代表字典序,它要求多种情况时,先使1靠前(可能1只能在第2或第3位 那么就要使它在第2位),其次2,3。。而不是在当前情况下,该位最小是哪个就输出哪个
所以直接拓扑排序,或者优先队列都是错的,因为这样都只能保证字典序最小。可以参考代码后面的样例理解
正确做法应该是 反向建图后,用最大值优先的优先队列...
分类:
其他好文 时间:
2014-07-22 00:28:38
阅读次数:
210
SDN的出现可以使得各种复杂的路由协议从原本的Device OS中剥离出来,放在SDN Controller中,Controller用一种简单的协议来和所有的Router进行通信,就可以获得网络拓扑,从而计算路由,有更好的可扩展性(scalable,而不会出现Full-Mesh)。Floodlight 中路由的原理利用的是LLDP这个协议,当第一个OF
SW连接过来的时候,Controller...
分类:
其他好文 时间:
2014-07-21 22:47:18
阅读次数:
356
hdu1285 确定比赛名次(拓扑排序多种方法)...
分类:
其他好文 时间:
2014-07-21 16:13:12
阅读次数:
200
//不是保证字典序,而是要最小的尽量在前面。
/* 案例
1
4 2
3 1
4 1
3 4 1 2
*/
//- -弱弱备注给自己看
# include
# include
# include
# include
# include
using namespace std;
# define N 30005
vectorg[N];
int vis[N...
分类:
其他好文 时间:
2014-07-21 13:15:36
阅读次数:
158