dynamic programming probemset archieve

17
Ç£ŞüţÆû Ć b œŚÚþ ôŚœ ĆŞ ÂŮĄČşõŚî ćŚČşÞóŘ üłěĄõŊ ù b ďøć 1 ŚþĄŢ ýěŚĺĆõŚœÂŞ ć îÛ þÀ ś ŮĆ Ü ß Æ õ þě ýÂ ĺ Œ þĆ Ş ø ť Æ Ø ł Řď ü Ü î Ć b Ü ß Æ õŒ þ öŘĄ Ůü õ Ć î Ý þŘùÀ þć Ě f ś ì Ś õ ü Ü Č ą .ćďøŊť ĺÀ Ş Řď ü Ü ňŘ Ć b Ü ß Æ õ ŠŘĄ Ż öŘĄ Ůü õ Ś ú œŊ ŠŘĄ Ż ôŚ èćŘ ø Ś ûĆ Ü ß Æ õ þě þŘ Û § Ś ŞĆ î Û Ö ţ Æ õ Ć b Ü ß Æ õ ýÂ ĺ Œ þĆ Ş Ă îü õü þŚ Þ Ă ûŘď öŊ ţ Æ Ø ł ýŘÂ Ş Řď Ś õ Ć Ü ß Æ õŒ þ ďŚ ţ ąŚ ĺ ŰŚ ìøŘ ü Ü Č ą ü óø .À Ă Ă îü õŒ Þ îü Ü ňŘ Ć b Ü ß Æ õÛ § ýŘÂ Ş Řď Ś õ Ś ú œŊ ø Ý Č Ă îü õÛ § Řď Ś ú œŊ ø Ý Č ĺďü õ íŘ ţ łŘ ŰŚ ìøŘ ü Ü Č ą Û ŐŚ Æ õ þě þŘ Ć Ø Ü Ş ø Ý Č ĺďü Þ œÛ Ö ţ Æ õ Ć b Ü ß Æ õ þě ýÂ ĺ Œ þĆ ŞŚ õ ŰŚ ìøŘ ýćŚ þě ŰĎŚ §,Ý Č Ă îü õÛ § Řď Ś ûĆ Ü ß Æ õ þě þŘ Ě f Ö ţ Æ õü ţ ìø ŰďĄ ň þŘ ďć œďŘć Ý û Ś Ş ýćŚ þě Ś ú œŊ öć îÛ § ďŚ Ş Œ þĆ îü óŚ § ďć ;Ý Č Ă îü õÛ § Řď Ś ú œŊĆ Ü ß Æ õ þě  û ďć Ś õ Ć îÀ Ă ţ êŘü õëŚ Ô ŮŘ Ś Ş Ă łŚ ś œÂ Ú þÀ Ø þ ěŘ Û Ö ţ Æ õ Ý þďŘć Ś õ Ć îü þŚ ûĆ Ü ß Æ õ þě Ć îü ŮďĄ ň ďć â ìŘø ďć .ť ĺŘ ùćĄ Ş ü êŚ î Ě f Ö ţ Æ õ Řď Ś ú œŊĆ b Þ û Ś õü óø À Ă ţ Æ ûöŚ Æ Ø þĆ îÀ œĄ łü õ ŘÀ Č Ţ ýćŚ þě ýŚ ûĆ Ü ß Æ õ þě Û Þ ä þŘ Ć b õŘćŘ Ć Ş öŘĄ Ůü õ,Ý þ ś Ş Č Ş ěŘ Ě f ňŘ Ś þ ø Ý Č Ă î Ý î Řď Ś ûĆ Ă þà û ďĄ Ż þŘ Ý Č œŘĄ ţ Ş Â ðŘ .Ý Č Ă îü õÛ § ďŚ Ş Œ þ ùćŚ ĺĆ b ţ Ø œ Č Þ ûÃ Č œ Ś þĄ Ţ ýŚ ûÝ ţ þďĄ Ú óŘ ü Ü ňŘ ù b À þŘ Č ĺď ý ŮýĄ ìø ţ ú Ş ďŚ Č Æ Ş ýŚ ûÝ ţ þďĄ Ú óŘ ýŚ ûùćŘć ěŘ ü óøÀ Ż ýďŘÀ ú Ú œ Ś ŞĎ f Ą Þ ã õ . "öŚ Æ Ø þ ýŚ ûÃ Č İ ù b ďŚ ŞøćĆ b ś ĺŚ ¡ õ ěŘ Ã Č û ޒ :À łŚ Şü õ ť ĺć Ý ú õ þŘ Ć ŞÝ Č œŘĄ Ůü õ,Ý Č Ă îü õÂ Ţ Řď öŊÝ þŘùć î ćŚ ź þŘ Ć îü þŚ ûĆ Ü ß Æ õ þě ěŘ Ć î ùÀ õŊť ĺÀ Ş .ÝČĂî ŘÀČŢ Û ŐŚ Æ õ þě þ ŮÉ £ È õø þ ŮöŚ ĺŊ ěŘ Ď f Ą Þ ã õ Ś õ .À łŚ Şü õ ĎŚ ŞĆ Ş Č þŚ Ţľøď Œ þŚ þĄ Ţľøď Řď ďŚ î þŘ ø,Ý Č ĺďü õ Ůïďà ŞĆ b Ü ß Æ õ ŠŘĄ ŻĆ ŞŚ ú œŊ ŠŘĄ Ż öć îôŚ èćŘ Ś Ş .Ý Č Ă îü õ áø ł Řď ďŚ î Č þŚ ŢĆ ŞĎŚ Şľøď Œ þ §ø Ý Č Æ Ö Ůľøď .Ý Č ĺÂ Ş ü Ü ňŘ Ć b Ü ß Æ õ ŠŘĄ ŻĆ Ş Â ąŊ Ś ŮÝ Č ûćü õ Ć õŘćŘ ,Ý Č Ă îü õ Ć Ü Þ §ü Ü ňŘ Ć b Ü ß Æ õ Ć ŞŘ f ďĄ ê,Ý Č Ă îÛ § ľøď þŘ Ś ŞÝ Č ûŘĄ ąü õ Řď Ć Ü ß Æ õŒ þ ü ţ ìø .ť ĺŘ ø Ý Č Ă îü õ Ć Ü Þ §Û ŐŚ Æ õ þě þŘ Ć Ş ùďŚ Şøć øùć î Ý Č Æ Ö ŮĆ Ü ß Æ õ þě ýÂ ĺ Œ þĆ Ş Řď öŊ Å ş ĺ ù b Ą Ü Ż Řď §ø Ý Č Æ Ö Ůľøď öŘĄ Ůü õâ ìŘøďć .ćĄ ł Û § Ć Ü ß Æ õ Ś ŮÝ Č ûćü õ Ć õŘćŘ Řď ďŚ î þŘ .ťłŘÀĂŢ üőŚþď ýŘÂÖţĺŘ üÞţþďĄÚóŘ .ťĺŘ ùÀł ýďøŊâÞŻ ÂŮĄČşõŚî ćŚČşÞóŘ üłěĄõŊ ùďøć ýŘÂŞ üĂČúõ ÀÞ¡õ ÍĺĄŮ ëĄêüłěĄõŊĆóŚÖõ ďć Ś œŘĄ Ů êŒ þ ,ćĄ łü õ ćŚ þ öŊ ěŘ Č õŚ Ă þŘćđĚ Î ňŘ Ś Ş ü ûŚ ðĆ î(Dynamic Programming) Ś þĄ Ţýà þďĆ õŚ œÂ Ş łŚŞüõ ďŚţłĄœ þŘ áĄőĄõø ťĺŘ üÞţþďĄÚóŘ ÛŐŚÆõ Û§ Divide and Conquer method 1

Upload: ali

Post on 23-Dec-2015

227 views

Category:

Documents


0 download

DESCRIPTION

An awesome Dynamic programming problemsets which strengthen your ability in problem solving of DP. These problems are usually in Informatic olympiad.

TRANSCRIPT

Page 1: Dynamic programming probemset archieve

Ç£ŞüţÆû Ćb œŚÚþ ôŚœ ĆŞ

ÂŮĄČşõŚî ćŚČşÞóŘ üłěĄõŊ ùbďøć1ŚþĄŢ ýěŚĺĆõŚœÂŞ

ćÂî ÛþÀśŮ ĆÜßÆõÂþě ýÂĺŒþ ĆŞ øťÆØł Řď üÜî Ćb ÜßÆõ Œþ öŘĄŮüõ Ćî ÝþŘùÀþć Ěf śì ŚõüÜČą .ćďøŊ ťĺÀŞ Řď üÜňŘ Ćb ÜßÆõŠŘĄŻ öŘĄŮüõ ŚúœŊ ŠŘĄŻ ôŚèćŘ ø ŚûĆÜßÆõÂþě ;þŘ Û§ ŚŞ ĆîÛÖţÆõ Ćb ÜßÆõ ýÂĺŒþ ĆŞ ;ÀĂîüõ üþŚÞĂûŘď öŊ ;ţÆØł ýŘÂŞ Řď Śõ ĆÜßÆõ Œþ ďŚţąŚĺ ŰŚìøŘüÜČą üóø .ÀĂĂîüõ ŒÞî üÜňŘ Ćb ÜßÆõ Û§ ýŘÂ Ş Řď Śõ ŚúœŊ ø ÝČĂîüõ Û§ Řď ŚúœŊ ø ÝČĺďüõíŘÂţłŘ ŰŚìøŘ üÜČą ÛŐŚÆõÂþě ;þŘ ĆØÜŞ ø ÝČĺďüÞœ ÛÖţÆõ Ćb ÜßÆõÂþě ýÂĺŒþ ĆŞ ŚõŰŚìøŘýćŚþě ŰĎŚ§ ,ÝČĂîüõ Û§ Řď ŚûĆÜßÆõÂþě ;þŘ Ěf ÖţÆõ üţìøŰďĄň ;þŘ ďć .ÀœďŘć Ýû ŚŞ ýćŚþěŚúœŊ öćÂî Û§ Œþ Ćî üóŚ§ ďć ;ÝČĂîüõ Û§ Řď ŚúœŊ ĆÜßÆõÂþě Âû ďć Śõ Ćî ÀĂţêŘüõ ëŚÔŮŘŚŞ ,ÀĂłŚśœ ÂÚþÀØþ ěŘ ÛÖţÆõ ÝþďŘć Śõ Ćî üþŚûĆÜßÆõÂþě Ćî üŮďĄň ďć âìŘø ďć .ťĺŘ ù楪 üêŚîĚf ÖţÆõ Řď ŚúœŊ ĆbÞû Śõ üóø ÀĂţÆû öŚÆØþ Ćî ÀœĄłüõ ŘÀČŢ ýćŚþě ýŚûĆÜßÆõÂþě ÛÞä ;þŘ Ćb õŘćŘĆŞ öŘĄŮüõ ,ÝþÂśŞ ;ČŞ ěŘ Ěf ňŘ Śþ ø ÝČĂî Ýî Řď ŚûĆĂþÃû 說 ;þŘ ÝČœŘĄţŞ ÂðŘ .ÝČĂîüõ Û§ ŒþùćŚĺ Ćb ţØœ ;ČÞû ÃČœ ŚþĄŢ ýŚûÝţþďĄÚóŘ üÜňŘ ùbÀþŘ .ÀČĺď ýÂŮýĄì ø ÂţúŞ ďŚČÆŞ ýŚûÝţþďĄÚóŘýŚûùćŘć ěŘ üóøÀŻ ýďŘÀúÚœ ŚŞ ĎfĄÞãõ . "öŚÆØþ ýŚûÃČİ ùbøć Ćb śĺŚ¡õ ěŘ ÃČûÂŢ’ :ÀłŚŞüõťĺć Ýúõ ;þŘ ĆŞ ÝČœŘĄŮüõ ,ÝČĂîüõ ÂŢ Řď öŊ ÝþŘùćÂî 挟þŘ Ćî üþŚûĆÜßÆõÂþě ěŘ Ćî ùÀõŊ ťĺÀŞ

.ÝČĂî ŘÀČŢÛŐŚÆõÂþě ;þÂŮÉ£Èõ ø ;þÂŮöŚĺŊ ěŘ ĎfĄÞãõ Śõ .ÀłŚŞüõ ĎŚŞĆŞ;ČþŚŢ ľøďŒþ ŚþĄŢ ľøďŘď ďŚî ;þŘ ø ,ÝČĺďüõ ÂŮïďÃŞ Ćb ÜßÆõŠŘĄŻ ĆŞ ŚúœŊ ŠŘĄŻ öćÂî ôŚèćŘ ŚŞ .ÝČĂîüõ áøÂł Řď ďŚî;ČþŚŢĆŞĎŚŞ ľøďŒþ "Û§ ø ÝČÆÖŮ’ľøď .ÝČĺÂŞ üÜňŘ Ćb ÜßÆõŠŘĄŻ ĆŞ ÂąŊ ŚŮ ÝČûćüõ ĆõŘćŘ,ÝČĂîüõ ĆÜÞ§ üÜňŘ Ćb ÜßÆõ ĆŞ ŘfďĄê ,ÝČĂî Û§ľøď ;þŘ ŚŞ ÝČûŘĄąüõ Řď ĆÜßÆõ Œþ üţìø .ťĺŘø ÝČĂîüõ ĆÜÞ§ Û ŐŚÆõ þě ;þŘ ĆŞ ùøć ø ùćÂî ÝČÆÖ Ů ĆÜßÆõ þě ýÂĺŒþ ĆŞ Řď öŊÅ şĺùbĄ ÜŻ Řď "Û§ ø ÝČÆÖ Ů’ľøď öŘĄ Ůüõ âìŘøďć .楳 Û§ Ć Ü ßÆõ Ś Ů ÝČûćüõ Ć õŘćŘ Řď ďŚî ;þŘ

