meet inthemiddle
TRANSCRIPT
![Page 1: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/1.jpg)
HCPC 2017/03/14
HCPC - -
3
![Page 2: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/2.jpg)
HCPC 2017/03/14
• ……
•
•
• "Meet in the middle"
• O(poly(N) 2N/2)
N≤40
![Page 3: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/3.jpg)
HCPC 2017/03/14
• ……
•
•
• "Meet in the middle"
• O(poly(N) 2N/2)
N≤40
???
![Page 4: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/4.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/5.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/6.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/7.jpg)
HCPC 2017/03/14
TLE : • 4
• n4 = 2.56 × 1014
→
![Page 8: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/8.jpg)
HCPC 2017/03/14
: ( )• A, B C, D
• O(n2)
• ABi + CDj = 0 (i, j)
→
![Page 9: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/9.jpg)
HCPC 2017/03/14
: ( )• i ABi = -CDj j
• CD
• ABi CDj
- ABi CDj
• O(n2 log n2)
![Page 10: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/10.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/11.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/12.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/13.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/14.jpg)
HCPC 2017/03/14
TLE : DP• • dp[i][j] := i j
• dp[N][S]
• : O(NS) → S=1015
![Page 15: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/15.jpg)
HCPC 2017/03/14
TLE : • ( )
• /
• Σw ≤ S ans ← max(ans, Σv)
• DP
• : O(2N) → N=40 1012
![Page 16: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/16.jpg)
HCPC 2017/03/14
: ( )• 220 ≒ 106
• N/2
• : O(N/2 2N/2)
![Page 17: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/17.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/18.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/19.jpg)
HCPC 2017/03/14
: (AOJ 1161)• : N
• : := 0~9
N
( 0 )
• : N-1 = 1
• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8
:
![Page 20: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/20.jpg)
HCPC 2017/03/14
: (AOJ 1161)• : N
• : := 0~9
N
( 0 )
• : N-1 = 1
• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8
:
![Page 21: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/21.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/22.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/23.jpg)
HCPC 2017/03/14
: • M
• 10PM
• : 10*10! ≒ 3.6×107
![Page 24: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/24.jpg)
HCPC 2017/03/14
: ( )• (M/2)
•
(= 10CM/2 )
• (=
(M/2)! )
• •
![Page 25: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/25.jpg)
HCPC 2017/03/14
: ( )
![Page 26: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/26.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/27.jpg)
HCPC 2017/03/14
: ( )
![Page 28: Meet inthemiddle](https://reader031.vdocument.in/reader031/viewer/2022030306/58e4ab0c1a28abbb038b55e5/html5/thumbnails/28.jpg)
HCPC 2017/03/14
•
2
• •
• N≤40