際際滷

際際滷Share a Scribd company logo
By POSTECH Computer Algorithm Team
 螻覯1(DP1)
蟾覯
Dynamic Programming 1
Contents
POSTECH Computer Algorithm Team
2xN tiling 07
 螻覯 03
LIS 11
 覓語 17
POSTECH Computer Algorithm Team
 螻覯  覓語襯  覓語襦  碁 螻襴讀企. 覦 覿 覲糾骸  覲伎伎襷, 蠏朱蓋
谿伎  螻覯 覿覲糾骸 襴  覯 螻壱 覿覿覓語襯  覯 る 企.
覲旧旧  TOP-DOWN 覦螻 BOTTOM-UP   れ  覯 覲伎.
朱慨豺 伎 蟲 襯 襦 る
 螻覯
TOP-DOWN BOTTOM-UP
POSTECH Computer Algorithm Team
伎 螳 TOP-DOWN覦 蠏襯  覲企 讌蟯朱 蟲  螻,  蟯螻襯 螻ろ 螳 
. 蠏碁 螳 襴る  . BOTTOM-UP覦 for覓語  覲企 襦蠏碁 螳 觜殊讌襷,
蟲  讌蟯願,  蟯螻襯 螻ろ伎 る  .
TOP-DOWN覦 蟆曙,  覯 螻壱 蟆郁骸襯 れ 螻壱讌 蟆 蠍  memoization .
 螻覯
BEFORE AFTER
POSTECH Computer Algorithm Team
 螻覯 蠍 伎 れ螻 螳 譟郁唄 襷譟燕伎 .
F(x)   螻覯  , F(a) = x, F(b) = y  a == b企, x ==y 襯 襷譟燕伎 .
讀, 螳 リ 伎  螳 豢リ 詞伎 .
襯 れ 朱慨豺 願骸 螳 蟆曙一 n覯讌 朱慨豺 伎 螳 1螳讌襦 殊覩襦,  螻覯 
 讌襷,   s襦覿 a蟾讌 蟆暑襯 豢ロ , F(a)螳  ,  a  蟆暑螳 螳讌螳
譟伎  朱襦  螻覯   .
 螻覯
POSTECH Computer Algorithm Team
 螻覯 覓語 願屋 覦覯(螳企殊)
1. 覲襯 覈 谿朱  蟆瑚?(覲 螳)
2. 螳 覲 覩碁 覓伎瑚?
3. 覲襦 誤 豢 DP螳 企 覩語瑚?
4. DP螳 螳 蟯螻() 覓伎瑚?
5.  伎 for覓  蠏襦 蟲.
伎 覓語れ 企慨覃 螳 螳 牛覲伎.
 螻覯
POSTECH Computer Algorithm Team
2xN Tiling(11276)
POSTECH Computer Algorithm Team
Naive 覦覯 覃 讌 朱れ 覦一覃伎 蟆曙一 襯   . 轟壱蟆  覦覯 覓企Μ螳 .
蠏碁 襾殊  覦一  轟 覲伎.
襷 るジ讓所骸 螳  殊 願蟆 覦一企慨.
蠏碁る, 襾語 朱れ 企至 覦一朱 觜 螻糾 蠍郁 
2xN 讌螳 覈 豈     .
磯殊   譬襯襦襷 殊 覦一     .
2xN Tiling
POSTECH Computer Algorithm Team
蠏碁る  螻覯 企至 伎 蟾?
蠍一 F(A)=B襯 れ螻 螳  蟆企. -> B 2xA 覈 讌螳 豈磯 蟆曙一 
蠏碁る  企至 語  蟾?
 蠏碁手骸 螳 2xA 讌螳 豈郁鍵 伎 2x(A-2) 讌螳 螳襦  2螳  2x(A-1) 讌螳
碁  1螳襯  豈  .
2xN Tiling
2x(A-2)
2x(A-1)
POSTECH Computer Algorithm Team
蠏碁る 2xA 讌螳 豈磯 蟆曙一  2x(A-2) 讌螳
豈磯 蟆曙一  2x(A-1) 讌螳 豈磯 蟆曙一  
  . 讀, F(A) = F(A-1) + F(A-2)  焔渚 
 . F(0) = 0, F(1) = 1 轟壱覩襦, 企ゼ 伎覃 O(n)
 螻一   . 覿 覲糾骸   O(logn)襷
