			   ץ 


  

  ĶǤΥޥι®ʱ黻⥸塼Ǥ.

  N 򤢤( ǿ )Ȥ, ɽ

	[ 0, 1, ... , (N-1) ]
	k = [ ǣ, ǣθĿ, ǣ, ǣθĿ, ...]

Ȥ N ĤΥꥹȤΥꥹȤ,  k ϸĿĤΥȤ줿ꥹ
Ǥ. Ρɿ P ΤȤ,  k ꥹ k  Ρ

	Node = k mod P

ˤƱ黻Ԥʤ.  ޥα黻ˤ, i  j (ij) 
ΩƤΤǥΡɴ֤˸٤ä黻ϵʤ. ޤ, N Ŭڤͤ
, ٤ P ĤΥΡɤضʬۤ.

  ꥹĹ Len ȤȤ, (༡Ǥ) encode ΥȤ,

	ʿ: O( Len log(Len / N) )
	ǰ: O( Len log(Len) )

Ǥ. , ǰξ礬ǽ㤤.

  ޤ, decode, union,intersection ʤɰϢα黻 O(Len), choose 
֤ǽ.


 ɽʬ 

  ĶǤʬη꤬ǤפǤ. ä, ͭؤΥ
ǽʸ¤꾯ʤΤ褤. ʲ, ɽʬƤ
.

  Ǥ, ǡνǤ뤫, ϥꥹ L γ X 
 N ξ; X mod N ˤä N ĤΥꥹȤʬۤ, ɽ

	[ 0, 1, ... , (N-1) ]   (N )

Ȥ, N ĤΥꥹ 0 .. (N-1) ¤٤ꥹȤȤ. ƥꥹȣk 

	k = [ ǣ, ǣθĿ, ǣ, ǣθĿ, ...]

Τ褦, ͤȸĿȤ, Ǥͤξ¤٤ꥹȤǤ. ꥹȣk
Ǥդ X 

	X mod N = k

 ( N ˤ; k ). ޤ, ꥹȣk ϶ꥹȤǤ褤.

  㤨, N=3 ΤȤ, Υޥ

	L = [0,0,1,1,1,2,2,2,2,3,3,3,3,3,4]

ɽ,

	M = [[0,2,3,5],[1,3,4,1],[2,4]]
	    ( [ 0  2 , 3  5  ], [ 1  3 , ...], ... )

Ȥʤ.

   N ξ;ˤä N ĤΥꥹȤ˿ʬ, ޥα黻˴
Ƥ, i  j ( i  j ) ΩƤ. ä, union, intersection 
ȤäĤν M  M' α黻ԤʤݤˤϤ줾 k ( 0  k  N-1 ) 
ܤΥꥹ k  'k ӤƤɤ. Τ, Ρɿ P 
ȤȤ, ƥꥹ k νΡ

	Node = k mod P

ǹԤʤ褦ˤ, ʣΡɤˤޤä黻ϵʤ. ,  
X ˥Ρ

	Node = ( X mod N ) mod P

˳꿶뤳ȤݾڤǤΤ, ΡɤΥåͭ˳ѤǤ, ͭ
ؤΥ︺Ǥ.

  μ ( X mod N ) mod P ˤ, N ǿˤȤ, Ϥ֤٤ƶ
Τ褦ФäƤƤ, N ξ;ɤ˥ˤʤ. N ʬ礭
ˤȤ, Ϥ֤٤ N ܿפN ˤ;פȤäü
ФäΤˤʤΨʬ㤯Ǥ. , ޥǿ Len 
ȤȤ,

	P << N << Len , ( N ǿ )

Ǥ褦 N ֤, ¼ŪˤɤϤФƤ P ĤΥΡɤض
٤ʬǤ. Ǥ, P  16 θ,

	N = 307

Ȥ.


 󥳡 

  ϥꥹȤ N Ĥʬۤ뤳Ȥϥ󥳡ɤˤȤäƤͭǤ.

  ɽ

	[ 0, 1, ... , (N-1) ]
	k = [ ǣ, ǣθĿ, ǣ, ǣθĿ, ...]

Ȥ, k ϸĿĤΥȤ줿ꥹȤǤä. ƥꥹ k 
ȤˤϹ®ǰꤷޡȤѤ. ϥꥹĹ Len Ȥ
, K ʿѤΥ Len / N Ǥ뤫, ȤΥ򲼤뤳Ȥ
Ǥ, Ȥ,

	ʿ: O( Len log(Len / N) )
	ǰ: O( Len log(Len) )

Ǥ. , ǰξ, Ǥ N ˤ;٤ȤǤ, 
ǽ㤤. ƥꥹ k ΥȤϥΡ k mod P ǹԤʤ
.


 ޡȤˤĤ 

  ޡȤϤ˺ǽ¤˺줺, ꤷ NlogN Ӥ
󤹤. ޤ, encode ⥸塼 mergesort_init ΥꥹȤ

	[ [ , Ŀ, , Ŀ ], [ , Ŀ, , Ŀ ], ... ]

Τ褦˽. mergesort(L,M)  L ϾΤ褦, ꥹȤΥꥹȤ
. merge_pairs(L,R) ϥꥹ L (ꥹ)ƬˣĤĥޡ
Ƥ. ʤ, mergesort  merge_pairs Ƥ֤Ӥ, ܥȥॢå
󤬿ʹԤƤ.


--------------------------------------------------------------------------
    ɧ    عطϸ
                E-Mail: usa@logos.t.u-tokyo.ac.jp

