HDU 5695ジム・クラス(トポロジカルソート、貪欲、プライオリティキュー)

体育

時間制限:6000/1000 MS(Javaの/その他)メモリ制限:65536分の65536 K(Javaの/その他)
の合計提出(S):2887受理提出(S):1084

問題の説明
我々はすべて知っているように、スポーツ活動のすべての種類のようなクマの程度。
今日、それは最終的に体育教師の夢となりました。面白いことを発見した最初のクラス、。クラスの前に、行にあるように、すべての学生は、1からまで、ほとんど誰もが固有のIDを持っていることを前提として始めた N、並ん後、各学生は、全生徒の前で自分自身を含む最小のIDを検索しますこのクラススコアの彼らの評価など。クマの程度、最終的な結果は、すべてのラインアップのかもしれ願っています-トラブルは、一部の学生は、(一部の)学生が体育教師を出芽、この前提を満たす場合には、目の前に(彼女の)彼に来てほしくないということです評価点と学生の最大値。
 
入力
整数最初のライン Tは、を表し、T 1 T 30 データのセット。
各試験のために、入力二つの整数の最初のラインNM 1 N 100000 0 M 100000 、それぞれ、学生や特定の好みの総数を表します。
次のM個の列は、各列二つの整数AB 1 A B N 、IDによって表されるAの学生望ましくないIDであるBの学生が前に彼(彼女)の入って来ました。あなたは、少なくとも一つの構成は、すべての要件を満たすことであることを保証するために、トピックと考えることができます。
 
出力
各試験のために、最大出力スコア。
 
サンプル入力
3 1 0 2 1 1 2 1 3 1
 
サンプル出力
1 2 6
 

トピック分析

従来のトポロジカル整列のようなこの質問と多くは、個人がN、Mの関係は、異なっており、最大値を獲得するために必要

余談はさておき、ソートトポロジカルを入れて、この一体型のため、自然は大きなIDの行が同じくらい、この貪欲法のできるだけ前方で最も適切です

当然、それはプライオリティキューを考えるのは簡単ですトポロジカルソートに基づいて貪欲にも応えるためには、その都度チームは、IDの最大のポイントである0

注2つのピットがあること、一方が他方の入出力タイムアウトLONGLONGあります

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、

長い 長い   T、X、Y、N、M、に、ミネソタ州、ANSS [ 100005 ]。
ベクター < INT > MP [ 100005 ]。
PRIORITY_QUEUE < int型、ベクトル< int型 >> Q; 

BFS()
{ 
    (!q.empty())
    { 
        int型になりました= q.top(); 
        q.pop(); 
        もし(ミネソタ州> 今)
        { 
            ミネソタ = 今。
        } 
        ANSS + =ミネソタ州;
        以下のためにINT iが= 0 ; I <MP [今] .size(); I ++ 
        { 
            int型次= MP [今] [I]。
            [次] - もし([次] ==に0 
            { 
                q.push(次)
            } 
        } 
    } 
} 

int型のmain()
{ 
    IOS :: sync_with_stdio()。// 不写会TLE 
    CIN >> T;
    一方、(T-- 
    { 
        memsetの(MP、0はsizeof (MP))。
        memsetの(に0はsizeof ()へ)。
        ANSS = 0 ; 
        ミネソタ州 = 0x3f3f3f3f 
        CIN >> N >> M。
        一方、(M-- 
        { 
            CIN >> X >> Y。
            MP [X] .push_back(Y)。
            [Y]に ++ 
        } 
        ためINT iが= 1 ; I <= N; I ++ 
        { 
            場合(への[I] == 0 
            {
                q.push(I); 
            } 
        } 
        BFS()。
        coutの << ANSS << てendl; 
    } 
}

 

おすすめ

転載: www.cnblogs.com/dyhaohaoxuexi/p/12405318.html