.ťłŘÀĂŢ üőŚþď ýŘÂÖţĺŘ üÞţþďĄÚóŘ.ťĺŘ ùÀł ýďøŊâÞŻ ÂŮĄČşõŚî ćŚČşÞóŘ üłěĄõŊ ùďøć ýŘÂŞ üĂČúõ ÀÞ¡õ ÍĺĄŮ ëĄê üłěĄõŊ ĆóŚÖõ

ďć ŚœŘĄŮ ;ê Œþ ,楳üõ ćŚþ öŊ ěŘ "ŒČõŚĂþŘć’ đĚÎňŘ ŚŞ üûŚð Ćî (Dynamic Programming) ŚþĄŢ ýÃþďĆõŚœÂŞ.ÀłŚŞüõ ďŚţłĄœ ;þŘ áĄőĄõ øťĺŘ üÞţþďĄÚóŘ ÛŐŚÆõ Û§

Divide and Conquer method

1

Koorosh
Page 2: Dynamic programming probemset archieve

O(n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üİŚœĄśČê Ćb óŚśœć :ñøa Ř Ćb ÜßÆõ:ÀþďøŊ ťĺÀŞ n ćÀä ýŘÂŞ Řď 楳üõ ÓþÂãŮ Âþě ÛØł ĆŞ Ćî üãŞŚŮ ďŘÀÖõ

f(n) =

⎧⎨

f(n − 1) + f(n − 2) n ≥ 2

1 n = 0,1

?ťĺŘ ďÀÖİ öŊ ýŘÂŻŘ öŚõě ,ÝČĂî ùćŚÔţĺŘ âŞŚŮ ;þŘ Ćb śĺŚ¡õ ýŘÂŞ Âþě ⪌٠ěŘ ÂðŘ

function F(n)

if n < 2 then return 1else return F(n-1) + F(n-2)

O(nk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . řČîÂŮ :ôøć Ćb ÜßÆõ:ÀþďøŊ ťĺÀŞ Âþě ĆbÎŞŘď ěŘ ùćŚÔţĺŘ ŚŞ Řď n ěŘ k řČîÂŮ ďŘÀÖõ

(nk

)=

⎧⎪⎪⎨

⎪⎪⎩

(n − 1k − 1

)+

(n − 1

k

)0 < k < n

1 otherwise

?ťĺŘ ďÀÖİ öŊ ýŘÂŻŘ öŚõě ,ÝČĂî ùćŚÔţĺŘ řČîÂŮ ;þŘ Ćb śĺŚ¡õ ýŘÂŞ Âþě ⪌٠ěŘ ÂðŘ

function C(n,k)

if k = 0 or k = n then return 1else return C(n-1,k-1) + C(n-1,k)

ÝČûŘĄąüõ Ćî üÜŐŚÆõ üĂãþ .楳üõ ùćŚÔţĺŘ ýěŚĺĆĂČúŞ ÛŐŚÆõ Û§ ýŘÂŞ ĎfĄÞãõ ŚþĄŢ ľøďĆĂČúŞ ŠŘĄŻ ,ćďŘć Řď ĆĂČúŞ ďŘÀÖõ Ćî üŞŘĄŻ ĆŞ ĎfĄÞãõ .ÝČĂî ĆĂČÈČŞ Śþ ĆĂČÞî Řď âŞŚŮŒþ ďŘÀÖõ

.楳üõ ĆţÔð:楳 ĆţÆØł Âþě Û§ŘÂõ ĆŞ ÀœŘĄŮüõ ŚþĄŢ ÝţþďĄÚóŘŒþ ďŚţąŚĺ

;ĆĂČúŞ ŠŘĄŻ ďŚţąŚĺ ťąŚĂł (1

;ÝČĂî ŘÀČŢ Řď ĆĂČúŞ ŠŘĄŻ ďŘÀÖõ üţÈð쌪 ďĄÏ ĆŞ (2

ø ;ÝČĂî ĆśĺŚ¡õ ĎŚŞ ĆŞ ;ČþŚŢ ñÀõ ŚŞ øřČŮÂŮ ĆŞ Řď ĆĂČúŞ ŠŘĄŻ ďŘÀÖõ (3

2

Page 3: Dynamic programming probemset archieve

.ùÀõŊ ťĺÀŞ ŰŚäĚÏŘ ěŘ ĆĂČúŞ ŠŘĄŻ ;ţąŚĺ (4

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚúÆþÂŮŚõŠÂő :ôĄĺ Ćb ÜßÆõĆ î ýŘĆ œĄð Ć Ş Ý þďŘć ďŚ Č ţ ąŘ ďć A A . . .An ŰďĄň Ć Ş Ś úÆ þ ٌ õ ěŘ ýŘĆ óŚ ś œć À Č Ă îŋ êüĂãþ B ÅþÂŮŚõ ďć AÅþÂŮŚõŠÂő Ćb ĂþÃû .ÀłŚŞÓþÂãŮ ÛŞŚì A × A × . . . × An ŠÂőýďĄÏ ÝČûŘĄąüõ .ÀłŚŞüõ mkp ,ÀłŚŞ k × p üÆþÂŮŚõ B ø m × k üÆþÂŮŚõ A ÂðŘ ,A × B

ŠŘĄ Ż ; ţ êŚ þ ýŘÂ Ş Řď ; Ø Þ õ Ćb Ă þà û ; þ ţ Þ î Ć î Ý Č Ă î ýďŘÁ ðà ţ œŘÂ Ţ Ś ú Æ þ ٌ õ ; þŘ ; Č ŞáĄ œ Œþ (A × (A × A )) × A ,n = 4 ýŘÂ Ş Ěf ůõ .ÝþěŘćÂş Ş A × A × . . . × An ŠÂőďć ø A × (A × A ) Å şĺ ø ùÀł ĆśĺŚ¡õ A × A ŘÀ ţ ŞŘ öŊ ďć Ćî ÀłŚŞüõ ýďŘÁðà ţ œŘ ŢùĄ¡œ ø ôěĎ Ćb ĂþÃû ;þÂţÞî .ÀþŊ ťĺÀŞ üþŚúœŠŘĄŻ ŚŮ 楳üõŠÂő ŚúœŊ ŠŘĄŻ ďć A ťþŚúœ

.ÀþďøŊ ťĺÀŞ Řď ýďŘÁðÃţœŘÂŢ

:ŚŞ ťĺŘ ÂŞŘÂŞ ŘÂŻŘ öŚõě ,ÝČĂî üĺďŘø Řď ýďŘÁðÃţœŘÂŢ ŰĎŚ§ ôŚÞŮ ÂðŘ :ñŘĄbĺ

T (n) =1

n

(2n − 2n − 1

)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÂČÆõ ;þÂŮùŚŮĄî :ôďŚúİ Ćb ÜßÆõŚþĄŢ ýŚûÝţþďĄÚóŚ ,ÂČÆõ ;þÂŮùŚŮĄî ;ţêŚþ ýŘÂŞ ñŚłďŘø-ÀþĄÜê ø ŘÂţÆØþŘć ýŚûÝţþďĄÚóŘ ŚþŊ

?ÀĂţÆû

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . íÂţÈõ Ćb óŚśœćÂþě ;þÂŮïďÃŞ :ÝźĂŢ Ćb ÜßÆõćŘÀãŮ ;þÂţÈČŞ öćÂî ŘÀČŢéÀû .ÀœŘùÀł ùćŘć Y = ⟨y , . . . , ym⟩ ø X = ⟨x , . . . , xn⟩ Ćb óŚśœć øćüłøď .ÀłŚŞ (∀l : 1 ≤ l ≤ k) xil = yil Ćî ýďĄÏ ĆŞ ÀłŚŞüõ i < i < . . . < ik ýŚúÆþÀœŘ

.ÀČĂî ŘÀČŢÅþÀœŘ ćŘÀãŮ ;þÂţÈČŞ öćďøŊ ťĺÀŞ ýŘÂŞO(n2) . . . . . . . . . . . . . . . . . . . . . . . üóøÃœÂČè Ćb óŚśœćÂþě ;þÂŮïďÃŞ :ÝÈł Ćb ÜßÆõX = ⟨x , . . . , xn⟩ ćŘÀäŘ Ćb óŚśœć ěŘ üóøÃœÂČè Ćb óŚśœćÂþě ;þÂŮïďÃŞ öćÂî ŘÀČŢ ýŘÂŞ ÝţþďĄÚóŘŒþ

.ÀČûć ĆŐŘďŘO(n lg n) . . . . . . . . . . . . . . . . . . . . üóøÃœÂČè Ćb óŚśœćÂþě ;þÂŮïďÃŞ :ÝţÔû Ćb ÜßÆõX = ⟨x , . . . xn, ⟩ ćŘÀäŘ Ćb óŚśœć ěŘ üóøÃœÂČè Ćb óŚśœćÂþě ;þÂŮïďÃŞ öćÂî ŘÀČŢ ýŘÂŞ ÝţþďĄÚóŘŒþ

.ÀČûć ĆŐŘďŘDijkestra

Floyd-Warshall

3

Page 4: Dynamic programming probemset archieve

O(n2) . . . . . . . . . 6ŘĄœøć üĺÀČÜìŘ ýŚÌê ďć ćÂðùďøć ùbÀĂłøÂê :ÝţÈû Ćb ÜßÆõďć Ćî Řď ĆÎÖœ n ĆîťĺŘ ýďøć ;þÂ ŮŒİĄî öćÂî ŘÀ Č Ţ ćÂðùďøć ùbÀ ĂłøÂê Ćb Ü ßÆõ ďć éÀûÀłŚŞ ýďĄÏ ĆŞ ÀþŚŞ ÂČÆõ ;þŘ ÀČĂîŋÂê .ÀłŚŞüõ ,ÀĂî Ûňø Ýû ĆŞ ÀĂţÆû üĺÀČÜìŘ ýŚÌêĆ Ş Ś Ů (ććÂÚ œÂ Ş šİ Ć Ş) ćøÂ Ş ťĺŘď ťÞĺ Ć Ş ø 楳 áøÂł ĆÎÖ œ ;þÂ Ůšİ ěŘ ďøć ;þŘ ĆîťĺŘď ĆŞ) ćøÂ Ş šİ ĆŞ ÍÖê Ã Č œťÈðÂ Ş ďć ø ććÂðÂ Ş ĆÎÖœ öŊ ěŘ ø ÀĺÂ Ş ĆÎÖœ ;þ ٝĺŘďýŚÌê ďć ĆÎÖ œ n ýŘÂ Ş Řď ďøć ; þÂ ŮŒİĄ î ;þŘ Ć î À Čûć Ć ŐŘďŘ üÞ ţ þďĄÚ óŘ ñŚ§ .(ććÂÚ œÂ Ş

.ÀĂî ŘÀČŢ üĺÀČÜìŘĆ Ş šİ ěŘ ùÀłřŮÂõřČŮ ٠ƪ) ôŘ i ğŘď ěŘ Ćî ÂČÆõ ;þÂţØİĄî  ŞŘÂ Ş Řď p[i] :Û§ ùbÀþŘø ćøÂŞ ôŘ i + 1ğŘď ĆŞ 1ğŘbď ěŘ ÀãŞ ø (ÀĂîťî§šİ ĆŞ ÍÖê) ćøÂŞ ôŘ 1ğŘbď ĆŞ (ťĺŘďŒþ ŚfÖČìć i + 1 ŚŮ 1 ;ČŞ ŕŚÖœ ôŚÞŮ ěŘ ÂČÆõ ;þŘ ďć ;ČĂżÞû ø ÀĂîťî§ťĺŘď ĆŞ ÍÖê

.ÝþďÁÚŞ

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;ţõ ;ţłĄœ :Ýúœ Ćb ÜßÆõli ñĄÏ ýŘďŘć öŊ ôŘ i ĆbÞÜî øťĺŘ ĆÞÜî n ýŘďŘć ĆîťĺŘ ùÀł ùćŘć Śõ ĆŞ ;ţõ Œþ ÀČĂîŋÂêÂţêć ;þŘ ěŘ ÂÎĺ Âû ďć .ćďŘć ďŘÂì ÂÎĺ ýÂĺŒþ öŊ ďć Ćî ÝþďŘć ÂţêćŒþ Śõ ;ČĂżÞû .ÀłŚŞüõøć ;þŘ ;ČŞ ÀþŚŞ ,ÀĂţłŘć ďŘÂì ôŘ i + 1 ø ôŘ i ĆÞÜî øć Âû üÎą ďć ÂðŘ .ťłĄœ é§ M öŘĄŮüõ(i ≤ j) ÀĂþŚČŞ ÂÎĺŒþ ďć ôŘ j ŚŮ ôŘ iŰŚÞÜî ÂðŘ řČŮÂŮ ;þŘ ĆŞ .楳 ùćŘć ďŘÂì ĆÜňŚê Œþ ĆÞÜîÍą Âû Ć î üêø§ ćŘÀã Ů .ÀłŚ Şüõ j − i +

∑jk=i lk ťÆû Íą ;þŘ ďć Ć î üêø§ ćŘÀã Ů

Ćî ÀłŚŞüõ üóŚą ýŚûĆÜňŚê ćŘÀãŮ áĄÞźõ öćÂî ĆĂČÞî éÀû .楳 ÂţÈČŞM ěŘ ÀþŚśœ ÝČÆþĄœüõŒþ ďć ôŘ j ŚŮ ôŘ i ŰŚÞÜî ÂðŘ Ěf ůõ .ćďŘć ďŘÂì ÝþŘĆţłĄœ ŚúœŊ ďć Řď ;ţõ Ćî üþŚûÂÎĺ ýŚúţœŘ ďć.ÀłŚŞüõ M − j + i −

∑jk=i lk ťÆû Íą ;þŘ ďć Ćî üóŚą ĆÜňŚê ćŘÀãŮ (i ≤ j) ÀĂþŚČŞ ÂÎĺ

.ÀČĂî ŘÀČŢ ;ţõ ;þŘ ;ţłĄœ Ćb ĂČúŞ ľøď öćÂî ŘÀČŢ ýŘÂŞ üÞţþďĄÚóŘ

O(n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÅČŐď ýŚìŊ üœŚÞúõ :Ýûć Ćb ÜßÆõćďŘćÅČŐďŒþ ŚfÖČìć ÂÔœ ÂûťîÂł ;þŘ ďć .ÀĂî ŚŢÂŞ üœŚÞúõ Œþ ćďŘć ÀÊìťîÂłŒþÅČŐďďŘćĆÈþď ťąďćŒþ ŰďĄň ĆŞ ťîÂł ;þŘ ďŚţąŚĺ řČŮÂŮ ;þŘ ĆŞ ;ťîÂłÅČŐď 楹 ěŘ ÂČè ĆŞĆî x ÂÔœ ÂðŘ ;ČĂżÞû .ťĺŘÉ£ł öŊÅČŐď ,ğŘbď Âû ďÀŢ øťîÂłÅČŐď öŊ ĆbÈþď ĆîťĺŘÅČŐď ùÀł ôŚźœŘ Ćî üŮŚÖČÖ¡Ů ÕśÏ .ÀĂîüõťêÂÈČŢ cx ùběŘÀœŘ ĆŞ ťîÂł ,ÀþŚČŞ üœŚÞúõ ;þŘ ďćťîÂł öŚĂîďŚî ěŘ ÂÔœ Œþ Ćî ćďŘÀœťĺøć ;ČĂżÞû ýø .ťĺŘ ùćÂî ŘÀČŢ Řď Śû cx ďŘÀÖõťîÂłöŚĂîďŚî ěŘ ýćŘÀãŮ öćÂîŰĄäć øŘéÀû ñŚ§ .ÀœĄł ŰĄäć üœŚÞúõ ;þŘ ďćÇÆČŐď ùŘÂÞû ĆŞýŘÂŞ üÞţþďĄÚóŘ .ÀłŚŞ ĆţłŘć Řď ťêÂÈČŢ ;þÂţÈČŞ ťîÂł üœŚÞúõ ;þŘ ěŘ ÀãŞ ĆîťĺŘ ťîÂł

Bitonic

4

Koorosh
Page 5: Dynamic programming probemset archieve

ÀłŚŞ ĆţłŘć Řď ťêÂÈČŢ ;þÂţÈČŞ ťîÂł ŚŮ ÀœĄł ŰĄäć üœŚÞúõ ďć ťĺŘ ôěĎ Ćî ýćŘÂêŘ Ćb śĺŚ¡õ.ÀþďøŊ ťĺÀŞ

O(n2) . . . . . . . . . . . . . . . . . . . . . üźœÂÎł Ćb¡Ôň ýøď ťî§ :ÝûćěŚþ Ćb ÜßÆõŚõ .ćďŘć ďŘÂì p(i, j) ùběŘÀœŘ ĆŞ ñĄŢ ýďŘÀÖõ öŊ (i, j) Ćb œŚą Âû ďć ,n × n üźœÂÎł Ćb¡ÔňŒþ ďćĆî ýďĄÏ ĆŞ ÝþøÂŞ ĎŚŞ ťÞĺ ĆŞ ø ùćÂî áøÂł Ć¡Ôň ;þŘ üĂČþŚŢ ýŚûĆœŚą ěŘ üØþ ěŘ ÝČûŘĄąüõĆœŚą öŊ ďć Ćî üóĄŢ ÝČœŘĄŮüõ ÝČţêď ĆœŚąŒþ ĆŞ ùŚðÂû Śõ .ÝČĂî âÞŻ Řď ;ØÞõ ñĄŢ ;þÂţÈČŞüþĎŚŞ Ćb œŚą ĆŞ ÝČœŘĄŮüõ ,ÝČłŚŞ (i, j) Ćb œŚą ďć ÂðŘ ĎŚŞ ťÞĺ ĆŞ ťî§ ďć .ÝþďŘćÂŞ Řď ÀłŚŞüõťÞĺ ĎŚŞ Ćb œŚą ĆŞ ø (i + 1, j + 1) ü Ăãþ öŊ ťĺŘď ťÞĺ ĎŚŞ Ćb œŚą ĆŞ ø (i + 1, j) ü Ăãþ öŊĆî ÝþøÂ Ş ýÂČÆõ ěŘ ÀČĂî ŒÞî Śõ ĆŞ .ÝþøÂ Ş ćĄŻøŰďĄň ďć (i + 1, j − 1) ü Ăãþ öŊ šİ

.ÝČĂî âÞŻ Řď ;ØÞõ ñĄŢ ;þÂţÈČŞ

O(nT ) = O(n2) . . . . . . . . . . . . . . . . . "ùć ôŚźœŘ ďŚî’ ùŚÚţĺć :ÝûćěŘøć Ćb ÜßÆõÂû .ÀœĄł ôŚźœŘ ùŚÚţĺć ;þŘ ÍĺĄŮ ÀĂœŘĄŮüõ Ćî an ŚŮ a ďŚî n ø ÝþďŘć ùŚÚţĺćŒþ ÀČĂîŋÂêôŚźœŘ di öŚõě ŚŮ ÂðŘ ø 楳 ôŚźœŘ ŚŮ ÀÈîüõ ñĄÏ üœŚõě À§Řø (1 ≤ ti ≤ n) ti ùěŘÀœŘ ĆŞ ai ďŚîŚõ ùŚÚţĺć .楳üÞœ ùćŘć Śõ ĆŞ ýćĄĺ žČûŰďĄň ;þŘ ÂČè ďć ø 楳üõ ùćŘć Śõ ĆŞ pi ćĄĺ 楳ƪ ai ďŚî ÂðŘ ;ČĂżÞû .Àûć ôŚźœŘ Řď ďŚî Œþ ěŘ üœŚõě À§Řø Œþ ÀœŘĄŮüõ üœŚõě À§Řø Âû ďćéÀû .楳 ôŚź œŘ ùŚÚ ţ ĺć ďć ÀĺÂ Ş ôŚ Þ ŮŘ Ć Ş ďŚ î ĆØ Ă þŘ Ś Ů Ć Ô ìøü Ş À þŚ Ş ,Àł ùćŘć ùŚÚ ţ ĺćŘď ćĄĺ ;þÂţÈČŞ Ćî ýďĄÎŞ ÀłŚŞüõ ùŚÚţĺć ĆŞ ŚûďŚî öćŘć řČŮÂŮ üĂãþ ,ŚûďŚî ôŚźœŘ ýÃþďĆõŚœÂŞ

.ÀþďøŊ ťĺÀŞ řČŮÂŮ ;þŘ öćÂî ŘÀČŢ ýŘÂŞ üłøď .ÝþďøŊ ťĺÀŞ

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚûĆţłď ÛþÀśŮ :ÝûćÃČĺ Ćb ÜßÆõ:ÝČĂî ÛþÀśŮ Âþě ýŚúÜÞä ŚŞ v Ćb ţłď ĆŞ Řď u Ćb ţłď ÝČûŘĄąüõ Śõ .ÀĂłŚŞ Ćţłď øć v ø u ÀČĂîŋÂê

;ÂţîŘďŚî ŒþéÁ§

ø ;öŚØõ Œþ ďć ÂţîŘďŚî Œþ öćÂî ĆêŚőŘ

.ÂţîŘďŚî Œþ öćÂîŋĄä

.ÀûÀŞ ôŚźœŘ ŰŚČÜÞä ;þÂţÞî ŚŞ Řď ďŚî ;þŘ Ćî ÀČûÀŞ ÝţþďĄÚóŘŒþ

O(n2|Σ|) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üþŚśÔóŘ ŠÂő :ÝûćďŚúİ Ćb ÜßÆõüÞţþďĄÚóŘ .ťĺŘ ùÀł ùćŘć ŚśÔóŘ ;þŘ ďć ÂÊĂä øć ÂûŠÂő ÛňŚ§ ø ∑ ýŚśÔóŘŒþ ÀČĂîŋÂê

5

Koorosh
Koorosh
Koorosh
Page 6: Dynamic programming probemset archieve

ýďĄÏ öŘĄ Ůüõ x = x × x × . . . × xn Ć ţłď ýŘÂ Ş Ś þŊ Ć î À Ă î Ć śĺŚ¡õ Ć î À þďøŊ ťĺÀ ŞćŘÀã Ů ;ČĂżÞû .楳 ŚśÔóŘ ;þŘ ďć ńŚą ÂÊĂä Œþ Űä ;þŘ ÛňŚ§ Ćî ćÂî ýďŘÁðÃţ œŘ Ţ

.ćďøŊ ťĺÀŞ ćĄł ÛňŚ§ ďŘÀÖõ ;þŘ Ćî Řď ýďŘÁðÃţœŘÂŢ ýŚûľøď

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚúÖþŚì ø ĆœŚąćøď :ÝûćÃœŚŢ Ćb ÜßÆõŕŚÖœ ;þŘ ÀČĂîŋÂê .ćÂî ùďŚŻŘ ÕþŚì öŘĄŮüõ ŚúœŊ ďć Ćî ćďŘć 楯ø ĆÎÖœ n öøďŚî Ćb œŚąćøď ďćùďŚŻŘ ĆĂþÃû ÀČĂîŋÂê ;ČĂżÞû .ÀœŘùÀł ýďŘÁðùďŚÞł n ŚŮ 1 ěŘ řČŮÂŮ ĆŞ ĆœŚąćøď ýŚţĺŘď ďćĆbÎÖœ ěŘ ĆĂþÃû ;þÂţÞî ŚŞ Ćî ÀČûć ĆŐŘďŘ üłøď .ÀłŚŞ aij ôŘ j Ćb œŚą ŚŮ ;ţêď ø i ĆbÎÖœ ěŘ ÕþŚì öćÂî

.ÝČĺÂŞ ôŘ n ĆbÎÖœ ĆŞ ÕþŚì ýćŘÀãŮ öćÂî ùďŚŻŘ ŚŞ 1

O(n3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ôćŊ ø ĆœŚąćøď :ÝûćÃœŚł Ćb ÜßÆõ;þŘ À Č ĂîŋÂê .ćÂî ùďŚŻŘ Õ þŚ ì öŘĄ Ůüõ Śú œŊ ďć Ćî ćďŘć 楯ø ĆÎÖ œ n öøďŚî Ćb œŚąćøď ďćÀ Č Ăîŋ ê ;Č ĂżÞû .À œŘùÀł ýďŘÁðùďŚÞł n Ś Ů 1 ěŘ řČ ŮÂ Ů Ć Ş Ć œŚąćøď ýŚ ţĺŘď ďć ŕŚ Ö œôŘ j Ćb Î Ö œ Ć Ş i Ćb Î Ö œ ěŘ ; ţ êď öŚ õě ø aij ,Õ þŚ ì ÍĺĄ Ů ôŘ j Ćb Î Ö œ Ć Ş i Ćb Î Ö œ ěŘ ; ţ êď öŚ õě.ÝČĺÂŞ ôŘ n ĆbÎÖœ ĆŞ 1 ĆbÎÖœ ěŘ ;ØÞõ öŚõě ;þÂţÞî ďć Ćî ÀČûć ĆŐŘďŘ üłøď .ÀłŚŞ bij ,ùćŚČŢ ýŚŢ ŚŞ

O(nm) . . . . . . . . . . . . . . . . . . . . ( üţÈŢ ĆóĄî ) ñĄŢ öćÂî ćÂą :ÝûÀÔû Ćb ÜßÆõùběŘÀ œŘ Ć Ş ýŚûĆØĺ Ś Ş Řď ñĄ Ţ ; þŘ ôŚ Þ Ů Ý ČûŘĄąüõ ø ÝþďŘć ñĄ Ţ öŚ õĄ Ů n ďŘÀÖ õ À Č Ăîŋ êćÂą ýŘÂŞ ôěĎ Ćb Øĺ ćŘÀãŮ ;þÂţÞî Ćî ÀČĂî ŘÀČŢ öćÂî ćÂą ýŘÂŞ üłøď .ÝČĂî ćÂą c , . . . cm

.ćďøŊ ťĺÀŞ Řď ñĄŢ öŚõĄŮ n öćÂî

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ĆÎŞŘď :ÝûÀźû Ćb ÜßÆõ;ČŞ ø ùćŘć ďŘÂì Ýû Âĺ ťÈŢ Řď ŚúœŊ üśČŮÂŮ ĆŞ ÝČœŘĄŮüõ Ćî ÝþďŘć ďŚČţąŘ ďć Ŕüł n ÀČĂîŋÂê,n = 2 ýŘÂŞ Ěf ůõ .ÀþďøŊ ťĺÀŞ Řď ďŚî ;þŘ ôŚźœŘ ýŚúûŘď ćŘÀãŮ .ÝČûć ďŘÂì Řď = ø < ÝŐĚä ŚúœŊ

.ćďŘć 楯øľøď 13 ,n = 3 ýŘÂŞ øľøď 3

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ýÀĂŞ űÜůõ :ÝûćěĄœ ýĆÜßÆõĆî ÝČĂî ýÀĂŞ űÜůõ ýďĄÏ Řď üãÜő n ;þŘ ÝČûŘĄąüõ .ťĺŘ ùÀł ùćŘć Śõ ĆŞ üãÜő nŒþ ŕŚÖœĆî ü þŚûÍąùďŚ Ţ ñĄÏ áĄÞź õ  ŞŘÂ Ş ýÀ Ă Şű Ü ů õ Œ þ Ćb Ă þÃû .ÀłŚ Ş Ć ţłŘć Řď Ć Ă þÃû ;þ ţÞî

.ÀłŚŞüõ ÝþŘùÀČÈîĆbÎÖœ öćÂî ŘÀČŢ ŚŞ ćďŘć ďŘÂì öŊ ďć ñŚþ ;þŘ Ćî üůÜůõťąŚĺ ø üãÜő n ñŚþŒþ ;ţêÂð :ŠŘĄŻ

6

Koorosh
Koorosh
Koorosh
Koorosh
Koorosh
Page 7: Dynamic programming probemset archieve

űÜůõ ;þŘ ôĄĺ

O(mn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üÜČÎţÆõ ĆbäďÃõ :ÝţÆČŞ Ćb ÜßÆõŒþ ÀûŘĄąüõ áďŘěŒþ ĆÖÎĂõ ;þŘ ďć .ÀłŚŞüõ m× n ñøÀŻŒþ ÛØł ĆŞ üÜČÎţÆõ ĆbÖÎĂõ ŒþŋÂê .ÀłŚŞüÞœťÈî ÛŞŚì ÛČÎţÆõ ;þŘ ýŚûĆœŚą ěŘ üÌãŞ üóø .ćěŚÆŞ ÛØł ÛČÎţÆõ Ćb äďÃõďć ťÈî ÛŞŚì ĆbäďÃõ ;þÂţðďÃŞ öćÂî ŘÀČŢ áďŘě ;þŘéÀû .ÀĂłŚŞ ùÀłÉ£Èõ ŚûĆœŚą ;þŘ ÀČĂî

.ÀĂî ŘÀČŢ Řď ĆäďÃõ ;þŘ Ćî ÀČĂî ŒÞî øŘ ĆŞ ,ÀłŚŞüõ ĆÖÎĂõ ;þŘôŘ j Ć œŚą ěŘ Àã Ş ø ôŘ i ÂÎĺ ďć ťÈî Û ŞŚ ì ýŚûĆ œŚą ćŘÀã Ů Â ŞŘÂ Ş Řď pij ďŘÀÖõ :Û§ ùbÀ þŘ,ÀłŚŞ (i, j) ĆœŚą öŊ šİ ťÞĺ ĎŚŞ ĆłĄð Ćî ÛČÎţÆõ ;þÂţðďÃŞ ÂŞŘÂŞ Řď dij ;ČĂżÞû .ÀþÂČÚŞ

.ÀþÂČÚŞ ÂÑœ ďć

O(nk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Śúţąďć ćŘÀãŮ :ÝØþ øťÆČŞ Ćb ÜßÆõ.ÀþďøŊ ťĺÀŞ k áŚÔŮďŘ øğŘbď n ŚŞ ďŘćĆÈþď üþøćøć ýŚûťąďć ćŘÀãŮ Ćb śĺŚ¡õ ýŘÂŞ üÞţþďĄÚóŘ

O(nW ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üţÈŢĆóĄî :ôøć øťÆČŞ Ćb ÜßÆõďć ôŘ iÅĂŻ .ćďŘć ďŘÂì ÅĂŻ ýÂĺŒþ ĆœŚą ;þŘ ďć .ćøďüõ ĆœŚąŒþ ĆŞ ýćěć ýŘÂŞ ćěćŒþW ÇþŚźĂð ŚŞ üţÈŢĆ óĄî Œþ ćěć ;þŘ ;ČĂżÞû .ćďŘć ci ľěďŘ ø öěø ôÂðĄÜČî wi Ć œŚą ;þŘćďŘćÂŞ Řď üþŚúÆĂŻ üĂãþ ,ÀĂØŞ Řď ;ØÞõ ćĄĺ ;þÂţÈČŞ ŚŮ ÀČĂî ŒÞî ćěć ;þŘ ĆŞ .ćďŘć ôÂðĄÜČî

.ÀĂî ĆĂČÈČŞ Řď øŘ ćĄĺ Ćî

O(nT ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a œ ýŚìŊ :ôĄĺ øťÆČŞ Ćb ÜßÆõľøÂê ýŘÂ Ş ĆÜ Čĺø ýÂĺŒþ ,ťĺŘ ĆţąŚĺ ùěŚŮ Ćî 楹 ùběŚçõ ýŘÂ Ş Ćî ćďŘć ÀÊì  œ ŒþøŘ Ć î ćďŘć 楯ø Ć Ü Č ĺø ᥠœ n ü êÂ Ï ěŘ .ćďŘć ť ìø öŚ õě T ďŚ î ; þŘ ýŘÂ Ş øŘ .À Ă îťĺďćøŘ .ÀłŚŞüõ pi öŊ ťÞČì ø ÀÈîüõ ñĄÏ üœŚõě À§Řø ti ôŘ i Ćb ÜČĺøťąŚĺ Ćî ćěŚÆŞ ÀœŘĄŮüõÀĂłŚŞ ĆţłŘć Řď ;ØÞõťÞČì ;þÂţÈČŞ ŚfäĄÞźõ ćďŘÁðüõľŘùěŚçõ ďć Ćî üÜþŚĺø ÀûŘĄąüõďć œ ;þŘ ĆŞ Ćî ÀþďøŊ ťĺÀŞ üÞţþďĄÚóŘ ,(ćěŚÆŞ ŚŮ ÀĂİ ÀœŘĄŮüõ ĆÜČĺø Âû ěŘ Ćî ÀČĂîťìć)

.ÀĂî ŒÞî ÛþŚĺøťąŚĺ

.ÀĂî ùćŚÔţĺŘ O(T ) ĆÑêŚ§ ěŘ ÀþŚŞ ŚÞł ÝţþďĄÚóŘ :ñŘĄbĺ

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üãŞÂõ ĆbäďÃõ :ôďŚúİ øťÆČŞ Ćb ÜßÆõ

7

Koorosh
Koorosh
Koorosh
Koorosh
Koorosh
Page 8: Dynamic programming probemset archieve

Œþ ÀûŘĄąüõ áďŘěŒþ ĆÖÎĂõ ;þŘ ďć .ÀłŚŞüõ n × n ñøÀŻŒþ ÛØł ĆŞ üãŞÂõ Ćb ÖÎĂõ ŒþŋÂê .ćďŘć 楯øťąďć ÛČÎţÆõ ;þŘ ýŚûĆœŚą ěŘ üÌãŞ ďć üóø .ćěŚÆŞ ÛØł üãŞÂõ Ćb äďÃõďć ťÈî ÛŞŚì Ćb äďÃõ ;þÂŮïďÃŞ öćÂî ŘÀČŢ áďŘě ;þŘéÀû .ÀœŘùÀłÉ£Èõ ŚûĆœŚą ;þŘ ÀČĂî

.ÀĂî ŘÀČŢ Řď ĆäďÃõ ;þŘ Ćî ÀČĂî ŒÞî øŘ ĆŞ ;ÀłŚŞüõ ĆÖÎĂõ ;þŘø ÀþÂČÚŞ ôŘ j ĆœŚą ěŘ ÀãŞ ø ôŘ i ÂÎĺ ďć ťÈî ÛŞŚì ýŚûĆœŚą ćŘÀãŮ ÂŞŘÂŞ Řď pij ďŘÀÖõ :ŠŘĄŻ;þÂŮïďÃŞ ÂŞŘÂŞ Řď dij ;ČĂżÞû ,ÀþÂČÚŞ ôŘ i Ćb œŚą ěŘ ÀãŞ ø ôŘ j öĄţĺ ďć ýŚûĆœŚą ćŘÀãŮ Řď qij

.ÀþÂČÚŞ ÂÑœ ďć ,ÀłŚŞ (i, j) Ćb œŚą öŊ šİ ťÞĺ ĎŚŞ ĆbłĄð Ćî üãŞÂõ

O(mnk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ñĄŢ ťÆČó :ÝźĂŢ øťÆČŞ Ćb ÜßÆõŘď k ďŘÀÖõ ;þÂţÈČŞ .ÝČĂî ùćŚÔţĺŘ ñĄŢ m ćŘÀãŮ ÂůîŘÀ§ ÝČœŘĄŮüõ ø ÝþďŘć ñĄŢ áĄœ n ÀČĂîŋÂê

.ťąŚĺ ñĄŢ m ÂůîŘÀ§ ŚŞ Řď k ŚŮ 1 ;ČŞ ÂþćŚÖõ ěŘ ôŘÀî Âû öŘĄţŞ Ćî ÀČĂî ŘÀČŢ

O(nw2) . . . . . . . . . . . . . . . . . . . . . . . . ŰĚØł ýŚûĆśãŻ :ÝÈł øťÆČŞ Ćb ÜßÆõci ≤ w ýŘďŘć ôŘ i Ćb śãŻ .ćďŘć ŰĚØłŒþ ěŘÓÜţ£õ Ćb śãŻ áĄœ n ýěŚĺ ŰĚØł ťîÂłŒþŚŮ k öŘĄţœ ĆśãŻ áĄœ n ;þŘ ŚŞ ĆîťĺŘ ďÀÖİ k Ćb ĂČÈČŞ ÝČœŘÀŞ ÝČûŘĄąüõ Śõ .ÀłŚŞüõŰĚØł ŚŮ

.ÀČþŚÞœ ĆŐŘďŘ k öćďøŊ ťĺÀŞ ýŘÂŞ üÞţþďĄÚóŘ .ÀþÂą ŰĚØł.ťąŚĺ ÀþŚŞ Řď ĆśãŻ ;þÂŮïďÃŞ ýŚûùÀœŚÞČìŚŞ :Û§ ùbÀþŘ

O(nk) . . . . . . . . . . . . . . . . . . . . . . . . ýěŚĺñĄŢ ýŚûľøď :ÝţÔû øťÆČŞ Ćb ÜßÆõŚŮÀĂİ ťąŚĺ üœŚõĄŮ c , . . . , ck ýŚûĆØĺ ěŘ ùćŚÔţĺŘ ŚŞ Řď n ćÀä öŘĄŮüõ Ćî Řď üþŚúûŘď ćŘÀãŮ

.ćÂî ùćŚÔţĺŘ ùŘĄ£óć ćŘÀãŮ ĆŞ öŘĄţŞ ĆØĺ Âû ěŘ ÂðŘ ,ÀłŚŞüõ

.ÀĂî ùćŚÔţĺŘ O(n) ĆbÑêŚ§ ěŘ ÀþŚŞ ŚÞł ÝţþďĄÚóŘ :ñŘĄbĺ

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚÞČŢŘĄû ŚŞ ďĄŮ :ÝţÈû øťÆČŞ Ćb ÜßÆõ楯ø ĆêÂÏøć ü þŘĄû ŕĄÎą ŚûÂúł ;þŘ ěŘ ýÂĺŒþ ;ČŞ .ćďŘć 楯ø Âúł n ďĄÈî Œþ ďćĆŞ ÝþďÁÚŞ Âúł ýÂĺŒþ ěŘ ø ùćÂî áøÂł ďĄÈî ;þŘ Âúł ;þÂŮšİ ěŘ ÝČûŘĄąüõ ñŚ§ .ćďŘćťî§ ùøć Âúł öŊ ěŘ ø ÝČĺÂŞ Âúł ;þÂŮťĺŘď ĆŞ ø ÝþøÂŞ ťĺŘď ťÞĺ ĆŞ ĆÈČÞû Ćî ýďĄÏ;þŘ ďć Ćî ýďĄÏ ĆŞ ÝþćÂð쌪 ñøŘ Âúł ĆŞ šİ ťúŻ ďć Âúł ýÂĺŒþ öćÂî üÏ ŚŞ ø ùćÂî.ÀþďøŊ ťĺÀŞ ÂČÆõ ;þŘ öćÂî ŘÀČŢ ýŘÂŞ üÞţþďĄÚóŘ .ÝČłŚŞ ùćÂî üÏ Řď ;ØÞõ Âúł ;þÂţÈČŞ ;ČŞj ĆŞ 1 ěŘ ø 1 ĆŞ i ěŘ ÂČÆõ Œþ ďć öŘĄŮüõ Ćî Âúł ćŘÀã Ů ;þÂţÈČ Ş Â ŞŘÂ Ş Řď dij :Û§ ùbÀþŘ

8

Koorosh
Koorosh
Koorosh
Koorosh
Koorosh
Page 9: Dynamic programming probemset archieve

.(ťĺŘ Âúł ;þÂŮšİ ťÞĺ 1) ÝČĂîüõ ÓþÂãŮ ťłŘć

O(n2m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üÖČĺĄõ :Ýúœ øťÆČŞ Ćb ÜßÆõ楯ø ŚûÙĂûŊ ;þŘ ýěŚĺùÂČąč ýŘÂŞ ùćÂÈê ŒÆþć ŚŮ m ;ČĂżÞû .ÝþďŘćÙĂûŊ n ÀČĂîŋÂêŚŮ øć ýøď ÀœŘĄŮüÞœ ÙĂûŊŒþ ø ćďŘć ŘďÙĂûŊ ĆÖČìć T öćÂî ùÂČąčÇþŚźĂðŒÆþć Âû .ćďŘć;ţêÂð ďŘÂìřČŮÂŮ ,ÝČţÆû üŞĄą öŘÀČÖČĺĄõ Śõ Ćî üþŚźœŊ ěŘ ;ČĂżÞû .ćÂČð ďŘÂì ÓÜţ£õ ŒÆþć;þŘ ÀþŚŞ Ćî ÝþďŘć ŚúÚĂûŊ ;þŘ ěŘ üśČŮÂŮ Śõ ďĄÑĂõ ;þŘ ĆŞ ;ťĺŘ Ýúõ ŚûŒÆþć ýøď ŚúÚĂûŊ ;þŘÀČûć ĆŐŘďŘ üÞţþďĄÚóŘ .ÝČĂî ùÂČąč Řď ;ØÞõ ÙĂûŊ ćŘÀãŮ ;þÂţÈČŞ ;ČĂżÞû ø 楳 ÐÔ§řČŮÂŮŘď dij :Û§ ùbÀþŘ .ćďøŊ ťĺÀŞ ćÂî ùÂČąč ŚúØÆþć ;þŘ ďć öŘĄŮüõ Ćî Řď ;ØÞõ ÙĂûŊ ;þÂţÈČŞ Ćî.ÀČĂî ÓþÂãŮ ćŘć ŚŻŒÆþć ŚŮ j ďć öŘĄŮüõ Ćî ôŘ i ŚŮ 1 ýŚû ÙĂûŊ ;ČŞÙĂûŊ ćŘÀãŮ ;þÂţÈČŞ ÂŞŘÂŞ

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ĆóŚśœć ŚŞ ý쌪 :ôŘüĺ Ćb ÜßÆõĆÑ¡ó Âû ďć Ćî ÀĂĂîüõ ý쌪 řČŮÂŮ ;þŘ ĆŞ ÂÔœ øć .ÝþďŘć ďŚČţąŘ ďć ćŘÀäŘ ěŘ üþŚŮ n Ćb óŚśœćŒþĆóŚśœć ěŘ ćÀä öŊ ø ÀĂîüõŠŚ£ţœŘ Řď ĆóŚśœć ýŚúţœŘ Śþ ŘÀţŞŘ ćŘÀäŘ ěŘ üØþ ,ťĺøŘ ŚŞ ťŞĄœ Ćî ýÂÔœø ñøŘ ÂÔœ ÂðŘ .ťĺŘ ćŘÀäŘ ěŘ ;ØÞõ áĄÞźõ ;þÂţÈČŞ öćÂî âÞŻ ćŘÂêŘéÀû .楳üõ éÁ§ÀČþĄÚŞ üĂãþ ;ÀČþĄÚŞ öŚþŚŢ ďć Řď ý쌪 ĆźČţœ ,ÀĂûć ôŚźœŘ ĆÑ¡ó Âû ďć Řď 楹 ý쌪 ;þÂţúŞ ôøć

.ÀĂîüõřÆî Řď ýěŚČţõŘ Ćİ ÂÔœ Âû Ćî

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÂŞŘÂŞ ýŚûĆäĄÞźõ :ÝØþ ø üĺ Ćb ÜßÆõťĺÀŞ ĆäĄÞźõ øć ĆŞ Řď {1, . . . , n} Ćb äĄÞźõ ěŘÂêŘ ýŚúûŘď ćŘÀãŮ Ćî ÀþďøŊ ťĺÀŞ üÞţþďĄÚóŘ

.ÀłŚŞ ÂŞŘÂŞ Ýû ŚŞ öŚłćŘÀäŘ áĄÞźõ ,ĆäĄÞźõ øć ;þŘ Ćî ,ćďøŊ

O((n + m)L) . . . . . . . . . . . . . . . . . . ŚûĆţłďÂþě ěŘ ýÀœĄÈČŢ :ôøć ø üĺ Ćb ÜßÆõm  ŞŘÂ Ş Śú œŊ Ćb Þû ñĄÏ ĆäĄÞź õ Ć î Ć ţłď þě n ø ÝþďŘć ďŚ Č ţąŘ ďć L ñĄÏ Ć Ş S Ćb ţłďŒ þ; þŘ ÍĺĄŮ Ćî ÝþďøŊ ťĺÀ Ş Řď S Ćb ţłď ěŘ ýÀœĄÈ Č Ţ ; þ ŮïďÃ Ş ñĄÏ ÝČûŘĄąüõ .ÀłŚ Şüõ

.ÀþďøŊ ťĺÀŞ ďŘÀÖõ ;þŘ öćÂî ŘÀČŢ ýŘÂŞ üÞţþďĄÚóŘ .ÀłŚŞ ťąŚĺ ÛŞŚì ŚûĆţłďÂþě

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ďŘÀÖõűÜůõ :ôĄĺ ø üĺ Ćb ÜßÆõijČ¡ň ŰŚÊţ£õ Âû ďć ÀČĂîŋÂê .ÀþÂČÚŞ ÂÑœ ďć Řď n áŚÔŮďŘ ŚŞ áĚőĎŘ ýøŚÆţõűÜůõ ŒþĆãêć Âû ø ùćÂîťî§ öŊ üĂČþŚŢ ýŚûĆœŚą ěŘ üØþ ěŘ ÝČœŘĄŮüõ Śõ .ćďŘć ďŘÂì ñĄŢ ďŘÀÖõ Œþ öŊüþĎŚŞ ğŘbď ĆŞ ŚŮ ÝþøÂŞ ÝþďŘć ďŘÂì öŊ ďć Ćî üŮŚÊţ£õ üþĎŚŞ ijČ¡ň ŰŚÊţ£õ øć ěŘ üØþ ĆŞ

9

Koorosh
Koorosh
Koorosh
Koorosh
Koorosh
Koorosh
Page 10: Dynamic programming probemset archieve

ťĺÀŞ ýŘÂŞ üÞţþďĄÚóŘ .ÀłŚŞüõ ÂČÆõ ;þŘ ďć ñĄŢ ;þÂţÈČŞ öćÂî âÞŻéÀû .ÝČĺÂŞ űÜůõ.ÀČûÀŞ ;ØÞõ ñĄŢ ;þÂţÈČŞ öćďøŊ

O(nL) . . . . . . . . . . . . . . . . . . . . . . . . . . üþøćøć ýŚûĆóŚśœć :ôďŚúİ ø üĺ Ćb ÜßÆõĆî ÀłŚŞüõ ((0,1) ěŘ ýŚûĆţłď) ü þøćøć ýŚûĆţłď ôŚÞŮ Ćb äĄÞźõ ,S Ćb äĄÞźõ ÀČĂîŋÂê;þŘ ĄÌä ;Č õŘ k Ćî À Čûć Ć ŐŘďŘ üÞţ þďĄÚóŘ .ÀłŚ Şüõ L ýøŚÆõ Ś þ  ţÞî Śú œŊ ýŚû 1 ćŘÀã Ů

.ÀĂłŚŞ ùÀł řŮÂõ üþŚśÔóŘ řČŮÂŮ ĆŞ ĆäĄÞźõ ;þŘ ýŚÌäŘ ÂðŘ ,ÀûÀŞ Řď ĆäĄÞźõ

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üœĄØÆõ âÞţźõ :ÝźĂŢ ø üĺ Ćb ÜßÆõďć Ćî ñøÀŻ üãŞÂõ ýĆœŚą ďć .ÝþďŘć n × n üóøÀŻ ÛØł ĆŞ üœŚÞŮďŚŢŊ üœĄØÆõ âÞţźõ Œþ,ÝČþĄðüõ 쌜óć öŚÞţąŚĺŒþ ĆŞ .ćďŘć ďŘÂì hij áŚÔŮďŘ ĆŞ ýŘĆœŚą ťĺŘ ôŘ j öĄţĺ ø ôŘ i ÂÎĺŘď âÞţźõ ;þŘ öøÂČŞ ýćĄÞä Śþ üÖêŘ üÎą ŚŞ ,(ÀłŚŞ ùŚŮĄî ďÀì Âû) öŊ ýøď öćŚţÆþŘ ŚŞ üÆî ÂðŘöŘÃČõ ø ÀœĄł 쌜óć ŚûöŚÞţąŚĺ ôŚÞŮ Ćî ÝČĂî ćŚþě ýďĄÏ Řď ŚúœŚÞţąŚĺ áŚÔŮďŘ ÝČûŘĄąüõ .ÀĂČśŞŘÀČŢ ýŘÂŞ üÞţþďĄÚóŘ .ÝþÂČðüõ ŚúœŚÞţąŚĺ ĆŞ ùÀł ĆêŚőŘ áŚÔŮďŘ Řď dij .楳 ĆĂČÞî ěŚĺ øťąŚĺ

.ÀþďøŊ ťĺÀŞ Śû dij öćÂî

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÂŞŘÂŞ ýŚûĆäĄÞźõ :ÝÈł ø üĺ Ćb ÜßÆõöøÂČŞ !ćďŘć ďŘÂì ĆÞÆźõ öŊ ýŚûĆœŚą ěŘ üąÂŞ ďć Ćî ÝþďŘć n × n ñøÀŻŒþ ÛØł ĆŞ üìŚŮŘöĄţĺ n ýĎŚŞ ýćĄÞäŰďĄň ĆŞ ŚúœŊ ýŚŮ n ĆîťĺŘ ùÀł ĆČśã Ů (ÀĂÜ Ş üÜ Čą) ĆÜ Čõ 2n ëŚŮŘÝČûŘĄąüõ .À ĂłŚ Şüõ ñøÀŻ ýŚûÂÎĺ ťĺŘď ťÞĺ üÖêŘ ŰďĄň ĆŞ ÂÚ þć ýŚŮ n ø ñøÀŻñøÀŻ ÛąŘć Ć Ş (Ś ţĺŘď öŚÞû ďć) ŚûĆ Ü Čõ ěŘ ü ţÞÆì öćÂî ćďŘø Ś Ş Řď ëŚ ŮŘ ť§ŚÆõ ;þ ţÈ Č Ş.ÀœĄÈœ ćď ŚûĆÞÆźõ ěŘ ŚûĆÜČõ ø ÀĂĂØœ âÎì Řď ÂÚþć Ýû ýŘĆÜČõ øć žČû Ćî ýďĄÏ ĆŞ ÝČœŚłĄşŞ.ÀœŚłĄŢ ŚûĆÜČõ ŚŞ öŘĄŮüõ Ćî ÀĂî ŘÀČŢ ëŚŮŘ ěŘ Řď üţ§ŚÆõ ;þÂţÈČŞ Ćî ÀČĂî ü§ŘÂÏ üÞţþďĄÚóŘ

O(n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ïÂŞ ;þÂŮďøć :ÝţÔû ø üĺ Ćb ÜßÆõÝ Č ŞŚ Č Ş Řď ü ðÂ Ş ; þ Ůďøć Ý Č ûŘĄ ąü õ v ğŘbď  û ýŘěŘ Ć Ş .Ý þďŘć ďŘćĆ È þď ť ąďćŒ þ; þ ţ È Č Ş Ć î ü ðÂ Ş ü Ă ã þ ïÂ Ş ; þ Ůďøć .À łŚ ś œğŘbď öŊ ť ąďć þě ďć Ć îďÀ Ţ ť ąďć Ćb È þď ěŘ Â Č è Ć Ş ğŘbď  û ýŘÂ Ş À Č Ă îŋ ê .ćďŘć v ğŘbď ěŘ Řď Ć Ü ňŚ ê.ÀĂî ŘÀČŢ Řď ĎŚŞ ťČňŚą ŚŞïÂŞ ;þÂŮďøć ğŘbď Âû ýŘÂŞ Ćî ÀþěŚÆŞ üÞţþďĄÚóŘ .ťĺŘ ùÀł ùćŘć öŊ

O(nk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ťÈð쌪 ĆŞ ÀČõŘ :ÝţÈû ø üĺ Ćb ÜßÆõ

10

Koorosh
Koorosh
Koorosh
Koorosh
Koorosh
Page 11: Dynamic programming probemset archieve

ÂąŊ ŚŮ ñøŘ ĆbÎÖœ ;ČŞ ýĆÜňŚê ĆţÆŞ ùb쌪 k ŚŞ ÝČûŘĄąüõ .ťĺŘ ùÀł ùćŘć ĆÎÖœ n Śû x ďĄ¡õ ýøď.ÀłŚŞ ÂÔň ÀœŘĄŮüõ ù쌪 ñĄÏ .ćÂČÚŞ ďŘÂì ŕŚÖœ ýøď Śûù쌪 ĆŮ ø Âĺ Ćî ýďĄÏ ĆŞ ,ÝČœŚłĄşŞ Řď

.楳 ĆĂČÞî ù쌪 ;þÂţðďÃŞ ñĄÏ Ćî ÀČûć ĆŐŘďŘ ďŚî ;þŘ ôŚźœŘ ýŘÂŞ üÞţþďĄÚóŘ

O(nW ) . . . . . . . . . . . . . . . . ( üţÈŢ ĆóĄî ) ĆØĺ öćÂî ćÂą :Ýúœ ø üĺ Ćb ÜßÆõùběŘÀœŘ ĆŞ üþŚûĆØĺ ŚŞ Řď öŚõĄŮ W ùběŘÀœŘ ĆŞ üóĄŢ öŘĄŮüõ ŚþŊ ÀĂî Œİ Ćî ÀČûć ĆŐŘďŘ üÞţþďĄÚóŘ

.ÀĂî ùćŚÔţĺŘ O(W ) ěŘ ýŘĆÑêŚ§ ÀþŚŞ ŚÞł ÝţþďĄÚóŘ .ćÂî ćÂą c , . . . , cn

ýŘÂ Ş ùćŚÔ ţĺŘ ćďĄõ ýŚûĆØĺ Ćî ÀČûć ÂČČç Ů ýďĄÏ Řď 楹 ÝţþďĄÚóŘ ÀČ œŘĄŮüõ ŚþŊ :ñŘĄĺ.ÝþďøŊ ťĺÀŞ Ýû Řď W ťąŚĺ

O(n22m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ýďŘÁðùŚł :ÝÜúİ Ćb ÜßÆõüź œÂÎł Ć¡ÔňŒ þ ďć Řď ùŚł ýćŘÀã Ů öŘĄŮüõ Ćî ü þŚûùŘď ćŘÀã Ů Ś Ů À Čûć ĆŐŘďŘ üÞţþďĄÚóŘ

.ćďøŊ ťĺÀŞ ,ÀĂĂØœ ÀþÀ¡Ů Řď ÂÚþÀÞû Ćî ýďĄÎŞ ćŘć ďŘÂì n × m

Ćî ,楳 O(nF (m) ) öŚõě ěŘ Ćî ÀČûć ÂČČçŮ ýďĄÏ Řď 楹 ÝţþďĄÚóŘ ÀČœŘĄŮüõ ŚþŊ :ñŘĄĺ.ÀłŚŞüõ üİŚœĄśČê ĆóŚśœć ďć ÂÊĂä ;ČõŘ m ,F (m)

O(n23m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ýďŘÁðřĺŘ :ÝØþ ø Ûúİ Ćb ÜßÆõüź œÂÎł Ć¡ÔňŒþ ďć Řď řĺŘ ýćŘÀãŮ öŘĄŮüõ Ćî üþŚûùŘď ćŘÀãŮ ŚŮ ÀČûć ĆŐŘďŘ üÞţþďĄÚóŘ

.ćďøŊ ťĺÀŞ ,ÀĂĂØœ ÀþÀ¡Ů Řď ÂÚþÀÞû Ćî ýďĄÎŞ ćŘć ďŘÂì n × m

O(23m log n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . ýěŚĺĆœŚą :ôøać ø Ûúİ Ćb ÜßÆõĆŞ üþŚûüłŚî ŚŞ Řď 2n × m ñøÀŻŒþ öŘĄŮüõ Ćî üþŚûùŘď ćŘÀãŮ öćÂî ŘÀČŢ ýŘÂŞ üÞţþďĄÚóŘøć žČû Ćî ýďĄÎ Ş ,À œŚłĄŢ À Ă Ăîüõ 挟þŘ Řď ÿ Ăî Œ þ Ćî Ć œŚą 3 Ś þ ø Ć œŚąŒ ŮŒ þ ÛØł

.ÀþďøŊ ťĺÀŞ ,ÀĂłŚŞ ĆţłŘÀœ üœŚłĄşÞû Ýû ŚŞ ýŘüłŚî

O(n∑

hi) ø O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . ďŘĄþć :ôĄaĺ ø Ûúİ Ćb ÜßÆõďŘÂì ÂŻŊ hi ćŘÀãŮ ďŘĄþć ;þŘ ěŘ öĄţĺ Âû ďć .ťĺŘ ùÀł ÛČØÈŮ öĄţĺ n ěŘ Ćî ÝþďŘć ďŘĄþćŒþöĄţĺ øć ěŘ üØþ ýĎŚŞ ďć ø ĆţłŘćÂŞ öĄţĺŒþ ýĎŚŞ ěŘ ÂŻŊŒþ ÝČœŘĄŮüõťî§ Âû ďć .ćďŘćýďŚîťî§ ;þÂţÞî ďć Ćî ÀČûć ĆŐŘďŘ üÞţþďĄÚóŘ .ÝČûć ďŘÂì ( 楯øŰďĄň ďć ) öŊ ďøŚźõ

.ÀłŚŞ À§Řø 1 ÂůîŘÀ§ öŊ öĄţĺ ;þÂŮÀĂÜŞ ø ďŘĄþć öĄţĺ ;þÂûŚŮĄî éĚţąŘ Ćî ÀĂî

11

Koorosh
Koorosh
Koorosh
Koorosh
Koorosh
Page 12: Dynamic programming probemset archieve

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . ;ČłŚõ ŚŞ ŰÂêŚÆõ :ôďŚúİ ø Ûúİ Ćb ÜßÆõýŘÀţŞŘ ďć .ćøÂŞ ôŘ an Âúł ĆŞ an− , . . . , a ýŚûÂúł üÏ ěŘÅŢ a Âúł ěŘ ÀûŘĄąüõ Àȧøai+ ĆŞ ai Âúł ěŘ Ćî ü ĂþÃĂ Ş ďŘÀÖõ øŘ .ťĺŘ Â Ţ øŘ ;ČłŚõ ;þÃĂ Ş íŚ Ş a Âúł ďć ü Ăãþ ÂÔĺ;þÃĂŞ ŚŞ ÀûŘĄąüõ øŘ .ťĺŘ ci ,ai Âúł ďć ;þÃĂŞ ÂţČó Âû æÜśõ ŚfĂÞő .ÀœŘćüõ ,楳üõ éÂÊõøŘ ;ČłŚõ ;þÃê팪ÓÊœ ěŘÇČŞ ÂúłŒþ ďć üţìø ŚõŘ .ÀĺÂŞ ÀÊÖõ ĆŞ ŚûÂúł üÌãŞ ďć öćě;þÃĂŞ ÂúłŒþ ďć ÂðŘ ŚfĂÞő .ÀœěüÞœ ;þÃĂŞ Âúł ;þŘ ďć ,ÀĺÂŞ ýÀãŞ Âúł ĆŞ ÀœŘĄŮüõ øťĺŘ ÂŢ;þÃĂŞ ÀþŚŞ üþŚûÂúł Ćİ ďć ćÂČÚŞ ÝČÞÊŮ ÀûŘĄąüõ øŘ .ÀĂîüõ ÂŢ Řď 楹 ;þÃê팪 ŚfÞţ§ ,ÀœÃŞ.ÀĂî Û§ Řď Àȧø ÛØÈõ Ćî ÀČĂî ü§ŘÂÏ üÞţþďĄÚóŘ .ÀĺÂŞ ÀÊÖõ ĆŞ ĆĂþÃû ÛìŘÀ§ ŚŞ ŚŮ ÀœÃŞ

O(nk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚûĆţłď ćŘÀãŮ :ÝźĂŢ ø Ûúİ Ćb ÜßÆõb ø a ýŚ ûĆ Æ þĄ œ ěŘ n ñĄ Ï Ć Ş ýŚ ûĆ ţ łď ćŘÀ ã Ů Ć î À Č ûć Ć ŐŘďŘ ü Þ ţ þďĄ Ú óŘ.ćďøŊ ťĺć ĆŞ Řď ÀłŚŞ k ÂŞŘÂŞ ÂůîŘÀ§ Ćţłď ;þŘ üóŘĄţõ ĆţłďÂþě Âû ďć Śû b ø a ćŘÀãŮéĚţąŘ Ćî

O(n2L) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚûĆóĄÜð :ÝÈł ø Ûúİ Ćb ÜßÆõĆÞû ÝČûŘĄąüõ .ťĺŘ ÃõÂì Śþ üŞŊ ĆóĄÜð Âû Ùœď ø wi ,ôŘ i Ćb óĄÜð öěø .ťĺŘ ùÀł ùćŘć ĆóĄÜð n

ćŘÀã Ů Ã Č œ ø ÀĺÂ Ş ñćŚã Ů Ć Ş ýěŘ ٠Ćb Ôî øć ŚŮ ÝČûć ďŘÂì øěŘÂ ŮŒ þ Ćb Ôî øć ďć Řď ŚûĆ óĄ Üð ;þŘüÞţþďĄÚóŘ .ÀłŚŞ  ŞŘÂ Ş ÂÚþć ĆÔî ďćÙœď öŚÞû ěŘ ýŚûùÂúõ ŚŞ ĆÔî ŒþÙœď Âû ěŘ ýŚûùÂúõ

.Ćœ Śþ ťĺŘ ÂþÁŢöŚØõŘ ďŚî ;þŘ ÀûćÉČ£ÈŮ ŚŮ ÀČûć ĆŐŘďŘ

O(nm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÛþÀśŮ ýŚśÔóŘ :ÝţÔû ø Ûúİ Ćb ÜßÆõěŘ m ø n ýŚ ûñĄ Ï Ć Ş S ø S Ćb ţ łď øć .ť ĺŘ ùÀ ł ùćŘć A = {a , a , . . . , ak} ýŚ ś Ô óŘÝ Č ûŘĄ ąü õ .À łŚ Ş A ýŚ ś Ô óŘ ěŘ Ć ţ łď  û À œŘĄ Ůü õ ∗ Ćb Æ þĄ œ .À Ă łŚ Şü õ A ∪ {∗} ýŚ ś Ô óؾ ţ Æ ð ěŘÅ Ţ S ø S Ś Ů Ý Č Ă î ŘÀ Č Ţ ýďĄ Ï Řď A ýŚ ś Ô óŘ ěŘ S Ćb ţ łď ; þ ŮùŚ ŮĄ îø S = ∗a ∗ cgta ∗ aa ∗ g∗ ,A = {a, c, g, t}  ðŘ Ěf ů õ .À œĄ ł S ěŘ ü þŚ ûĆ ţ łď  þě ,∗.ÀČûć ĆŐŘďŘ ĆÜßÆõ ;þŘ ýŘÂŞ üÞţþďĄÚóŘ .ťĺŘ ŠŘĄŻŒþ S = agtcgtaaag ø S = ∗agtcg∗ag∗

O(n2) ø O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . ćÂð ÃČõ :ÝţÈû ø Ûúİ Ćb ÜßÆõŘď ÃČõ ;þŘ ďøć ćŘÂêŘ .ÀĂþŚĂłŊ ÂÚþć üÌãŞ ŚŞ üÌãŞ ŚûöŊ öŚČõ ďć Ćî ÀœŘĆţÆÈœ ÂÔœ n ÃČõ Œþ ďøćťĺŘ ôěĎ .ÝþŘùćÂî ýďŘÁðùďŚÞł n ŚŮ 1 ěŘ ùŘĄ£óć ćÂê Œþ ěŘ áøÂł ŚŞ ÀœŘĆţÆÈœ Ćî üśČŮÂŮ ĆŞÛìŘÀ§ öćÂî ÀĂÜ Ş ŚŞ ÝČûŘĄąüõ .ÀĺŚĂÈŞ Řď 楹 ďøŚźõ ÂÔœ 2 Åî Âû Ćî 楳 čŚ£ŮŘ üśČŮÂŮŘď üœŚÆî ŠŚ£ţœŘ ďć Řď Śõ Ćî ÀČÆþĄĂŞ ýŘĆõŚœÂŞ .ÝČŞŚþ ťĺć Ýúõ ;þŘ ĆŞ ÃČõ Âĺ ěŘ ŰŘÂÔœ ćŘÀãŮ

12

Koorosh
Koorosh
Koorosh
Page 13: Dynamic programming probemset archieve

üÆî ÂðŘ ÀĂţÆû ďøŚźõ ÂÔœ øć ,ćŘÂêŘ ěŘ ôěĎ ćŘÀãŮ öćÂî ÀĂÜŞ ěŘÅŢ .Àûć ýďŚþ ,ÝČĂîüõ ÀĂÜŞ Ćî.ÀłŚŞ ĆţÆÈĂœ øć öŊ ;ČŞ

ŚŮ ćÂðťäŚĺ ďĄÏ ĆŞ i ÂÔœ ěŘ Ćî 楳 ÀĂÜŞ ÀþŚŞ Ćî ćŘÂêŘ ćŘÀãŮ ;þÂţÞî ÂŞŘÂŞ Řď di :Û§ ùbÀþŘ.ÀłŚŞ ďŘÂìÂŞ ĆÜßÆõ ŕÂł ÂąŊ ÂÔœ

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . ÀČÔĺ ø ùŚČĺ éŘÂð :Ýúœ ø Ûúİ Ćb ÜßÆõüØþ ŚŞ öŊ ýŚûñŚþ ěŘ ôŘÀî Âû ;ČĂżÞû ,ùÀł ùćŘć ťśÆœ we ćÀä e ñŚþ Âû ĆŞ G ùbćŚĺéŘÂð ďćt ğŘď ĆŞ s üĺŘďŒ þ ěŘ ý ČÆõ öćÂî ŘÀ Č ŢéÀû .ťĺŘ ùÀłÙœď À ČÔĺ ø ùŚ ČĺÙœď øć ěŘýŚûöěø áĄÞźõ âŞÂõ ŚŞ ťĺŘ ÂŞŘÂŞ ÂČÆõ Œþ Ćb ĂþÃû .ÀłŚŞ ĆĂČúŞ öŊ Ćb ĂþÃû Ćî ýďĄÏ ĆŞ ÀłŚŞüõ

:üĂãþ ,ÂČÆõ öŊ ÀČÔĺ ýŚûñŚþ ćŘÀãŮ ĆêŚőŘ ĆŞ ÂČÆõ öŊ ùŚČĺ ýŚûñŚþ

l(P ) = (∑

e∈P , e is black

we) + |{e ∈ P |e is white}|

.ÀČĂî ĆĂČÞî Řď ťĺŘ t ø s ;ČŞ Ćî ÀČŞŚþüõ Ćî l(P ) ŚÞł ø

O(hw) ø O(nh) . . . . . . . . . ĆţČÞî ĆbÆÜŻ ďŘÂĺŘ Śþ ñŘĄĺ đÂÏ :ôŘùŚźĂŢ Ćb ÜßÆõéÀû .wi ≤ w Ćî ÝþŘùćŘć ťśÆœ wi ùÂÞ œ Œþ ŚúœŊ ěŘ ôŘÀî Âû ĆŞ Ćî ÝþďŘć ďŚČţąŘ ďć ñŘĄĺ n

áĄÞźõ ;þŘ ĆţśóŘ ø ÀœďøŚČŞ ćĄŻĄŞ Řď ŰĎŘĄĺ áĄÞźõ ;þÂţÈČŞ ĆîťĺŘ ñŘĄĺ ýćŘÀãŮ öćÂî ŘÀČŢďŘÂìÂŞ ŰĎŘĄĺ ćŘÀãŮ ö楪 ĆĂČÞî üĂãþ Śõ ĆþĄœŚŹéÀû ÍþŘÂł ;þŘ üÏ ĆţśóŘ ø 楳 ÂţÞî h ěŘ

.ÀþďøŊ ťĺÀŞ ÂþćŚÖõ ;þŘ öćÂî ŘÀČŢ ýŘÂŞ üłøď .楳

O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚÞãõ ŠŘĄŻ :ÝØþ ø ùŚźĂŢ Ćb ÜßÆõùćŘć ďŘÂì ÓþćďŒþ ďćÓÜţ£õ ýŚûÙœď ŚŞ üþø振 ýĄð ýÂĺŒþ ĆîťĺŘ ďŘÂì ;þŘ ěŘ ŚÞãõŘď ŚûöŊ ø ÀĂîüõŠŚ£ţ œŘ Řď Ýû ďøŚźõ ÙœÂÞû ýĄð ÀĂİ ěŘ ýŘĆäĄÞźõ ĆţłÂê  Âû .楪k ,ÀłŚŞ ùÀł ÂźÔĂõ ýĄð k ĆţłÂê öćÂî ÅÞó Œþ ŚŞ Ćî üŮďĄň ďć .ÀĂîüõ ÂźÔĂõ öŚõÃÞûøŘ ĆŞ .ťĺŘ ŰĚØł ćŘÀãŮ ;þÂţÈČŞ öćďøŊ ťĺÀŞ ĆţłÂê éÀû .楳üõ ùćŘć ĆţłÂê ĆŞ ŰĚØł

.ÀČĂî ŒÞîŰĚØł ;þÂţÈČŞ öćďøŊ ťĺÀŞ ýŘÂŞ

O(n log n) . . . . . . . . . . . . . . . . . . . . . . . . . . . üðÀœě ďć ÀČõŘ :ôøać ø ùŚźĂŢ Ćb ÜßÆõÂþě ÛØł ĆŞ ñŘĄĺ Âû ĆŞ üŮŚČÜÞä ôŚźœŘ ěŘ ÀãŞ ÝČûŘĄąüõ .ťĺŘ ùÀł ùćŘć Śõ ĆŞ an ŚŮ a ćÀä n

:ÝČûć ¿ĺŚŢ O(1) öŚõě ďć

ÂŮĄČşõŚî ćŚČşÞóŘ ŰŘÂÞœ Ćb ĂČÈČŞ À§ :íŚĂś§

13

Koorosh
Koorosh
Koorosh
Page 14: Dynamic programming probemset archieve

?ÀłŚŞüõ ÀĂİ aj ŚŮ ai ćŘÀäŘ ;ČŞ ćÀä ;þÂţØİĄî

öŚõě ďć ñŘĄĺ Âû ĆŞ Ćî ÀČĂî ýďŚî O(n log n) ĆśŮÂõ ěŘ üŮŚČÜÞä ôŚźœŘ ŚŞ Ćî ÀČûć ĆŐŘďŘ üłøď.ÝČûć ¿ĺŚŢ O(1)

O(nh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ïďÃŞ öŚÎČł :ôĄaĺ ø ùŚźĂŢ Ćb ÜßÆõÛąŘć ďć .ćďŘć ĆÖśÏ ÀĂİ ŚûŽÂŞ ;þŘ ěŘ ôŘÀî Âû .ÀœďŘć ďŘÂì Ýû Âĺ ťÈŢÓþďćŒþ ďć ŽÂŞ nöŚÞû ĆŞ Śõ ĆŞÇÞČÈØŞ ĆðŘ ) ÀłŚŞüõ ÀČÔõ ýďŘÀÖõ ÇĂţÈî Ćî ÀĂîüõ ďŚî ôćŊŒþ ĆÖśÏ ÂûŚŞ Ćî ýďĄÎŞ ÀĂţÆû ŽÂŞ ;þŘ ýĄŮ Ýû ý楹 ôćŊ ýÂĺŒþ ĆœŚÔĺŚbţõ ĆţśóŘ ( !!! ÀĂûÀČõ ñĄŢ ùěŘÀœŘ.( !!! üêŚî öŘÃČõ ĆŞ ) ÝþďŘć ďŚČţąŘ ďć ŚÞČŢŘĄû ýćŘÀãŮ .ÀœÂČðüõ Śõ ěŘ ñĄŢ ýďŘÀÖõ ŚúœŊ ;ţÈîŒþ ĆŞ ŚÞČŢŘĄû Œþ ťìø Âû .ÝČĂîŠŘÂą Řď ŚûŽÂŞ ;þŘ ŚûŚÞČŢŘĄû ;þŘ ěŘ ùćŚÔţĺŘ ŚŞ ťĺŘ ďŘÂìĆŞ .ÀœĄÈČõ 楪Śœ ĆÖśÏ öŊ 楹 Ćb êŚőŘ ĆŞ ĆÖśÏ öŊ ýĎŚŞ ŰŚÖśÏ ĆbÞû ć凉üõ ŽÂŞŒþ ěŘ ĆÖśÏĆî ÀłŚśœ üŻÂŞ ťþŚúœ ďć Ćî ;þÀŞ ôŚźœŘ ýďĄÏ øď řþÂ£Ů ÀČţÆû ÓÒĄõ üţČĂõŘ ÛþĎć üąÂŞěŘ ÀþŚŞ Śþ üŻÂŞ Âû ) ÀłŚŞ ĆţłŘć 楯ø öŊ ěŘ ÂŮÀĂÜŞ ŽÂŞÇşİ ťÞĺ Ýû ø ÇţĺŘď ťÞĺ ÝûĆî ýÃČİ .(øć Âû ěŘ ŚþÇþŚúČşİ ťÞĺ ĆbÞû ěŘ Śþ ĆłŚŞ ýøŚÆõÂŮÀĂÜŞÇþŚúČţĺŘď ťÞĺ ĆbÞûýŘÂ Ş üÞţþďĄÚóŘ .À þďøŊ ťĺÀ Ş Řď ćĄĺ ;þ ţÈ Č Ş À ČûŘĄąüõ ŚÞł ĆîťĺŘ ;þŘ ťĺŘ üú þÀ Ş

.ÀłŚŞüõ h ýøŚÆõ ÂţÞî ŚûŽÂŞ ;þŘ áŚÔŮďŘ Ćî ÀČĂîťìć .ÀČûÀŞ ćĄĺ ;þÂţÈČŞ ĆśĺŚ¡õ

O(n2) ø O(n3) . . . . . . . . . . . . . . . . . . . . . . . . . . . ĆœŘĄţĺŘ :ôďaŚúİ ø ùŚźĂŢ Ćb ÜßÆõüĂãþ ,ÀłŚŞüõ öĄţĺ n ýŘďŘć ÃČœ öŊ ÍČ¡õ ø ÂÎĺ n öŊ áŚÔŮďŘ ěŘ Ćî ÝþďŘćŒśÈõ ĆœŘĄţĺŘŒþýďŘÀÖõ ĆœŘĄţĺŘ ;þŘ ěŘ ĆœŚą Âû ďć ;ČĂżÞû .ÀœŘć ďŘÂì öŊ ÍČ¡õ ýøď ďć ĆœŚą n áĄÞźõ ďćĆŞ n ŚŮ 1 ěŘ ÃČœ Řď öŊ ýŚûÂÎĺ ø n ŚŮ 1 ěŘ Řď ĆœŘĄţĺŘ ;þŘ ýŚûöĄţĺ ÀČĂîŋÂê .ćďŘć ďŘÂì ñĄŢÂû ø ùćÂîťî§ ĆœŘĄţĺŘŒþ (1,1) ĆœŚą ěŘ ÝČûŘĄąüõ ñŚ§ .ÝþŘùćÂî ýďŘÁðùďŚÞł řČŮÂŮďć ø ùćÂî âÞŻ ñøÀŻ ěŘ Řď ñĄŢ ;þÂţÈČŞ ø ÝþøÂŞ ťĺŘď ťÞĺ ĆŞ Śþ ø ÝČþŚČŞ ;ČþŚŢ ĆŞ ĆÑ¡ó,ćÂî âÞŻ öŘĄŮüõ Ćî ñĄŢ ;þÂţÈČ Ş öćÂî ŘÀČŢ ýŘÂ Ş üÞţþďĄÚóŘ .ÝČłŚŞ (n, n) Ć œŚą ďć ÂąŊ

.ÀþďøŊ ťĺÀŞ

O(nk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ñøÀŻ :ÝźĂŢ ø ùŚźĂŢ Ćb ÜßÆõ;þŘ ŚŞ .ÝČĂ£ţœŘ ŘďÇþŚûĆœŚą ěŘ ýćŘÀãŮ ÝČûŘĄąüõ Ćî ÝþďŘć ťśůõ ćŘÀäŘ ěŘ n × n üóøÀŻ.ÀłŚŞ ùÀł ŠŚ£ ţ œŘ Ýû Ç Č þĎŚ ŞÓ þćď ýŚûĆ œŚą ôŚÞŮ ,楳 ŠŚ£ ţ œŘ Ć œŚąŒ þ ÂðŘ Ćî ŕÂłôŚźœŘ ýŘÂŞ üÞţþďĄÚóŘ .ÀłŚŞ k ôĄÜãõ ďŘÀÖõ ÂŞŘÂŞ ŚûĆœŚą ;þŘ ćŘÀäŘ áĄÞźõ ÝČûŘĄąüõ ;ČĂżÞû

.ÀČûć ĆŐŘďŘ ďŚî ;þŘ

14

Page 15: Dynamic programming probemset archieve

O(n2) . . . . . . . . . . . . . . . . . . . řČźä ýÂŞŠĄİ ĆœŚąďŚî :ÝÈł ø ùŚźĂŢ Ćb ÜßÆõľÂŞ ĆØŮ k ĆŞ ĆܧÂõ Œþ ďć Řď ŠĄİ ĆØŮŒþ ĆØĂþŘ ýŘÂŞ řČźä ýÂŞŠĄİ Ćb œŚąďŚî Œþ ďćťÞÆì n ŚfÖČìć ŽÂą ;þÂţÞ Řď ŠĄİ ĆØŮŒþ ÝČûŘĄąüõ .楳üõ ĆţêÂð ñĄŢ À§Řø ck ÀĂœÃŞ

.ÝČĂî

O(nw) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . üłøÂê ÂČł :ÝţÔû ø ùŚźĂŢ Ćb ÜßÆõÂČł ÂţČó w ďŘÀÖõ ýÂţÈõ Âû .ÀłøÂÔŞ ÂČł 楹 ýŚûýÂţÈõ ĆŞ ÀûŘĄąüõľøÂê ÂČł ŚìŊ üÜäŘď a , . . . , an ýŚûÇþŚźĂð ŚŞ Ć œŚÞČŢ n ;ČŞ ěŘ Ć œŚÞČŢ ćŘÀãŮ ;þÂţÞî ÀûŘĄąüõ øŘ .ÀûŘĄąüõéÂÒ ĆŞ ø ćďŘćÂ Ş ćĄą üÜňŘéÂÒ ěŘ ŚúœŊ Ś Ş Řď ÂČł ÂţČ ó w ÀœŘĄţŞ Ćî ýďĄÏ ĆŞ ÀĂ£ţ œŘ

.ÀČĂî ŒÞî ŚìŊ üÜä ĆŞ .ćÃþÂŞ ýÂţÈõ

O(nT ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ëŘďøŘ ijČ¡ÊŮ :ÝţÈû ø ùŚźĂŢ Ćb ÜßÆõĆŞ ĆðÂŞ n ;þŘ .ÀĂłŚŞüõ ýŚûĆðÂŞ ijČ¡ÊŮ ñĄçÈõ ÂÔœ øć .ÝþďŘć ďŚČţąŘ ďć ijČ¡ÊŮ ýŘÂŞ ĆðÂŞ nÂÔœ .( ti ≤ T ) 楳 ijČ¡ÊŮ ŚŮ ÀÈîüõ ñĄÏ ĆČœŚŹ ti ôŘ i ĆðÂŞ ø ÀœŘùÀł ùÀČİ Ýû ýøď řČŮÂŮÀœŘĄŮüõ ,ÀĂØœ ijČ¡ÊŮ Řď ýŘĆðÂŞ ÂðŘ ĆÑ¡ó Âû ďć ÀÞ¡õ .ťĺŘ ;ČƧ ôøć ÂÔœ ø ÀÞ¡õ ñøŘ;ČƧ üóø .ÀĂî Âśň ćďŘć ťĺøć Ćî ýďŘÀÖõ Âû ĆØĂþŘ Śþ ø ćďŘćÂŞ ijČ¡ÊŮ ýŘÂŞ Řď üþĎŚŞ ĆðÂŞÂŞ ijČ¡ÊŮ ýŘÂŞ Řď öŊ øŘ ćďŘÀœÂŞ Řď üþøď ĆðÂŞ ÀÞ¡õ ÂðŘ ,ÀĂØœ ijČ¡ÊŮ ýŘĆðÂŞ Ćî ĆÑ¡ó Âû ďćüĂãþ .ÀČĂî ŒÞî ďŚî ;þŘ ýŘÂŞ øŘ ĆŞ .ÀĂî ijČ¡ÊŮ Řď ĆðÂŞ ;þÂţÈČŞ ÀûŘĄąüõ ÀÞ¡õ .ćďŘć üõ

.ÀĂî ijČ¡ÊŮ Řď ĆðÂŞ ćŘÀãŮ ;þÂţÈČŞ Ćî ÀČûÀŞ ćŚþ øŘ ĆŞ üłøď

O(nP ) ø O(nP 2) . . . . . . . . . . . . . . . . . . . ĆĂČÞî ýÀĂŞĆţÆŞ :Ýúœ ø ùŚźĂŢ Ćb ÜßÆõüœěø Œ þ Âû Ćî ĎŚî n :ťĺŘ Â þě đÂł ĆŞ ĎŚî ýÀ Ă ŞĆţÆ Ş ÝţÆ Čĺ üØ þ ýŘďŘć Ć œŚąďŚî Œ þýÀĂŞĆţÆŞ ÃîÂõ ďć .楳üõ ýÀĂŞĆţÆŞ ÃîÂõ ćďŘø ùÀł ;ČČãŮÇČŢ ěŘ üśČŮÂŮ ĆŞ ćďŘć wi ñćŚãîďć Śõ ÝţÆČĺ .Àûćüõ ýŚŻ 楹 ďć Řď öěø À§Řø P ÂůîŘÀ§Œþ Âû Ćî ćďŘć ďŘÂì 쌪 Ćb ţÆŞ øć

:Àûć öŚÈœ ÀœŘĄŮüõ Řď ŚûÛÞãóŘÅØä ;þŘ .楳üõ ćďŘø Ćî üþĎŚî ÂŞŘÂŞ

.Àûć ďŘÂì üÜãê ýŚûĆţÆŞ ěŘ üØþ ďć Řď öŊ •

ø Àûć ďŘÂì ÇþŚŻ ĆŞ Řď ĆŞŚÈõ üóŚą ĆţÆŞŒþ ø ćďŘÁÚ Ş ďŚĂî ø ćÀĂśŞ Řď ŚûĆţÆŞ ěŘ üØþ •.Àûć ďŘÂì öŊ ďć Řď ĎŚî

ćŘÀãŮ öćÂî Ýî Śõ éÀû .ÝþďŘÁðüõ ďŚĂî ø ĆţÆŞ Ýû Řď üÜãê üóŚąÂČè ýŚûĆţÆŞ ďŚî ýŚúţœŘ ďćŘď ďŚî ;þŘ ĆţÆŞ ćŘÀãŮ ;þÂţÞî ŚŞ Ćî ÀČĂî ü§ŘÂÏ üÞţþďĄÚóŘ .ÝþŘùćÂî ùćŚÔţĺŘ ĆîťĺŘ üþŚûĆţÆŞ

15

Page 16: Dynamic programming probemset archieve

.Àûć ôŚźœŘ

O(nT ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÛśĂŮ ÀĂõďŚî :ôŘťÊł Ćb ÜßÆõôŘ i ďŚî áøÂł ÀäĄõ .ÀœŘùÀł ñĄ¡õ ÛśĂŮ ÀĂõďŚî Œþ ĆŞ t , . . . , tn ľěŘćÂŢ ýŚûöŚõě ŚŞ ďŚî n

áøÂłË¡õ ĆŞ øťĺŘ ôŚźœŘ ÛŞŚì [ai, di] ùb쌪 ďć ÍÖê ôŘ i ďŚî .ťĺŘ di öŊ ôŚÞŮŘ ÀäĄõ ø ai

ÀĂîüõ üãĺ ,ťĺŘ ÛśĂŮ ÀĂõďŚî öĄİ ŚõŘ .ćŘć ôŚźœŘ ĆÔìø öøÀŞ Řď öŊ ďŚî ôŚÞŮŘ ŚŮ ÀþŚŞ ďŚî Âûť¡Ů Řď øŘ ĆÑ¡ó Âû ďć ŚfśŮÂõ Ćî ćďŘć üÆČŐď ÀĂõďŚî ;þŘ .ÀĂî ďŚî Řď ;ØÞõ öŚõě ;þÂţÞî ĆÈČÞûŽŘÂąŘ Řď øŘ ,ćďŘć 楯ø "ŘÂŻŘ ÛŞŚì’ ýďŚî Ćî üóŚ§ ďć ťĺŘ ďŚØČŞ ÀĂõďŚî ÀĂČśŞ ÂðŘ :ćďŘć ÂÑœďć ÂðŘ ø ÀłŚŞ ĆţłÁð öŊ áøÂł ÀäĄõ ěŘ Ćî ÝČþĄðüõ "ŘÂŻŘ ÛŞŚì’ ýďŚî ĆŞ t ĆÑ¡ó ďć .ÀĂîüõüãĺ ÀĂõďŚî ;þŘ .楳 ôŚÞŮ öŊ ôŚÞŮŘ ÀäĄõ ŚŮ ÂůîŘÀ§ ,ÝČĂî ďŚî ;þŘ ôŚźœŘ ĆŞ áøÂł ĆÑ¡ó ;ČÞûáĄÞź õ Śf Č œŚ Ź ø ćĄÈœ ŽŘÂąŘ Ďf øŘ Ś Ů À Ă£ ţ œŘ Řď ŚûďŚ î ěŘ ýŘĆäĄÞź õ þě ýĄ¡œ Ć Ş ćďŘćýŘÂ Ş üÞţþďĄÚóŘ .ÀłŚŞüõ di < T Ćî ÀČĂîťìć .楳 ĆĂČÞî Àûćüõ ôŚź œŘ ďŚî Ćî üþŚûöŚõě

.ÀČĂî ŘÀČŢ øŘ ĆŞŒÞî

Memoization

ěŘ üóø "ŚþĄŢ ýěŚĺĆõŚœÂŞ’ ;ê ěŘ ùćŚÔţĺŘ ,ćÂŞüõ ĎŚŞ Řď üþŘďŚî ĎfĄÞãõ Ćî ŚþĄŢ ľøď ďć ÂČČçŮŒþÂ Ţ Řď öŊ ø ùćŘć ďŘÂì ďŚî ýŚĂśõ Řď ñøÀŻŒ þ Ś þĄŢ ľøď ďć Śõ âìŘø ďć .ÀłŚŞüõ ;ČþŚ Ţ Ć Ş ĎŚ ŞÂŢ ťĺŘ ôěĎ üþŚûĆœŚą Ćİ üĂãþ ,楳 ÂŢ ÀþŚŞ üþŚûĆœŚą Ćİ ĆØĂþŘ ýøď ñÂţĂî üóø ,ÝČĂîüõŘÀţŞŘ ďć ,ćďŘć ôŚœ Memoize Ćî ŚþĄŢ üţÈð쌪 ľøď ďć .楳üÞœ âìŘøťìć ćďĄõ üÜČą ,ÀœĄł.ÀœŘùÀÈœ Â Ţ ěĄĂû ŚûĆ œŚą öŊ ,Àûćüõ öŚÈœ Ćî ÀœÂČðüõ ü þŘÀţ ŞŘ ďŘÀÖõ Œþ ñøÀŻ ýŚûĆ œŚąÛ§ ďć Ćî üłøď öŚÞû ;ÀœĄłüõ Û§ ŚûĆÜßÆõ Âþě ø ùÀł ÛþÀśŮ ŚûĆÜßÆõÂþě ĆŞ ĆÜßÆõ ÅşĺĆÜßÆõÂþě ;þŘ ŚþŊ Ćî 楳üõ üĺďÂŞ ŘÀţŞŘ ĆÜßÆõÂþěŒþ Û§ Âû ďć üóø .ÝČţłŘć üţÈð쌪 ÛŐŚÆõùćŚÔ ţĺŘ ťÆû ñøÀŻ ďć Ćî ýďŘÀÖõ ěŘ ,楪 ùÀł Û§ ÂðŘ ; ȹ Śþ ťĺŘ ùÀł Û§ ñŚ§ ĆŞ Ś ŮĆŞ 쌪 ĆÜßÆõ ;þŘ ćĄą ĆîřČŮÂŮ ;þŘ ĆŞ ,楳üõ Û§ ĆÑ¡ó ;þŘ ďć ,楪 ùÀÈœ Û§ ÂðŘ ø 楳üõřČŮÂŮ ;þŘ ĆŞ .ÀœĄłüõ Û§ľøď öŚÞû ĆŞ ŚûĆÜßÆõ Âþě ;þŘ ø ùÀł ÝČÆÖŮ ĆÜßÆõ Âþě ýÂĺŒþù楜œ ŚúœŊ öćÂî Û§ ĆŞ ěŚČœ üóø ,楳üõ Û§ ŚþĄŢ ľøď ďć Ćî üþŚûĆÜßÆõÂþě Śþ ŰĎŚ§ ÂÚþćĆÜßÆõÂþě Âû üĂãþ .ťĺŘ ŚþĄŢ ľøď ĆŞ üØţõ ;ČĂżÞû ø ÀœĄłüÞœ Û§ ÂČąŘ ľøď ďć ,ťĺŘ

.楳üõ Û§ Œþ ÂůîŘÀ§

O(n2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ŚûÅþÂŮŚõ ŠÂő :ô? ýĆÜßÆõ

16

Page 17: Dynamic programming probemset archieve

17