Untitled

Transcription

Untitled
 !"#
k $% &' & (
k )* + ,&-. ,& / ,0 $12
34 $ 5 6 &47 k 4- & +8 9 :;
≤ i ≤ j ≤ n x , . . . , xn !"#"$ n !"# % &#'# xi + xi+ + . . . + xj ($ #& #)
<- 4=$
&> . $ ? ? @ / ,0 ; &A( &B1 (
@ C6 &
D4E & <- 4=$
/. xi + xi+ + . . . + xj
"
sm = gm = 0
for i = 0 to n do
if x[i] + sm > gm then
sm = sm + x[i]
gm = sm
else
if x[i] + sm > 0 then
sm = sm + x[i]
else
sm = 0
return gm
k '*+ ,## - *. ,#%/!0 , n
!"# *. 1+ %!0 x *. 2 , # 3* %'
4 n # 5 !+ %67 8% %
9 2 #/ %!0 x ,## 8%:;0 %+<0 = # 3* . &@-F 6 & $-7 0G4 9 H @ . ,
/ ,0 &1 5 !+ %67 - a < a < . . . < an +0 >, ai = i #(/ !"#
≤ i ≤ n & ?@'0 . #
$ 0G4 binary search / ,0 ## !;/ 0 !
/ ;
I
!"# $
$
J4 KL C MGH 4
+ . ,
N$12
DFS / ,0 C MGH OP $ &
Q) 4
R7 Q) M-F OP
$ .3 +
& '- (i, j) -/ #& A) O(n ) !"# !C n !
/ vj vi %5 :(2
+ $
;7 D-H =
A) $12
DFS A) &' 1-. / ,0 $. 3 R7 +8 KL ,.C D+ E & #& #) F( ') ! #
O( ) G$ H
5 SEnqueueT U V - @ 0 6 $ B A W ; / ,0 / $ X Y &
SDequeueT
Enqueue(x)
push(A, x)
Dequeue()
if B is empty then
while A is not empty do
push(B, pop(A))
return pop(B)
,#& 2I , Reset + !
-+ # '-
! # O( ) D+ + E & , Z
,
F $
H\] &B1 ,$^4 &> . / ,0 $. $$^H 2$1 Increment -@ N$ G; $^4 6 Reset
, # & 2 I - + # - Decrement + , # & 4 ! ' + - , J # # ' -
! 7
J # - O( ) K 0
7 E & 6 # ) % L + % .! 0 M N O -% .! 0 , K R 0 , S + - , J # T PQ
(
) = × +
J 27 _ 4 $. ) n−
−
×
E & + × +
× = (
) = 01-( V -) ,
/ ,0 $. J.
U& H + #& !2 *0 / V<- T 0 E W%( X ! # U& n/ G$ +
&1$ N`2
,&Ga1 5 ,
Nb$ 0G4 -R & 6 9 / ,0 W RH ,c@ RH $14] <
H N$>H ,
b$ $] O(n)
b$
5 O(nS) !+ %67 S '%+<0 , n
!"#
!
#/ ,#J". J0 Y%+<0 %.!0 %6 #
b$ S/ ,
4=]& &' -. / ,0 Problem Set 3 of CS 423: Theory of Algorithms, Princeton University, Spring 2000
d
73- .X D%L - s , . . . , sn +0 !"# ## O(n ) %*( K#
b $ si &
D4E ,R; ,&A1 H`2
VY li / ,0 &' e li = max{lj : ≤ j < i and sj < si } + l = :; max{li }
#& $ O(n logn) 0 3 :ZJ0 +
!"# \a@ C6 b$1 ,B 4
,R; ,&A1 9 / ,0 ,.VY ,R; ,.&A1 4
&> . (
H9L ,B H 06 &
,R; ,&A1 H`2
VY l & N &B1 , , . . . , l
$$^H eC ,.&A1 ? _ 3$) N @ . OP &>
,& 6 N &A( ( &7f l + VY &
,&A1 9 N
prev ,& 6 &B1 ,R; ,.&A1 4
a@ C6 O 1 last
0G4 .&A1 ,
,
H
Input: Array x[1..n] of numbers
Output: Array ans[1..l] the Longest strictly Increasing Subsequence of x
LsIS(x)
l = 1
last[1] = 1
for i=2 to n do
if x[i] < x[last[1]] then
last[1] = i
prev[i] = 0
else if x[i] > x[last[l]] then
l = l + 1
last[l] = i
prev[i] = last[l-1]
else
find maximum k with x[last[k]] < x[i] < x[last[k+1]] using binary search
g
last[k+1] = i
prev[i] = last[k]
s = last[l]
for i=l to 1 do
ans[i] = x[s]
s = prev[s]
return ans
[#. . - N . L R$ n D%L !
+ ## :+&\ 0 #0Ak , [. 0 !347
1 H j h & i VY &
,.&4( RH d[i][j] / ,0 / ] ] : ; & ,& Q 9 - & H d 3 $ W R H
< H 1 C 7 N& 6 i] O ] d[i][j] = d[i − ][j] + d[i − ][j − ]
&H &A( &
$ ) ans & 6 SO?@
:; &
T e find(k,n,L)
/$
Returns the k-th element of the set of 0-1 strings with length i and at most j 1’s
find(k,i,j)
if i=0 then return
if d[i-1][j] < k then
ans[i] = 1
find(k-d[i-1][j], i-1, j-1)
else
ans[i] = 0
find(k,i-1,j)
,#& G ,#%/!0 , X $ ACM-ICPC
North-Eastern
European
http://neerc.ifmo.ru/past/2002.html
j
Regional
Contest
2002-03,
m %!0 E S . m m(S) &-0 !.3 =L% 0 ! . 3 E + 0 S % / ] & 3 0 % -^ ! * # 3 L
(AB) → ABABAB
P#& %. DR0
(AB (C)(D (A))) → ABCCCCDADADAABCCCCDADADA
&$
:; &
n VY &
S ,&4( & $ & O(n. ) -4 B
H 0( M( Dii 4 & $ W RH S ,&4( S[i, j] / ,0 ,
D* 4- VY d[i, j] S = S[ , n] O] & Dij
k(R) :; &
-) 4
d[ , n] e $ W RH S[i, j]
$L = -1 S[i, j] 6 & S[i, j] = RR . . . R b$(
&4( 06 N
>4 & .k RH O(j − i + ) H $C √
b-$$ &A> 2$1 k D) RH k|j − i + O( n) h
-) ,& 2. ≤ i ≤ j ≤ n L O] 0( &A> k_ A) R ,
D* O(n. )
= 1 : ; S[i, j] & 7 1 2 $ 1 V - 4 6 & \ & , 3 b - $ $ S[i, j] O ]
O(n ) ,& 2. ) min{d[i, k] + d[k + , j] : i ≤ k < j}
4 F:@0 !+- , 0 !I# ,#-%.!0 ! Y%&. !7
,#& ,#%/!0 = 3J- +0 +- ,#-%.!+- , ,#& 4 =,#& 4 JE %+<0 , %3<0 W
40 !&* ,#
%E ,#&!0 4 !- \ I$ D$ ,#5%6 %E ,#-%.!0 !7
! &!0 %E [&0 +- = %.
_&0 !7%+*0 P- -%!0 4 !0 ##`. %E = ##`. =&J !:*2
&!0 VQ %E abc7 ##`.d P-Y%- %/ !7%+*0 K +$ * = 6 * e"2
9% * &!0 VQ %E a!+5 ##`.d #
e"2 bc7 ##`. !7
=- !+5 ##`. + %!0
R$ = m *. n 0 D%L & E+0 !/ !+ %67 , !+5 ##`. m K "# bc7 ##`. m
,+#&#0 *. & !.%( 0 # 5 O(m n)
l
,
D* ,.4 b-$$ c[i, k] b$ W RH / ,0 h 3 . $] ,
b$(
Dik C6 & ,Y &
N4 V 4
b $B
1 m i
&
2 :ZJ0 O(n n ) !-0 3. 0 !+ %67 !I# # 5 (
j ( &
i ( 47 ,& 2. C(i, j) / ,0 , . ( D - H & 6 Y & $ W R H & i , G ,& 2 . b - $ $ T ( ; , , . . . , n) &' e b &47 9 _3$) j , j , . . . , jk
/ &A> ) X Y &
T (i; j , j , . . . , jk )
T (i; j , j , . . . , jk ) = min
≤m≤k
[C(i, jm ) + T (jm ; j , . . . , jm− , jm+ , . . . , jk )]
T (i; j) = C(i, j) + C(j,
)
/b ,&$ m( D%L ,#%/!0 , m Y%+<0 n l D%L S !+ %67 / ,## S -%'#) .X #& 5 O(ml) 3. 0
S Dii 1=$] N.&4( 6 4
H $. ) TRUE d(i) / ,0 $ :; 4=]& ,&' &$A( 4 &
.d(i) .3 C " # $%
*. ,#%/!0 , V%:*0 ,<$ DZ! m #& 9 2 &
) E+0 ,<$ '# %L ,# V%:*0 ,<$ 3* Problem Set 7 of Introduction to Algorithms, MIT, November 2005
n
:ZJ0 &#g 8% J#- ., !Z# h# ,<$ 3* ,<$ ,#-!0 %
) 3* OP T / - = , %67 # '- = OP T
a! d %b&0 , %67 #& J"0 !-0 3. 0 ij &&!0
DZ! =&J 3* . !5# %. ,#&#!0 DZ! ,#!0 k !0 %!0 3*
,#&!0 ! [#. . #+ ij [. 0 \% X #•
[ n
, n) ' + < $ ! , # & ! 0 6 - ! E ! E # •
n
! [ n
, ) '+<$ !5# * :$ 0 ,#&!0 ! & ! # + . ,#&!0 E. "- $ 0 ,#&!0
[ n
, n) ' + < $ ! , # & ! 0 6 - ! E ! E # •
,#&!0 ! # + * :$ 0 ,#&!0 ! & A R b F W a 1 4 = $ b F ' $ ( / $ B / ,0 O(mlog n)NO(mlog m) ,&AH o$HH &
.b4 B (
&4( N(
&4(1
4. O(m) D % 5 * . , # % /! 0 , ! / # * . ., -% D % 5 V + . , # # C <0 %5 D = #!0 C !&# ,# 4
C <0 D <0 C = #!0 D !&# &#!0
l / 0 !+ %67 &#!0 # 5 ;
.$
,Y N=
A) $4. 8 , 4) $12
DF S / ,0 N1( 0 a4 17 &
6 & .V +8 & $. )
06 &
17 & H@kY &
&H ?- X Y p] &
h
0( 0G4 \ D & OP ( eE41 &1a :; &
J( 4
$. V341 H*
+8 &
:@kY @ &
ACM-ICPC Sharif Preliminary Contest, 2006-07
q
' ( # $%
! - 0 3 . 0 ! + % 6 7 G g !"#
)
2 D%L g ?#@'. # 5 O(V E)
#/ $12
DF S + ,&-. $ b$3H A-. _) ,.&G &
G 4
/ ,0 N(
&4( 6 &
7 $ 9 U $ 9 &= & B
8 VA1 $ 0G4 ,A-. _) r OP
i C - G + n . N G g %5 F *. i C %
j i g #J0 i −→ j ,#J%-!0 j g(i) "0 # 5 O(V + E) !+ %67 g(i) = max{j : i −→ j} ,#&!0
& 8J$
≤ i ≤ n b$ W RH V b G ,.V O?@
G∗ / ,0 G g(i) 3 G∗ ind[i] 3 sf &
ind[i] = max{j : j −→ i}
/b$
<
H 9- &
.ind[i]
global variables: father, ind[n] with initial value 0
findInds()
for i=1 to n do
father = i
dfs(i)
dfs(v)
for every child u of vertex v do
if ind[u] = 0 then
ind[u] = father
dfs(u)
Y
C J !' = :
%. %b&0
! # = !0 m C =&!0 !L K"# D + =%!0
:
%. #& T G6 &\ C E+0
%
W%( %. = H
S%5 V+. &3+ g&. ## O(V + E)
6 &
, ,. $ M( 9 , H 47 ,
/ ,0 $B
9- ,1$] $ $1H $1At
*
+, ( - ./0 1
O(V ) , D +0 3R0 !2 !"#
2
&#+ # 2 / O(V ) #-% e D %L #& k )S#)
## G!0 D $
T 6 $ &A> > &$- $7 C / ,0 b. &
T , v u & ,$ , V H$B v u +8 . ,
NO(V )
$B V 5 &' e N1 & e = uv V . V $ $$RH ;
6 &
e &7f v u $
- T &#+ # 2 / G ! # !+ %67 ,#&!0 (
%5 *. 2I C
& #) &#+ # 2 / #
.V & ,&$- $7 C & b ,&4?1 / ,0 d \& 7f +8 -1 0G4 4$1 T 10
G &
V − + d 8 V + 7 &$- $7 C $] &
&' N(
( AH
"
' ( 0 #
,
C #J0 . .% *. =
g !"#
3
## O(V + E) v u
6 &
.$ H0H RH 0 $
+ ,&-. ,
BF S / ,0 = !4&0 # 5 !+ %67
! # & #) =%
W%(
$ 0G4 Bellman-Ford b4 B / ,0 , , . . . , W "0 !E -% !2 D ! # 3 . 0 # ) % L J E , % 6 7 % .! 0 # ' - = # 6 O(V W + E) k!-0
$
,@ .$ H0H ,&-. VY / ,0 $ Di i ,& 6 b $B
H V W ,& 6 b$1H &F$41 .C
.u+8 H9 21 47 v :$-@ ,&-. &F$41 d[v] = i & b$. ) v h
O(V W ) & 6 , N&4=] , Extract-Min , &
H
DF1
(V − ) × W
3. 0 DAG G . J 2 !+ %67 ! # ! - 0 3 . 0 ! + % 6 7 % @ 7 ! 2 =, # f (V, E) ! - 0
D *. E ∗ # G . J # 5 f (V, E) + O(V + E ∗ )
J
, wG b4 B N A-. _ ) ,.&G 4
/ ,0 &$ ,5H 4
N&F$41 &
&H OP $ ,A-. _) ,.&G
I
5
4
6
R$ augment %.!0 &#'# l # '- ! # / !'2 #J0 E
N $B
1 b-$$ ,0( b &$=$
,0( $ w7 / ,0 V 6 ,0( ,01 &
V 5B
V 6 (
t &
s & $ $] $ 9
$12
34 $ b $ ,.V ,0( $7x
S%5 V+. !'@
#& T
! # 0 n;. ,0( ,&$c) OP N V. m( H / ,0 $ 0G4 &$- \
y&$=$
; (& Y%+<0 !"#"$ (& !J .0 #& 9 2 %.!0 #& T o#c( % (& Y%+<0
!:3 "0 + % ; (& Y%+<0 F F" =i .0
-+
N =E
V 19 G; $
.& w7 H / ,0 w7 XAY 5B
q &$3
G;1 ;@ x4 ,.V $7x
,0( H ! # . &$c) XAY 5 z$>; ,&$=$
,0( , &?A(
& ,;@ , &
V (
z$>; .V ,&-. ,0( 6 & 7 ,&$=$
$. ) W &$3
, &
=G3 N0( (x4 V ,0(
push-relabel , % 6 7 relabel * . \ # & T
! # V<- !7
O(V ) E+0 + !-0 3. 0 O(V ) !: 7$
!0 0 O(V E) D+ !0+.
Z
+8 , relabel -@ (
d v +8 ,& & $ &H / ,0 ( DF1 O(d) G $ # - / # 4 - / p - ; c 4 ( e%. -/ %L -%) %&#0
%.!0 ($ E #& T =,#&
% #%) %&#0
K"#
$ 0G4 &$- \
y&$=$
,0( ,&$c) / ,0 # 7 8
Rabin-Karp , %67 %.!0 -%6\ # o#I%.
! #
9
,#+*. *A
/ ,0 0 ! + % 6 7 - n D% L B A ! # ≤ i ≤ n % k i - ? # @ ' . # 5 O(n)
]& 0 , S/ \ !&*^ Bi = A(i+k)%n P,#
&
AA ,&4( B ,B 47 ,
KM P b4 B / ,0 # $%
# 5 2-SAT :ZJ0 $ O(n ) !+ %67
d
:(
;
! #
1$ 3 .$^4 &L $$A
$.
3 $^4 9 / ,0 ,&$3
V E
{)H &
$B1 3 ,$^4 B H $. &
&' C {)H &
$ O?@
$^4 D $. & :A@
|$1 f )
! C S % ) . \% - 2 # & T
!"# V+.q!) #- H
%5 V+. ! $ w7 b$. J. &' &
-R 8 J(] &' / ,0 b. &
+8 & 6 $ &7f 6 &
+8 & V 0( 0 G $ ; 2$1 G 7 & + D-H &
+8 & ? N$ ;
k ,01 &
8 J(] G H k + ,01 &
8 J(] (
&4(
%
:+&\ 0 !+ %67 P = N P
#& T
!"# !-%:#+ #J0 ?#@'. #6 C & C k %
9 14$-. ,&' H -4 B $L 4( / ,0 ,&-L 0E
P r Integer Programming : Z J 0
!I# &-0 s *. - %
a , a , . . . , an o#c(
k × a + k × a + . . . + kn × an > k
k, k . . . , kn ∈ Z
V+.q!) :ZJ0 #& T >&& t(
J. &' &
3-SAT subset-sum ,&' H
u- v #0u- !2 :ZJ0 #& T
!"# / ,0 V+.q!) = #/ J
g
E J. &' &
H 3-SAT ,&' / ,0 ,<$ DZ! *. P r bin-packing :ZJ0
! # V+. %.!0 ,# J0 ,<$ 3* *. ,#%/!0 V%:*0
# '- subset-sum :ZJ0 S > 3* . k #
V+.q!) :ZJ0 0 & subset-sum ,& ' SinstanceT & 1 - 1 9 $ w 7 / ,0 k M-F ,&@-F 6 b$ B
@ M-F S 6 & 0(
&
DZ( 9 @ . ,
& b ?( $( ,&@-F $C :; b S − k S + k ,.bF 2$1 &7f DZ( b bF 6
2$1 S $7x &AR (
S + S + k + S − k = S $( M-F
b$ bin packing ,&' b $1
,&AR 0( &7f DZ( _-4 N ) &AR $( 4
&AR 9 $7x 4=$
& S .6 M-F N1 ) :G4
] &AR . N.&AR $7x M-F _3$) $( bF M-F L 0k@ &
) $( N0(0 ) S − k bF &
DZ( & ,&AR 6 &F$41 (
0(
&@-F 9 <) R S − (S − k) = k =1 M-F & 1&47
0( k =R- & b $] @
,$( N( k =R- & (
&4( @ &@-F 9 NO?@
01 ,$( &AR 9 S − k bF &
7f DZ( ,0k@ &
.6 x4
e x4 bin packing &' O] Nb$. ) B ,&AR
,#0-!0 % %+<0 G %5 A %+<0 H A J+ A v =G v R0 !C D + g %L Y X S@ g !'@
,#0-!0 8%/ %+<0 X S %+<0 = Y X
P#& T %
v S w !E !7 =Y v C
V+.q!) = k - % %+<0 :ZJ0 ]N
]M
= k - 8%/ %+<0 g !'@
:ZJ0 V+.q!)
j
J . , ) ,& @ - F & ' & 8 J ( ] ,& ' ]N $ / ,0 0 &7f xuv h +8 9 e = uv V . ,
NG ,0(0 b$.
@ b$1 H V +8 O(n ) & ; $ ; v u &
6
9 G &$ H 8 k ,) ,&@-F 9 H b$
(
&4( 8 k 8 J(]
8 ( &@-F $B
1 H ,
8 k ,) ,&@-F 9
& Su +8 k_ h T 6 & a 4 +8 ? 0 5 6 N xuv 1 +8 k h ,) 2$1 ,&@-F sf &
b$ &7f &@-F
G ,
8 J(] 9 N+ &@-F & H 4 &
7Y 1
(
H ,
,) ,&@-F 9 _3$) G ,
8 J(] . NO?@
,&' ,) ,&@-F ,&' H / 0 &' ]M $
J. eC ,&@-F ,&' &
8 J(]
u , . . . , un + &@-F G /S,) ,&@-F ,&' J.T V 0
Y = {w , . . . , wn } X = {v , . . . , vn } & H =E
N $B
1
:; (
F G ui uj i = j vi → wj 4. 6 JE
{vi½ , . . . , vi } eC ,&@-F x4 _3$) G {ui½ , . . . , ui } ,) ,&@-F .
O?R
H u , . . . , un + &@-F G /S J(] ,&' J.T D 0
V . , &
& Y X = {v , . . . , vn } JE
H N&471
J(] . :; u, v → yuv b$. ) Y yuv h NG e = uv
H {vi½ , . . . , vi } eC ,&@-F x4 _3$) G {ui½ , . . . , ui } 8
O?R
k
k
k
k
[1] Thomas H. Coremen et al., Introduction to Algorithms (2nd ed.), MIT Press
2001.
[2] Udi Manber, Introduction to Algorithms: A Creative Approach, AddisonWesley 1989.
[3] Steven S. Skiena, The Algorithm Design Manual, Springer-Verlag 1998
l

Documents pareils