羅区P2863牛の問題に対する[USACO06JAN】牛プロムウエディング溶液

デイリー質問day11パンチ

分析

久しぶりの大きなTarjan、および練習問題のテンプレート。

アレイ全体Siの長いスイープを超える1 Tarjanのように見えています。

1の#include <iostreamの>
 2の#include <cstdioを>
 3の#include <CStringの>
 4の#include <アルゴリズム>
 5  の#define MAXN 10000 + 10
 6  の#define MAXM 50000 + 10
 7  使って 名前空間STD。
8インラインint型リード() 
 9  {
 10      INT X = 0 11      ブール F = 1 12      チャー C = GETCHAR()。
13      のために(!; isdigit(C); C = GETCHAR())場合(C == ' -')、F = 0 14      のために(; isdigit(C); C = GETCHAR())x =(x << 3)+(X << 1)+ C- ' 0 ' 15      であれば(F) リターンX。
16      リターン 0 - X。
17  }
 18インラインボイド書き込み(INT X)
 19  {
 20      であれば(X < 0){のputchar(' - '); X = - X;}
 21      場合(X> 9)書き込み(X / 10 )。
22      のputchar(Xの%10 + ' 0 ' )。
23  }
 24  int型N、M、CNT、NUM、上部、COL、ANS。
25  のint [MAXN]頭[MAXM]、DFN [MAXN]、低[MAXN]、CO、ST [MAXN]、SI [MAXN]。
26  構造体ノード{ INT 次へ;}エッジ[MAXM]。
27インラインボイド追加(int型のx、int型のY)
 28  {
 29      エッジ[++ CNT] .TO = Y。
30      エッジ[CNT] .next = 頭部[X]。
31      頭[X] = CNT。
32  }
 33インラインボイド Tarjan(INT U)
 34  {
 35の      DFN [U] =低[U] = ++ NUM。
36      ST [++トップ] = U。
37      のためにint型 I =ヘッド[U]; I; I = エッジ[I] .next)
 38      {
 39          のint V = エッジ[I] .TO。
40          であれば(!DFN [V])
 41          {
 42              Tarjan(V)。
43              低[U] = 分(低[U]、[V]低いです)。
44          }
 45          、他の 場合(!コ[V])
 46             低[U] = 分(低[U]、DFN [V])。
47      }
 48      であれば(低[U] == DFN [U])
 49      {
 50          CO [U] = ++ COL。
51          ながら(ST [トップ] =!U)
 52          {
 53              SI [COL] ++ ;
54              コ[ST [トップ]] ++ ;
55              - トップ。
56          }
 57          SI [COL] ++ ;
58          - トップ。
59      }
 60  }
 61  のint main()の
62  {
 63      N =(読み取り); M = (読み取り)
64      のためには、int型 I = 1 ; I <= M; iが++ 65      {
 66          INTは X =読み取る()、Yは= read()は。
67          追加(X、Y)
68      }
 69      のためのint型 i = 1 ; iが<= N; iが++ 70を         場合(!DFN [i])と
 71              Tarjan(I)。
72      のためには、int型 = Iを1 ; iが<= COL、iは++ 73          であれば(SI [I]> 1)年++ ;
74      書き込み(年);
75      リターン 0 ;
76 }

論文をギャングしてください(とにかく、私はそれが論文を何を意味するのか知りません)

おすすめ

転載: www.cnblogs.com/handsome-zyc/p/11517822.html