µÎ ¹è¿­ÀÇ ÇÕ hint

ÀÔ·Â µ¥ÀÌÅÍ·Î ¼³¸íÀ» ÇÏ°Ú½À´Ï´Ù.
5
4
1 3 1 2
3
1 3 2


ready...

a[]  -- ù ¹ø° ¹è¿­
b[]  -- µÎ ¹ø° ¹è¿­ 

s1[] -- ù ¹ø° ¹è¿­ÀÇ ´©Àû °ª ÀúÀå
s2[] -- µÎ ¹ø° ¹è¿­ÀÇ ´©Àû °ª ÀúÀå 

f1[] -- ù ¹ø° ¹è¿­ÀÇ ºÎºÐ¹è¿­·Î ³ª¿Ã¼ö ÀÖ´Â ¼öÀÇ ºóµµ¼ö¸¦ ÀúÀå 
f2[] -- µÎ ¹ø° ¹è¿­ÀÇ ºÎºÐ¹è¿­·Î ³ª¿Ã¼ö ÀÖ´Â ¼öÀÇ ºóµµ¼ö¸¦ ÀúÀå 

step1...O(n)

a[] 1 2 3 4 ------- 1 3 1 2 b[] 1 2 3 ----- 1 3 2

step2... O(n)

Â÷·Ê´ë·Î °¢ ¹è¿­ÀÇ ´©Àû °ªÀ» ±¸ÇÕ´Ï´Ù. s1[] 1 2 3 4 -------- 1 4 5 7 s2[] 1 2 3 ----- 1 4 6

step3. ... ÀÌ ºÎºÐ¿¡¼­ O(n^2) ÀÔ´Ï´Ù.

a[] ¹è¿­ 1 3 1 2 ¿¡¼­ ³ª¿Ã¼ö ÀÖ´Â ºÎºÐ ¼ö¿­À» º¸¸é (¿©±â¿¡¼­ ¼ýÀÚ´Â ai ¸¦ ÀǹÌÇÕ´Ï´Ù.) 1 .. s1 2 .. s2 - s1 3 .. s3 - s2 4 .. s4 - s3 1+2 .. s2 2+3 .. s3 - s1 3+4 .. s4 - s2 1+2+3 .. s3 2+3+4 .. s4-s1 1+2+3+4 .. s4 Áï s4 ¿¡¼­ s3 ,s2 , s1,s0 À» »« °ª s3 ¿¡¼­ s2 ,s1,s0 À» »« °ª s2 ¿¡¼­ s1,s0 À» »« °ª s1 ¿¡¼­ s0 À» »« °ª ¿©±â¿¡¼­ s0 ´Â 0 ÀÔ´Ï´Ù. ÀÌ °ªÀ» f1[] ¹è¿­¿¡ ´©Àû ½Ãŵ´Ï´Ù. f1[i] ´Â ºÎºÐ¹è¿­ÀÇ i ÀÇ °¡´ÉÇÑ È½¼ö ÀÔ´Ï´Ù. ¸¶Âù°¡Áö ¹æ¹ýÀ¸·Î f2[i] ¸¦ ±¸ÇÕ´Ï´Ù.

step4....O(t)

±¸ÇÏ°íÀÚ ÇÏ´Â ¼ö°¡ t À̸é f1[i] * f2[t-i] ¸¦ ±¸ÇÏ¸é µË´Ï´Ù.

[ȨÀ¸·Î]  [µÚ ·Î]