2436587:9;<>=@?ACBDBEGFH=I.JA=KELNM
◦
OQPRTSVU
*W
U
YX
Z\[G]G^G_`acbd[ e^gfihcjekhcae`je
lm>npoqprsqnGt:u> WKv)wxzy y@{)
U
|)y~})W,} C*C*}|W
U
} (*
f(l) = g(l, f (h(l)))
U
}>
U
} y*
U
)W
U
)
k + 1
.}wzf (l, a 1 , ..., a k ) = g(l, a 1 , ..., a k , f (h(l), i 1 (a 1 )..., i k (a k )))
U
} WKvQ0p})
U
)W
U
$Wwy}.p. )y
U
) (T*p}Q
U
$W
U
*
U
)y).
0:~~0YcD~.
0Q¢¡£~~¥¤Y¢p¡
¦T§©¨0ª
p«
¬
®p¯
¨0ª¥°±
®²¯~.Q¢~:³>´p´
+
0:~
~µ
D:¶
0Q¢¡£ ¤Y¢p¡
¦T§ ¨0ª¶·
p~.
¬ µ
&¸
¨0ª
.
µ
¬¬
~µ
~:D¸´´
¹
0:~D
±
º~
~c£~p¢~
0Q¢¡£~~¥¤Y¢p¡
¦T§©¨0ª¶»
¬D¦
§Q¨0ª
¬
®
µ
pT¼
¨ª
¶½¾
±
º~
~c:¼
¿ÀpÁÁ*Â0ÃÄ@ÅÀÇÆÈ
É¢Ê
g(l, b) = ¬b h(a :: l) = l f ([]) = true
ËÊ
g(a, b :: l, c) = (a = b) ∨ c i 1 (a) = a
h(a :: l) = l f (a, []) = f alse
ÌpÊ
g(a :: b :: l, s) = a + s
h(a :: b :: l) = l
f ([]) = 0
f (a :: []) = a
lm>npoqprsqn£u> )W y~}" Q }) X*V }0 } C C})
l
W U
wwz)W*Q VW
U
) } *y}z
U
})¯T*
l p
l i
p}QW
U
)pV * *WwzpV*8wzp
y )y~W*Q (wQ (y
l
R
W*
U K
U *( *W&Q X
R
Q ,s})
U
YX
l p l i
}
U
G })
U
) *,y}G*, **
l triee p l i triee
U
Qp
)
l triee
|}
U
y~
U
y })wpK
U
g Ww\y*
U
)W
U
)yQ K
U Cs})
U
>
0~.~. D~
¨ª
²:~~:~p¢~)³
·
«)
±0°
²D~ :~p¢~)³
¨0ª
D~
8W Ww>
U
)W U
Q0º
·
«Q
±.°
:~~
¨ª
:¢
+
"!
{Q p})
Q0º
·
«Q
±.° >Q pzQ0z|T)w
yz
U
)W
U
)y@{)K
* **Wd
KWv)wx
f (l) = g(l, f (h(l))
, U U } WKv)wx }),) KT 8p}V)W}y*,U
)W
U
)
W U wwz
pY0º
·
«)Ç
±0°
RU }
pY0º00Y$#Ç
X
¹ S
W} (,W
U
w~ y
pY0º
·
«)Ç
±0° d wz*Cy~}N
U w
yW
U
wQ K
U
) )K0WKvQp})
U w
$yW
U
wQ K
U
) )*W**K *z
U
} })
U
) y} * yN
U
.})}
n
*d}w}
n
)}N2n − 1
)}) TU K
U
|yQ K
U
) CQ0yW
U
wQ K
U
)
¿ÀpÁÁ*Â0ÃÄ@ÅÀÇÆÈ
É¢Ê
%'&$(*)+&,-().0/01$23.5456*%87:9;$(<,=>%:?.('=
@BADC0EF@BA
GH@
;
AIC0E
%
G / C0E
%'&$(>%JLK%'M87D30&5N;$)+&$)H%D.6O1$23.5406QPR().0/$1$23.5406*%<J$STPU().0/$1023.54068%'M<S
VV
ËÊXWZY\[^][^_a`bc["de$f+g+bh[ji5k+k[lbLmnaolf+mpRqcrs[aot<i5k+k["i5f\pRotnluviwpRqhuxkbc[¢ÊzyXY{k[lf+_|r}i5qhmR[$~
f (l) = g(l, f(h 1 (l)), f (h 2 (l)))
[o^q[p_pRfpRi0Y'_ke0fm
().0/$1$23.5406 [l_
().0/0)+;0N. &
ÊLbhfp$nlY+nami0bc[aux[aY'_a`
f (l) = g(l, f(h 1 (l)), ..., f (h n (l)))
e$f`i$[aoXf+Y\pRot+nauvif+Yqh'f+[$~
f (l) = g(l, map f liste
des
h i (l))
ÌpÊe0qc_
n = longueur(l) = 2 k
Ê"[lY<d+i5Y'_bc[oli0bholf+bd[ ().0/$1023.5406l
`Le0YrfpRqce$Y+Y+[2 k − 1
ki0qcm[apd[xbcqpU_R[ap d+["bce$Y+0f+[af+m1
`2 k − 2
k<i5qhmR[pd+["bcqp_[ap|d["bhe0Y0f+[af+m2
`)ÊÊÊh`1
ki5qhm[d["bhqp_[ap|d["bhe0Y+$f+[lfm2 k − 1
Ê
e0Y<o5`+bh["Y+e0uwg+m[_e5_i0bd[jo^e$uki5mi5qpUe$Ypz[apU_i5f{uxqh[lf+~
P k − 1
i =0 2 k − 1 − i 2 i = k2 k − 1
i0fk+qcm[0~
P k − 1
i =0 2 k − 1 − i (2 i +1 − 1) = k2 k − P k − 1
i =0 2 k − 1 − i = k2 k − 2 k + 1 = (k − 1)2 k + 1
di5Ypbh[apd+[lfoai0pa`bhiole0uk+bh[^q_n"[apU_
O(n × log 2 (n))
lm>npoqprsqn¾up K*W
U y y}g*K)
U
)
l 1 l 2 *})zz}8W
U
pH*
wzp}Q Kp,
U
(y))
l 1 (y)) l 2
)
U
)W
U
x}~ }V
U
}
U
. Kwwz T *W
U
x*
ǵ
~®
¨ª
:¢
¨0ª
µ
±±
R
~ WW* X
8W )W Ww
0Q.~¢Q :~ :~p¢ D
}®
T*}Q
U
>
f (l 1 , l 2 ) = g(l 1 , l 2 , f (h(l 1 ), i 1 (l 2 )))
g(a :: l 1 , l 2 , r) =
a :: r
~µ ~(a, l 2 )
r
U
h(a :: l) = l i 1 (l) = l
U
} 4WW} T *W
U y y} * ** ,>* Q0|)*W**KK y }K *
y Q Q)W*
+
8W ,
U
)W U
°
0)~¢Q
±.°
²DQDY³
¨ª
:~p¢
} p
Q.º
·
«Q
±0° C>} p(Q0
~µ
¹ SVU
wQ *W
U
w~*y
°
~0Q.cQ
±0°
°
~.)~cY
±.°
\G wz*y~}G U w
dy
W U
wQ K
U
)C*(y p
R
}>
U
) y~.}) Q0 X
¿ÀpÁÁ*Â0ÃÄ@ÅÀÇÆÈ
É¢Ê
%'&$(*)+&,*.6(+&0)30&,(.54068%H79;0(,=>%?L.('=
@BAIC5E @BA
G
; C0E
%'&0(O)+&+37D.6(&$)30&,(.5406 .6
.1 PP9&9)+&:;<S ('=&06>;B)+&3
&%+30&:)+&+3
VV
ËÊ
%'&$(*)+&,*.6(+&0)30&,(.5406M%H7>%'&$( %0(7'().0/$1$23.54068%*;06 0(7'().5/$1$23.406 .6
9;$(,= %0(K$(:?L.($=
@BA
K C5EZ@BA
G
ZK
@BA<C0EZ@BA
G
;K .
C0E
.1>;$7*('=&06>;.6(+&$)<30&,(.406M .&%+35&
.1>;O($=&06I.6(+&0)30&,(.5406MFP .S-&%+30&
.6(+&$)<30&,(.406MIP;S8.
VV
ÌpÊe0qh[lY'_
n = longueur(l 1 )
`m = longueur(l 2 )
Ê .6(+&$)30&+,(.5406l 1 l 2
ole0uke0mR_R[
n
i0k+k<[abhpd[ 9&9)+&a l 2
Ê ti$'f+["i5k+k[lb ole0f_[ji5fuqc[l
1
`i5fk+qhmR[m
Ê e0Yobivo^e$uxkbc[lqc_Rn"d[.a6(+&$)35&,(.5456
[apU_i5f{uqc[af
O(n)
`<i0fkqcm[O(n × m
Ê
Y+[\re$qhp_Rmqcn bh[apbcqp_[apa` .6(+&$)30&+,(.5406+M [^[aolf_R[ i5f:uqc[af
min(m, n)
_[apU_pa`i0f8k+qhmR[2min(m, n)
_[apU_pa`<de$Yo"bivo^e$uxkbc[lqc_Rnjd+[ .6(+&$)30&+,(.5406+M [apU_
O(n × log 2 (n) + m × log 2 (m)) = O(max(n, m) × log 2 (max(n, m)))
lm>npoqprsqn ®
U
} H
U U
U
|}0.
U
}
U
}
l intersection l l = l
¿ÀpÁÁ*Â0ÃÄ@ÅÀÇÆ È
br}i0f_k+me0f+$[lmk+bcf<p|0naY+nlmi5bh[lu[lY'_|'f+[0`+pRq
l
[apU_fY+[jpUe$fp bhqhpU_R[d[l
i5bhe0mp .a6(+&$)35&,(.5456l l 0
!
l
"re0mux[abcbh[lu[aY$_`
l
pUe$fp bhqhpU_R[d[l 0
p$#naolmRqc_∃f : {0, .., longueur(l) − 1} → {0, .., longueur(l 0 ) − 1}
_R[abcbh[j'f+[∀ 0 ≤ i ≤ longuer(l) − 1 elt(l, i) = elt(l 0 , f (i))
e%
elt(a :: j, 0) = a
`elt(a :: j, n + 1) = elt(j, n)
[l_nlY+e$Yo^nwpU[d+[lue0Y'_Rm[r}i0olqcbh[lu[aY$_Xki5mqhYdf<o _Rqhe0Y `i$[aobivmR[auvi5m$f['f+[wpUq