You are on page 1of 102

45

POJ1141
POJ1191
SPOJ196
AOA
AOA
AOA
AOA
UVa10559

AOA
POJ1074
AOA
AOA
AOA
AOA
AOA
AOA

POJ1038 Bugs
UVa10531
AOA
AOA
AOA
UVa10271
AOA
AOA

POJ1691
POJ1947
ZJUxxx
AOA
UVA10118
AOA
AOA
UVA10635LCS

UVAxxx
UVAxxx
POJ1180
AOA
AOALCS
POJ1159
AOA
POJ1160

AOA
POJ1946
AOA
AOA DNA
AOA




SS[S]
ABAB


() [] (()) ([]) ()[] ()[()]


( [ ] )( ([()

()[]


d[i,j]: ij

S(S)[S]: d[i+1,j-1]
S(S[S: d[i+1,j]+1
SS)S]: d[i,j-1]+1
1: d[i,k]+d[k+1,j] (i<=k<=j-1)

O(n2), O(n), (n3)


88

(n-1)
nn<15

(a)

(b)



n
n
n
1
1
2 ( n( x ) 2 x i 2 2 x x i ) x i 2 ( x ) 2
n
n i 1
i 1
i 1


(x1,y1)
(x2,y2)k
k+1
d[k,x1,y1,x2,y2]
:
,
d[k-1,x1,y1,a,y2]+s[a+1,y1,x2,y2]
d[k-1,a+1,y1,x2,y2]+s[x1,y1,a,y2]
x1<=a<=x2


d[k,x1,y1,x2,y2]
mm4n
O(m)
s[x1,y1,x2,y2]
O(m2)(1,1)

O(1)O(m5n)


1~nn
n-1


A[i,j]=1iji
A[i,j]=0iji


d[i,j]ij, i
d[i,i]true
: , d[I,j]
true
k, ik, kj,
ijk

O(n2), O(n), O(n3)


DDR
4
1234

DDR
2
3
13244
1
,
LLUR,
LLRR2 + 1 + 2
+ 3 = 8


x, y, k
, d[x,y,k],
, d[a[k], y, k+1] + effort(x, a[k])
, d[x, a[k], k+1] + effort(y, a[k])

O(n)O(1),
O(n)


N12N
abc
a
c

M, 1
K
K+1


,
d[i,a,b,k]ai
, bk,
,
, d[i+1,a+1,a+1,k], i<m
, d[i,a+1,a+1,k],
, d[i,a+1,b,k],

O(n2m), O(1), O(n2m)


. N
.
40/50

50/40

30/50

60/70

30/40

30/50

40/20

20/30

K
12


2NK
VF
KVF
W=V-F
KW

R
S(1,2,2,4)

S(1,3,1,6)

R
S(1,2,2,4)

1-43

S(1,5,1,6)


(i,j)i
j
d[s,i,j]s

,
i, d[s,i+1,j]
i, L,
d[s-1,i+L,j]
i=j2, d[s-1, i+L, j+L]

O(kn2), O(n), O(1)(),


O(kn3)



[St]kkSt(St
k)
k[St]k
{S1}t1{S2} t2{Sr} tr1<ti<kti<ti+1
tiStSiSi
StSi
I_am_WhatWhat_is_WhatWhat
I_am_[What]4{_is_}219 (
_24
)


d[a,b]a, b(
S[a,b]), d[1,L]

: d[a,b] = min{d[a,i] + d[i+1,b]}, a<=i<b
: . ,


g[a,b,c]S[a,b], c
.
()i,
g[i, b, c] i a c
g[a, b, c]
min

a ci b c 1
g[i, b, c] d[a c, i 1] 3 i a c
S [ a ,a c 1] S [i ,i c 1]


g[a, b, c]
d [ a , b ] 3

b a 1
2 c b a 1 S[a, a c 1] S[b c 1, b]

c b a 1

d[a,b]
min{d [a, i] d [i 1, b]}

a i b
d [a, b] min
min {g[a, b, i]}

1i b a 1

S[a, a+c-1]=S[i, i+c-1]?


c=1, O(L3)


: O(L3), O(L4), O(L4)

g: O(L3),
b, b,
O(L2)
: h[a,b,c]S[a,
a+c-1]=S[b, b+c-1], .
, next[a,b]S[a,b]
, O(L2)


xx2
,
,


Lcolorlen
L
color[i]i
len[i]i

color={1,2,3,1}, len={1,4,3,1}
(i,j,k)i~jk
color[j],
i~j, len[j]k


d [i,j,k](i,j,k)

d[i,j-1,0]+(len[j]+k)2

p(i<=p<j)
d[i,p,k+len[j]]+d[p+1,j-1,0], color[p]=color[j]

f [i,i-1,0]=0
O(n4),


nn50
10km
60km/h120km/h

m(m300)Tini
ni+1
ti(s)

61n


d[i,T]Ti

d[i, T ]

min {d[i 1, T t ] w[i 1, T t , T ]}

300 t 600

w[i-1,T-t,T]T-ti-1
Ti

k,
O(kn2)O(k)w



i
w
O(m/n)
O(kn2)O(k)O(m/n)=O(k2nm)

d[i,T]wi
T


g[k]=w[i,T,k+1]-w[i,T,k], k
k+1AB
iC
StTt
Tt<kTt>k+1ABC
Tt=kACB
St<=TBCB
C
Tt=k+1,BCA
St<=TACA
C



g[k]=G((Tt=k+1)&&(St<=T))G((Tt=k)&& (St<=T))
G(P)iP

d[i,T]
i,
w[i,T,T+300]g[T+301..T+600]
O(m/n)
w[i,T,k+1]=w[i,T,k]+g[k]O(1)
wO(1)

O(kn2)*(O(m/n)+k*O(1))=O(knm+k2n2)
n50, m300



<> := <
1> op <2>
20
100op+-
, X := Y + Z
Mov R1, Y
Mov R2, Z
Add R1, R2
Mov X, R1

MovAdd
YZ
X := Y - Z

0R1R2

25
10

<Rx1> := <1> + <0>


<Rx2> := <2> + <0>
<Rx1> := <Rx1> op <Rx2>
<> := <Rx1> + <0>

x. : R11,
R12, R21, R22,
d[x,y,k]1x, 2y
k


: 1x
k, d[x-1,y,k]
<k>:=<a> op <b>, d[x-1,y,a] op
d[x-1,y,b]
K1

: 2y
, K2
x/(x+y), y/(x+y)
, d[x,y,k]=(x*K1+y*K2)/(x+y)


, k
d[x-1,y,a] op d[x-1,y,b]?
x/(x+y),
y/(x+y)?
(x-1, y)(x, y-1)
,
C(x+y-1,x-1)/C(x+y-1,y-1),
[(x+y-1)!/(x-1)!y!]/[(x+y-1)!/x!(y-1)!]=x/y


AB
. A, B.

p, i
AB
ABtiAtiB
xAt = kiAx2kiB

, .



iaiAbiB

iaiAbiB

1: d[i,t,a,b]ia
AbBt
t=AB


j,
d[i,A,a,b]=min{d[i,B,a-j,b]+tiA+kiA*j2}
1f[i,a,b]=min{d[i,A,a,b], d[i,B,a,b]}
2. g[i,a,b]i
aAbB
ijAkB,
g[I,a,b]=min{ max{d[i-1,a-j,b-k], f[i,j,k]} }
O(pna2nb2), O(nanb), ?


*QP1
P2Q
ba*ab*ab*ba*b
P1P2Q1Q2Qn
QiP1P2
P1P2
Qi
P1P2
ba*ab*ab*
{ba*ab*b, bab*b, ba*ab, bab}

P1P2
(P1P2,
)
:
s


(i,j)P1iP2
j
a*b*s
a*bab*sa
s2*bb*(i+1,j+1)
a*b*absaP1
*bP2ab*ab
b(i,j)(i+1,j)(i+1,j+1)(i+1,j+2)
*ab*bs*
(i+1,j)(i,j+1)

. , *


n(n20)01S1,S2,,Sn
TSi
501S1=0110S2=00
S3=111S4=001100S5=110
T001100110
00+110+0110 (S2+S5+S1)
001100+110 (S4+S5)

0110110 0110+110 (S1+S5)


T
T

d[i,j]Bij+1
A
: jid[i,j]=j,
d[i,j]


A, B. d[i,j]

kBd[i,j]+L[k]d[i,j+L[k]]
Bk, d[i,j]+L[i]-jd[k,L[i]-j]

d[k,L[k]]

Trie


n1n1 000

n12n
1

1
2n2
n3
1

C
B



d[s,L,0]s{ss+L-1}

d[s,L,1]s+L-1{ss+L-1}

, O(n2)


12N
A

1N = 41432
A2431
NP(PN)
P
AN
= 412141432
1423


N
k
lkn

k
lkn

O(n2)


d[s, r]C
s, s+1s+r-1
k

i
xlirCi
x
d[s+1,r-1]
r s
d[s,r-1]
r s+r-1
d[s,r]=
d[s,r-1]+d[s+1,r-1] r
0
r-1


39
1~9n
n2
n
(
)A, B, CD

B
D

1
3
5

C
9


ABCDn2
, 1~4n24n2

(
)


d[i, j, k]i, j~k

ii, [j,k]
. i
u, uii
. ,


, O(n6),
i, i

O(n2)(4n2),
O(n2), O(n4).
O(n4)
:

Bugs
Bugs23
NMN150,M10


M<=10,
B[i,j]i-1ij
, , B[i,j]
(i,j)


B[i,j]
B[i,j]
(0,2,1,0,2)
(: , )


3, 3M
d[i,j,P]B[i,j]P
, : ; 2*3; 3*2.
3*2


MN3M, O(1),
O(MN3M)
O(MN3M),
,
O(M3M)
: P, 2*3
3*2,


Jimmy
mn(1m5,
1n6)


mn, ?
m=n=51,225,194
m=5, n=630,754,544


10

?
,

y
01m2/2
2m*m/2
(x,y)P[x]0

P[x] = x
(m+1)!


S(i, P)i
P

bd[i, P, b]S(I, P)
b,
b=0
bmn+1, P(m+1)!



(m+1)!(mn+1)2m

BFSP
BFS2m+1
iPBFS
Pb, d[i, P, b]
2m(2m+1+mn+1)=O(2mmn)


(i,P)n*(m+1)!
n(m+1)!*O(2mmn) = O(mn22mm!)
mn
mnm,n
O((m+1)!mn)


N
M
1K

20

13

20

13

4
4

10

12

15

10

12 15

(a)

(b)


N<K+M-1

M2

M3


d(i,j,k)ij
k0i
k=1i
i

d(i,j,k)i
j
k0ik1
i


NK
O(K)
O(NK2)
C(i)i
j>C(i)d[i,j]

O(N)


,
i
SiTiCi

;,

k(k<=100).
33
223
2
12r
(r20,000)


k=1. (
366), d[i]i
, Sii.
Si, d[i-1]
j, w, d[j]+w

O(D+r),
, D


ik, j(j < i)
k, k
d[i,k]ik,
jx, g[k] = d[j,k]+w,
d[i,k]k
O(k),
O(D+kr)



(x, y, d), () .
,

, (90180270)
()

50


50

50
(x, y)(-50x,y50)

d[i,x,y,k]i
(x,y,k),
, O(1)(
), O(n2), RO(Rn2)


. , ,
,

, i
i-1
:, O(logn)
:1n2
, O(1)

O(Rn2)

AB
C(ABC)(A-B)2


NN5 000
K


AB.
A1,B1,C1
A2,B2,C2A1<=A2<=B1<=B2
A1,A2,C1B1,B2,C2

A,B,CD
A<=D<=BA,D,C

N
Lii


d[i,j]inj
n-i+1>=3j

d [i 1, j ](n i 1 3 j )
d [i, j ] Min
2
(
L

L
)
d [i 2, j 1]( j 0)
i 1
i

(NK)

niti
[ai,di]
ai
di, tdi-ai<2ti


d[i]i
?

t<=di-ai<2ti

, i


d[i]i
, Ti,

Ti: d[i+1]
Ti: Tij, min{d[i+tj]+tj}


M
M3

NN250

FCD

3
(0,0)
09915


Johnn(n150)

JohnJohn

p(pn)


, 6
1~41~5
1,2,3,6,7,8

1
2

5
3

8
7

11
9

10


NM
M

P2=0.25
1.000000
P3=0.5

1.183013

P1=0.05

P4=0.666666...

0.683013
0.866025


n(n100 000)

1
MAX
0

You might also like