蟲 覦覯 朱 蟯朱 谿場覲伎.
2xN Tiling
POSTECH Computer Algorithm Team
LIS(Longest Increasing Subsequence)  伎 覿 る 襯   覿覿 伎 蟲燕
螳  讀螳 襦 襯 螻襯企伎 螻襯 覿覿 伎 蠍語願 豕 蠍語願 襦 襯  蟆曙一
. 襯 れ れ螻 螳 覦一伎    覦一伎 LIS
 螳 豺 覿覿 .
LIS(豕 讀螳 )
POSTECH Computer Algorithm Team
 LIS O(nlogn)朱 蟲  讌襷, DP 襴襯 覲願鍵  O(n^2) 覦覯 .   覦覯
る 覓語 JLIS  覩襦 覦覯 牛覲伎.
螳 讌蟯 覦覯 覈 覿覿 伎 燕 れ 蠏 伎 讀螳 伎語襯 蟆螻, 讀螳 伎 蟆 譴
 豕 蠍語企ゼ 螳讌 蟆 LIS   . 覓朱   O(n*2^n)企襦 螳 豐螻手 殊企蟆 .
蠏碁る  螻覯 企至 伎伎 蟾?
LIS(豕 讀螳 )
POSTECH Computer Algorithm Team
襾殊 F(A) = B襯 れ螻 螳 . -> A覯讌 襯 豌 覯讌 襦 螳讌 LIS 蠍語 B
蠏碁る, F(N) = 1 轟壱螻( 蠍 企襦), F(A)襯 蟲 覦覯 螳企慨.
蠏碁る れ螻 螳 螳  .
LIS(豕 讀螳 )
Cache[i]
i 0 1 2 3 4 5 6
7 8
0 0 0 0 0 0 0
0 1
POSTECH Computer Algorithm Team
LIS(豕 讀螳 )
Cache[i]
i 0 1 2 3 4 5 6
7 8
0 0 0 0 0 0 0
2 1
Cache[i]
i 0 1 2 3 4 5 6
7 8
0 0 0 0 0 0 3
2 1
POSTECH Computer Algorithm Team
LIS(豕 讀螳 )
Cache[i]
i 0 1 2 3 4 5 6
7 8
0 0 0 0 0 3 3
2 1
Cache[i]
i 0 1 2 3 4 5 6
7 8
0 0 0 0 4 3 3
2 1
POSTECH Computer Algorithm Team
伎 螳 覦覯 覦覲牛覃, LIS 蠍語企ゼ 蟲     . 襷 LIS 蠍語願  LIS 豌企ゼ 蟲螻
矩る, back 覦一伎 豢螳襦 襷れ伎 cache螳 螳煙襦  豺襯 ロ覃, LIS襯 蟲  .  覦一 
讌  覃 O(nlogn) 襦 蟲  .
LIS(豕 讀螳 )
Cache[i]
i 0 1 2 3 4 5 6
7 8
6 5 4 4 4 3 3
2 1
POSTECH Computer Algorithm Team
https://algospot.com/judge/problem/read/ASYMTILING
https://algospot.com/judge/problem/read/PI
https://algospot.com/judge/problem/read/QUANTIZE
https://algospot.com/judge/problem/read/WILDCARD
https://algospot.com/judge/problem/read/JLIS
 覓語

More Related Content

Similar to Dp 1 (20)

