SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
HCPC 2017/03/14
HCPC
- -
3
HCPC 2017/03/14
• ……
•
•
• "Meet in the middle"
• O(poly(N) 2N/2
) 

N≤40
HCPC 2017/03/14
• ……
•
•
• "Meet in the middle"
• O(poly(N) 2N/2
) 

N≤40
???
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
:
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
:
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
1 + 3 + (-3) + (-1) = 0
0 + (-2) + 3 + (-1) = 0
Ans. 3
:
HCPC 2017/03/14
TLE :
• 4
• n4 = 2.56 × 1014 

→
HCPC 2017/03/14
: ( )
• A, B C, D
• O(n2
)
• ABi + CDj = 0 (i, j) 

→
HCPC 2017/03/14
: ( )
• i ABi = -CDj j
• CD
• ABi CDj 

- ABi CDj
• O(n2
log n2
)
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
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
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
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
HCPC 2017/03/14
TLE : DP
•
• dp[i][j] := i j 

• dp[N][S]
• : O(NS) → S=1015
HCPC 2017/03/14
TLE :
• ( )
• /
• Σw ≤ S ans ← max(ans, Σv)
• DP
• : O(2N) → N=40 1012
HCPC 2017/03/14
: ( )
• 220 ≒ 106
• N/2
• : O(N/2 2N/2)
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
)
HCPC 2017/03/14
: ( )
• W S-W
• wX vX S-W
→
• : O(2N/2
log2N/2
) = O(N/2 2N/2
)
HCPC 2017/03/14
: (AOJ 1161)
• : N
• : := 0~9 

N 

( 0 )
• : N-1 = 1
• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8
:


HCPC 2017/03/14
: (AOJ 1161)
• : N
• : := 0~9 

N 

( 0 )
• : N-1 = 1
• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8
:
HCPC 2017/03/14
: (AOJ 1161)
:
• : N
• : := 0~9 

N 

( 0 )
• : N-1 = 1
• : 3 ≤ N ≤ 12, 1 ≤ | | ≤ 8, 1≤ ≤10
HCPC 2017/03/14
•
"ABCD" A×103
+ B×102
+ C×101
+ D×100
•
kA×A + kB×B + ... kZ×Z = 0 

( )
• kA kZ
A~Z
HCPC 2017/03/14
:
• M
• 10PM
• : 10*10! ≒ 3.6×107
HCPC 2017/03/14
: ( )
• (M/2)
•
(= 10CM/2 )
• (=
(M/2)! )
•
•
HCPC 2017/03/14
: ( )
HCPC 2017/03/14
: ( )
• (10CM/2 × 10CM/2)
• NG
• X -X
•
• : O( (10CM/2)
2
(M/2)! log(M/2)! )
• M=10 1.5 × 10
7
•
( )
HCPC 2017/03/14
: ( )
HCPC 2017/03/14
• 

2
•
•
• N≤40

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (16)

ACPC2016Day3:F問題
ACPC2016Day3:F問題ACPC2016Day3:F問題
ACPC2016Day3:F問題
 
ACPC2016Day3:C問題
ACPC2016Day3:C問題ACPC2016Day3:C問題
ACPC2016Day3:C問題
 
ACPC2016Day3:D問題
ACPC2016Day3:D問題ACPC2016Day3:D問題
ACPC2016Day3:D問題
 
ACPC2016Day3:G問題
ACPC2016Day3:G問題ACPC2016Day3:G問題
ACPC2016Day3:G問題
 
RMQ クエリ処理
RMQ クエリ処理RMQ クエリ処理
RMQ クエリ処理
 
ACPC2016Day3:E問題
ACPC2016Day3:E問題ACPC2016Day3:E問題
ACPC2016Day3:E問題
 
C pub
C pubC pub
C pub
 
G pub
G pubG pub
G pub
 
F pub
F pubF pub
F pub
 
A pub
A pubA pub
A pub
 
二分探索をはじめからていねいに
二分探索をはじめからていねいに二分探索をはじめからていねいに
二分探索をはじめからていねいに
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
動的計画法
動的計画法動的計画法
動的計画法
 
D pub
D pubD pub
D pub
 
B pub
B pubB pub
B pub
 
E pub
E pubE pub
E pub
 

Mehr von HCPC: 北海道大学競技プログラミングサークル

Mehr von HCPC: 北海道大学競技プログラミングサークル (20)

写像 12 相
写像 12 相写像 12 相
写像 12 相
 
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しいACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
 
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
 
ACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFSACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFS
 
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
 
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取りACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
 
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
 
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探しACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
 
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
 
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャムHUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
 
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMGHUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
 
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD RushHUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
 
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺しHUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
 
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
 
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
 
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
 
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
 
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
 
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four teaHUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 

Meet inthemiddle