随笔分类 -  topology

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2647题意: 输入N和M代表N个人和M组数据,M组数据中的A和B代表A的工资要比B的工资高,底薪是(888元),问你这个老板至少要付多少钱给这些员工,A比B工资高就是说A的工资“至少”比B高1元,当拓扑排序出现环的时候输出 -1 ,否则输出老板要给的钱数。坑爹: 用拓扑排序找到入度为0的所有的点都有着同样的工资。 例如:1-2 3-4 这样1和3都为889元,2和4为888元,所以老板所付的总工资为3554元。解法: 在每次调用cut函数的时候都要访问与他相邻的边的点的入度,每访问一次IN[ map[ ... 阅读全文
posted @ 2012-09-10 11:21 pc.... 阅读(199) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3342题意: 输入N,M代表有0~N-1的点,M组数据 ,输入的每组数据代表 a指向b ,然后用这M组数据构成一个有向图,判断这个图有没有环,有就NO,没有就YES。坑爹: 用了vector开的数组,如果中途发现 k == -1 的时候,有很多节点没有删除,所以要在每一次拓扑完之后将map数组清空。解法: 利用拓扑排序,每次找入度为0的点,然后把与他相连的边清除掉,并且将与他相连的点的入度减1。View Code 1 #include<iostream> 2 #include<vector& 阅读全文
posted @ 2012-09-08 11:05 pc.... 阅读(164) 评论(0) 推荐(0)