DZY Loves Topological SortingProblem DescriptionA topological sort or topological ordering of a directed graph is a linear ordering of its vertices su...
分类:
其他好文 时间:
2015-11-10 20:55:05
阅读次数:
257
题意:给一个DAG,最多可以删去k条边,求字典序最大的拓扑序列。思路:贪心选取当前可选的最大编号即可,同时用线段树维护下。一个节点可以被选,当且仅当没有指向它的边。 1 #include 2 #include 3 #include 4 #include 5 #include 6...
分类:
其他好文 时间:
2015-04-12 13:22:13
阅读次数:
155
要求在一个DAG中删去不多于k条边,使得拓扑序的字典序最大。
贪心策略:每次删去入度小于res的,序号尽量大的点的入边。
需要用线段树维护区间最小值。
代码:
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int N = 400000 +10;
const ...
分类:
编程语言 时间:
2015-04-03 09:32:36
阅读次数:
157
http://acm.hdu.edu.cn/showproblem.php?pid=5195
Problem Description
A topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every d...
分类:
其他好文 时间:
2015-03-31 12:58:17
阅读次数:
142
题意:
给一张拓扑排序图,最多删除K条边之后。
输出最大字典序的拓扑排序。
思路:
用线段树处理,节点存每个点的入度。
每次提取入度小于等于k的并且最大数字的点。
然后更新k和这个点已经所连的点的入度,并标记这个取出的点入度为无穷大。
重复操作n次。
代码:
#include"cstdio"
#include"cstring"
#include"cmath"
#include"c...
分类:
其他好文 时间:
2015-03-30 16:27:43
阅读次数:
115
这题说的给了n个点m条边要求保证是一个有向无环图,可以删除至多k条边使得这个图的拓扑序的字典序最大,我们知道如果我们要排一个点的时候一定要考虑比他大的点是否可以、通过拆边马上拆出来,如果可以拆当然是拆,肯定保证字典序最大,如果不能拆,就不拆留着以后拆,当初这个比他大的点度数小于k的,最大是多少,这个...
分类:
其他好文 时间:
2015-03-29 13:33:31
阅读次数:
129
//这题可算是历经千辛万苦才算ac了
//建图,然后就拓扑序,
//还是官方的bc的题解出的好
//贪心取编号最大的点
//令du[i]<=k的i进入优先队列
//然后依次整就行了,
//每次取出的点,判断一下
//是否du[i]<=k,如果小于
//依次遍历与他相邻的点,
//在这些相邻的点中找到du[j]<=k
//且不在队列当中的i的值,
//开始用g++交题,一直TL...
分类:
其他好文 时间:
2015-03-29 09:30:03
阅读次数:
121