meet inthemiddle

28
HCPC 2017/03/14 HCPC - - 3

Upload: hcpc-

Post on 05-Apr-2017

20 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Meet inthemiddle

HCPC 2017/03/14

HCPC - -

3

Page 2: Meet inthemiddle

HCPC 2017/03/14

• ……

• "Meet in the middle"

• O(poly(N) 2N/2)

N≤40

Page 3: Meet inthemiddle

HCPC 2017/03/14

• ……

• "Meet in the middle"

• O(poly(N) 2N/2)

N≤40

???

Page 4: Meet inthemiddle

HCPC 2017/03/14

: 4 Values whose Sum is 0 (POJ 2785, p.147)• : 4 A, B, C, D ( n)

• : 1

0

• : 1 ≤ n ≤ 4,000, | | ≤ 228

A B C D

1 + 3 + (-3) + (-1) = 0

:

Page 5: Meet inthemiddle

HCPC 2017/03/14

: 4 Values whose Sum is 0 (POJ 2785, p.147)• : 4 A, B, C, D ( n)

• : 1

0

• : 1 ≤ n ≤ 4,000, | | ≤ 228

A B C D

0 + (-2) + (-3) + (-1) = -6

:

Page 6: Meet inthemiddle

HCPC 2017/03/14

: 4 Values whose Sum is 0 (POJ 2785, p.147)• : 4 A, B, C, D ( n)

• : 1

0

• : 1 ≤ n ≤ 4,000, | | ≤ 228

A B C D

1 + 3 + (-3) + (-1) = 01 + 3 + (-3) + (-1) = 00 + (-2) + 3 + (-1) = 0

Ans. 3

:

Page 7: Meet inthemiddle

HCPC 2017/03/14

TLE : • 4

• n4 = 2.56 × 1014

Page 8: Meet inthemiddle

HCPC 2017/03/14

: ( )• A, B C, D

• O(n2)

• ABi + CDj = 0 (i, j)

Page 9: Meet inthemiddle

HCPC 2017/03/14

: ( )• i ABi = -CDj j

• CD

• ABi CDj

- ABi CDj

• O(n2 log n2)

Page 10: Meet inthemiddle

HCPC 2017/03/14

: ( p. 148)

• : vi wi N S

• : S

• : 1 ≤ N ≤ 40, 1 ≤ vi, wi, S ≤ 1015

:

w1 = 2 w2 = 1 w3 = 3 w4 = 2 S = 5

Page 11: Meet inthemiddle

HCPC 2017/03/14

: ( p. 148)

• : vi wi N S

• : S

• : 1 ≤ N ≤ 40, 1 ≤ vi, wi, S ≤ 1015

:

w1 = 2 w2 = 1 w3 = 3 w4 = 2 S = 5

Σw = 6

Page 12: Meet inthemiddle

HCPC 2017/03/14

: ( p. 148)

• : vi wi N S

• : S

• : 1 ≤ N ≤ 40, 1 ≤ vi, wi, S ≤ 1015

:

w1 = 2 w2 = 1 w3 = 3 w4 = 2 S = 5

Σw = 4

Σv = 6

Page 13: Meet inthemiddle

HCPC 2017/03/14

: ( p. 148)

• : vi wi N S

• : S

• : 1 ≤ N ≤ 40, 1 ≤ vi, wi, S ≤ 1015

:

w1 = 2 w2 = 1 w3 = 3 w4 = 2 S = 5

Σw = 5

Σv = 7

Page 14: Meet inthemiddle

HCPC 2017/03/14

TLE : DP• • dp[i][j] := i j

• dp[N][S]

• : O(NS) → S=1015

Page 15: Meet inthemiddle

HCPC 2017/03/14

TLE : • ( )

• /

• Σw ≤ S ans ← max(ans, Σv)

• DP

• : O(2N) → N=40 1012

Page 16: Meet inthemiddle

HCPC 2017/03/14

: ( )• 220 ≒ 106

• N/2

• : O(N/2 2N/2)

Page 17: Meet inthemiddle

HCPC 2017/03/14

: ( )•

• wX < wY vX > vY Y

• wX < wY vX < vY w

v

• : O(2N/2 log2N/2) = O(N/2 2N/2)

Page 18: Meet inthemiddle

HCPC 2017/03/14

: ( )• W S-W

• wX vX S-W

• : O(2N/2 log2N/2) = O(N/2 2N/2)

Page 19: Meet inthemiddle

HCPC 2017/03/14

: (AOJ 1161)• : N

• : := 0~9

N

( 0 )

• : N-1 = 1

• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8

:

Page 20: Meet inthemiddle

HCPC 2017/03/14

: (AOJ 1161)• : N

• : := 0~9

N

( 0 )

• : N-1 = 1

• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8

:

Page 21: Meet inthemiddle

HCPC 2017/03/14

: (AOJ 1161)

:

• : N

• : := 0~9

N

( 0 )

• : N-1 = 1

• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8, 1≤ ≤10

Page 22: Meet inthemiddle

HCPC 2017/03/14

"ABCD" A×103 + B×102 + C×101 + D×100

kA×A + kB×B + ... kZ×Z = 0

( )

• kA kZ

A~Z

Page 23: Meet inthemiddle

HCPC 2017/03/14

: • M

• 10PM

• : 10*10! ≒ 3.6×107

Page 24: Meet inthemiddle

HCPC 2017/03/14

: ( )• (M/2)

(= 10CM/2 )

• (=

(M/2)! )

• •

Page 25: Meet inthemiddle

HCPC 2017/03/14

: ( )

Page 26: Meet inthemiddle

HCPC 2017/03/14

: ( )• (10CM/2 × 10CM/2)

• NG

• X -X

• : O( (10CM/2)2 (M/2)! log(M/2)! )

• M=10 1.5 × 107

( )

Page 27: Meet inthemiddle

HCPC 2017/03/14

: ( )

Page 28: Meet inthemiddle

HCPC 2017/03/14

2

• •

• N≤40