Project#2襷 Hwp
Project#2襷 HwpProject#2襷 Hwp
Project#2襷 Hwp
Kimjeongmoo
1.襭蟲譟一 螻襴讀(螳襭)
1.襭蟲譟一 螻襴讀(螳襭)1.襭蟲譟一 螻襴讀(螳襭)
1.襭蟲譟一 螻襴讀(螳襭)
fmbvbfhs
襭蟲譟2覲願
襭蟲譟2覲願襭蟲譟2覲願
襭蟲譟2覲願
KimChangHoen
DP 譴蠍 2
DP 譴蠍 2DP 譴蠍 2
DP 譴蠍 2
麹 譟
01. dp hard
01. dp hard01. dp hard
01. dp hard
麹 譟
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexity
skku_npc
朱 tensorflow 蠍 - tutorial
朱 tensorflow 蠍 - tutorial朱 tensorflow 蠍 - tutorial
朱 tensorflow 蠍 - tutorial
Lee Seungeun
DP Optimization
DP OptimizationDP Optimization
DP Optimization
麹 譟
03. segment tree
03. segment tree03. segment tree
03. segment tree
麹 譟
襭蟲譟1覲願
襭蟲譟1覲願襭蟲譟1覲願
襭蟲譟1覲願
KimChangHoen
== Mnist п=_梶梶求釈衣午メメ求
== Mnist п=_梶梶求釈衣午メメ求== Mnist п=_梶梶求釈衣午メメ求
== Mnist п=_梶梶求釈衣午メメ求
螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )
螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )
螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )
HYUNJEONG KIM
Amugona study 1 jjw
Amugona study 1 jjwAmugona study 1 jjw
Amugona study 1 jjw
Amugona study 1 jjw
Amugona study 1 jjwAmugona study 1 jjw
Amugona study 1 jjw
襭蟲譟 Project2
襭蟲譟 Project2襭蟲譟 Project2
襭蟲譟 Project2
KoChungWook
貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .
貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .
貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .
ultrasuperrok
貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx
貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx
貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx
ultrasuperrok
貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt
貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt
貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt
ultrasuperrok
[NDC 2018] 貊 蠍 - 碁 貊 伎 襷 豕
[NDC 2018]  貊 蠍 - 碁 貊 伎  襷 豕 [NDC 2018]  貊 蠍 - 碁 貊 伎  襷 豕
[NDC 2018] 貊 蠍 - 碁 貊 伎 襷 豕
SangHyeok Hong
Project#2襷 Hwp
Project#2襷 HwpProject#2襷 Hwp
Project#2襷 Hwp
Kimjeongmoo
1.襭蟲譟一 螻襴讀(螳襭)
1.襭蟲譟一 螻襴讀(螳襭)1.襭蟲譟一 螻襴讀(螳襭)
1.襭蟲譟一 螻襴讀(螳襭)
fmbvbfhs
襭蟲譟2覲願
襭蟲譟2覲願襭蟲譟2覲願
襭蟲譟2覲願
KimChangHoen
DP 譴蠍 2
DP 譴蠍 2DP 譴蠍 2
DP 譴蠍 2
麹 譟
01. dp hard
01. dp hard01. dp hard
01. dp hard
麹 譟
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexity
skku_npc
朱 tensorflow 蠍 - tutorial
朱 tensorflow 蠍 - tutorial朱 tensorflow 蠍 - tutorial
朱 tensorflow 蠍 - tutorial
Lee Seungeun
DP Optimization
DP OptimizationDP Optimization
DP Optimization
麹 譟
03. segment tree
03. segment tree03. segment tree
03. segment tree
麹 譟
襭蟲譟1覲願
襭蟲譟1覲願襭蟲譟1覲願
襭蟲譟1覲願
KimChangHoen
== Mnist п=_梶梶求釈衣午メメ求
== Mnist п=_梶梶求釈衣午メメ求== Mnist п=_梶梶求釈衣午メメ求
== Mnist п=_梶梶求釈衣午メメ求
螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )
螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )
螻襴讀 壱貂 碁碁 1-C (螻襴讀 り 覈碁 覦 )
HYUNJEONG KIM
Amugona study 1 jjw
Amugona study 1 jjwAmugona study 1 jjw
Amugona study 1 jjw
Amugona study 1 jjw
Amugona study 1 jjwAmugona study 1 jjw
Amugona study 1 jjw
襭蟲譟 Project2
襭蟲譟 Project2襭蟲譟 Project2
襭蟲譟 Project2
KoChungWook
貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .
貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .
貊 ろ 蟆 蠍 C++ 00~ 01レ 襴 螳襭 .
ultrasuperrok
貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx
貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx
貊ろ 蟆 蠍 C++ 00~ 01( 螻給覦覯).pptx
ultrasuperrok
貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt
貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt
貊ろ 蟆 蠍 C++ 03(螳 覲旧°)襯 る ppt
ultrasuperrok
[NDC 2018] 貊 蠍 - 碁 貊 伎 襷 豕
[NDC 2018]  貊 蠍 - 碁 貊 伎  襷 豕 [NDC 2018]  貊 蠍 - 碁 貊 伎  襷 豕
[NDC 2018] 貊 蠍 - 碁 貊 伎 襷 豕
SangHyeok Hong

