(単に決定図の)グラフGのHDU 2454度シーケンス

ポータル

 

Havel-Hakimi定理:

図のない点が、この配列に対応しないように、有向グラフがある場合非負整数{D1、D2、...、DN}のシーケンスが与えられると、この配列は、図1のと呼ばれてもよいです。

さらに、グラフの簡単なグラフならば、単に図のシーケンスと呼ばれます。

定理の説明:

、非負整数、S = {D1、D2、D3···DN}の非増分順序によって限定場合にのみS1 = {D2-1、D3-1 ... D(D1 + 1)、D (D1 + 2)... dnが}なされるべきであり、そして

つまり、非増分有限のシーケンスS1は、それぞれ、非負整数であり、S1はS D1の最初の要素の後に削除された第1の減算エレメントD1により得られる配列です。

例:

44332は、図のか否かを判断します。

まず、昇順で非44332に従って

4削除し、上位4及び数は-1になり:3221

次いで3を削除し、値-1トップ3になる:110

1前のターンの多数を削除するには、1を削除します。10

0:1前のターン多数を削除するには、1を削除します。

なお、図です。

 

545231図のかどうかを判断します。

まず非昇順554321により、

5を外し、トップ5と-1の数は次のようになります。43210

次に4を除去し、フロント4が多数になり-1:321-1

描画ではないの、負のがありました

 

 

945231図のかどうかを判断します。

まず非昇順954321により、

その後、最初の9つの大規模な数-1が、その数は十分ではフロント9ではない、9削除、

つまり、マイナスがあるでしょう

図のではありません。

•コードに 

1つの#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3  の#defineがっ長い長い
 4 LL [ 2005 ]。
5  INT N。
6  BOOL Slove()
 7  {
 8が     ためint型 i = 0 ; iがn <; ++ I)
 9      {
 10          ソート(A + I、+ N、大きな< INT >()); // 非增序排列
11          であれば([I] == 0 12              リターン 13          もし(I [i]は> = N +)                // [i]は多数存在していない前に
14              リターン falseにし15          のためにINT J =私は+ 1、J ++; Jは<= I [i]が+)// [i]は、大多数の-1される前に
16          {
 17              [J] - ;
 18である             IF([J] < 0 。19                  リターン falseに20である         }
 21れる     }
 22である }
 23である  
24   
25  INT (メイン)
 26であります {
 27      INT T;
 28      scanfの(" %のD "、&T)。
29      一方(t-- 30      {
 31          のscanf(" %d個"、&N)
32          LL和= 0 33          のためには、int型 i = 0 ; iがn <; iは++ 34          {
 35              のscanf(" %のLLD "、A + I)。
36              の合計+ = A [i]は、
37          }
 38   
39          であれば(合計%2 40          {
 41              プット(" なし" )。
42              続け;
43          }
 44   
45          であれば(Slove())
 46の              プット(" はい" );
47の         他の
48              プット(なし)。
49      }
 50 }
コードの表示

 

おすすめ

転載: www.cnblogs.com/MMMinoz/p/11311804.html