Dp 1

  • 1. By POSTECH Computer Algorithm Team 螻覯1(DP1) 蟾覯 Dynamic Programming 1
  • 2. Contents POSTECH Computer Algorithm Team 2xN tiling 07 螻覯 03 LIS 11 覓語 17
  • 3. POSTECH Computer Algorithm Team 螻覯 覓語襯 覓語襦 碁 螻襴讀企. 覦 覿 覲糾骸 覲伎伎襷, 蠏朱蓋 谿伎 螻覯 覿覲糾骸 襴 覯 螻壱 覿覿覓語襯 覯 る 企. 覲旧旧 TOP-DOWN 覦螻 BOTTOM-UP れ 覯 覲伎. 朱慨豺 伎 蟲 襯 襦 る 螻覯 TOP-DOWN BOTTOM-UP
  • 4. POSTECH Computer Algorithm Team 伎 螳 TOP-DOWN覦 蠏襯 覲企 讌蟯朱 蟲 螻, 蟯螻襯 螻ろ 螳 . 蠏碁 螳 襴る . BOTTOM-UP覦 for覓語 覲企 襦蠏碁 螳 觜殊讌襷, 蟲 讌蟯願, 蟯螻襯 螻ろ伎 る . TOP-DOWN覦 蟆曙, 覯 螻壱 蟆郁骸襯 れ 螻壱讌 蟆 蠍 memoization . 螻覯 BEFORE AFTER
  • 5. POSTECH Computer Algorithm Team 螻覯 蠍 伎 れ螻 螳 譟郁唄 襷譟燕伎 . F(x) 螻覯 , F(a) = x, F(b) = y a == b企, x ==y 襯 襷譟燕伎 . 讀, 螳 リ 伎 螳 豢リ 詞伎 . 襯 れ 朱慨豺 願骸 螳 蟆曙一 n覯讌 朱慨豺 伎 螳 1螳讌襦 殊覩襦, 螻覯 讌襷, s襦覿 a蟾讌 蟆暑襯 豢ロ , F(a)螳 , a 蟆暑螳 螳讌螳 譟伎 朱襦 螻覯 . 螻覯
  • 6. POSTECH Computer Algorithm Team 螻覯 覓語 願屋 覦覯(螳企殊) 1. 覲襯 覈 谿朱 蟆瑚?(覲 螳) 2. 螳 覲 覩碁 覓伎瑚? 3. 覲襦 誤 豢 DP螳 企 覩語瑚? 4. DP螳 螳 蟯螻() 覓伎瑚? 5. 伎 for覓 蠏襦 蟲. 伎 覓語れ 企慨覃 螳 螳 牛覲伎. 螻覯
  • 7. POSTECH Computer Algorithm Team 2xN Tiling(11276)
  • 8. POSTECH Computer Algorithm Team Naive 覦覯 覃 讌 朱れ 覦一覃伎 蟆曙一 襯 . 轟壱蟆 覦覯 覓企Μ螳 . 蠏碁 襾殊 覦一 轟 覲伎. 襷 るジ讓所骸 螳 殊 願蟆 覦一企慨. 蠏碁る, 襾語 朱れ 企至 覦一朱 觜 螻糾 蠍郁 2xN 讌螳 覈 豈 . 磯殊 譬襯襦襷 殊 覦一 . 2xN Tiling
  • 9. POSTECH Computer Algorithm Team 蠏碁る 螻覯 企至 伎 蟾? 蠍一 F(A)=B襯 れ螻 螳 蟆企. -> B 2xA 覈 讌螳 豈磯 蟆曙一 蠏碁る 企至 語 蟾? 蠏碁手骸 螳 2xA 讌螳 豈郁鍵 伎 2x(A-2) 讌螳 螳襦 2螳 2x(A-1) 讌螳 碁 1螳襯 豈 . 2xN Tiling 2x(A-2) 2x(A-1)
  • 10. POSTECH Computer Algorithm Team 蠏碁る 2xA 讌螳 豈磯 蟆曙一 2x(A-2) 讌螳 豈磯 蟆曙一 2x(A-1) 讌螳 豈磯 蟆曙一 . 讀, F(A) = F(A-1) + F(A-2) 焔渚 . F(0) = 0, F(1) = 1 轟壱覩襦, 企ゼ 伎覃 O(n) 螻一 . 覿 覲糾骸 O(logn)襷 蟲 覦覯 朱 蟯朱 谿場覲伎. 2xN Tiling
  • 11. POSTECH Computer Algorithm Team LIS(Longest Increasing Subsequence) 伎 覿 る 襯 覿覿 伎 蟲燕 螳 讀螳 襦 襯 螻襯企伎 螻襯 覿覿 伎 蠍語願 豕 蠍語願 襦 襯 蟆曙一 . 襯 れ れ螻 螳 覦一伎 覦一伎 LIS 螳 豺 覿覿 . LIS(豕 讀螳 )
  • 12. POSTECH Computer Algorithm Team LIS O(nlogn)朱 蟲 讌襷, DP 襴襯 覲願鍵 O(n^2) 覦覯 . 覦覯 る 覓語 JLIS 覩襦 覦覯 牛覲伎. 螳 讌蟯 覦覯 覈 覿覿 伎 燕 れ 蠏 伎 讀螳 伎語襯 蟆螻, 讀螳 伎 蟆 譴 豕 蠍語企ゼ 螳讌 蟆 LIS . 覓朱 O(n*2^n)企襦 螳 豐螻手 殊企蟆 . 蠏碁る 螻覯 企至 伎伎 蟾? LIS(豕 讀螳 )
  • 13. POSTECH Computer Algorithm Team 襾殊 F(A) = B襯 れ螻 螳 . -> A覯讌 襯 豌 覯讌 襦 螳讌 LIS 蠍語 B 蠏碁る, F(N) = 1 轟壱螻( 蠍 企襦), F(A)襯 蟲 覦覯 螳企慨. 蠏碁る れ螻 螳 螳 . LIS(豕 讀螳 ) Cache[i] i 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 0 1
  • 14. POSTECH Computer Algorithm Team LIS(豕 讀螳 ) Cache[i] i 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 2 1 Cache[i] i 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 3 2 1
  • 15. POSTECH Computer Algorithm Team LIS(豕 讀螳 ) Cache[i] i 0 1 2 3 4 5 6 7 8 0 0 0 0 0 3 3 2 1 Cache[i] i 0 1 2 3 4 5 6 7 8 0 0 0 0 4 3 3 2 1
  • 16. POSTECH Computer Algorithm Team 伎 螳 覦覯 覦覲牛覃, LIS 蠍語企ゼ 蟲 . 襷 LIS 蠍語願 LIS 豌企ゼ 蟲螻 矩る, back 覦一伎 豢螳襦 襷れ伎 cache螳 螳煙襦 豺襯 ロ覃, LIS襯 蟲 . 覦一 讌 覃 O(nlogn) 襦 蟲 . LIS(豕 讀螳 ) Cache[i] i 0 1 2 3 4 5 6 7 8 6 5 4 4 4 3 3 2 1
  • 17. POSTECH Computer Algorithm Team https://algospot.com/judge/problem/read/ASYMTILING https://algospot.com/judge/problem/read/PI https://algospot.com/judge/problem/read/QUANTIZE https://algospot.com/judge/problem/read/WILDCARD https://algospot.com/judge/problem/read/JLIS 覓語