
5æ14æ¥ã ãã·ã¢ã³ãŒãã«ãã2017ã®äºéžã©ãŠã³ããéå¬ãããŸãã ã äŒçµ±çã«ãã¿ã¹ã¯ã®åæãæçš¿ããŠèŠçŽããŸãã
A. å°ããæ°å
B. æ°ããããŒããŒã
C. æãããã¿
D. éãäžè§åœ¢
E. é
åã®çµå
F. 2ã€ã®ãµãããªãŒ
603人ãã©ãŠã³ãã«åå ããŸãããåè³æ Œã©ãŠã³ãããæé«200人ã®ããã°ã©ããŒãåå ããŸããã äºéžã©ãŠã³ãã®çµæã«ãããšã55åã®åå è
ã決åã«é²ã¿ãŸããã
ã©ã®åå è
ãäºéžã©ãŠã³ãã®6ã€ã®åé¡ããã¹ãŠè§£æ±ºã§ããŸããã§ããã 15人ã5ã€ã®ã¿ã¹ã¯ãå®äºããŸããã 4人ãããã«55人ã®åå è
ã
3ã€ã®ãã¹ãïŒ
- ãããã远跡è
ããããªãã®å·®ãã€ããŠïŒ15åéïŒã³ã¹ãããã®ããã€ã«ã»ã€ããããããã
- 2äœã¯ã¢ã¹ã¯ã¯ã®ããã€ã«ã»ãã£ãããããæ®åœ±ããã
- 3äœ-ãµã³ã¯ãããã«ãã«ã¯ã®Igor Pyshkinã
ããã«ãããã10ãããïŒ
- Mitrichev Peterããã¥ãŒãªãããã¹ã€ã¹
- Gennady Korotkevichããµã³ã¯ãããã«ãã«ã¯ããã·ã¢
- ã¢ã¬ã¯ãµã³ããŒãªã¹ã¿ãã³ããã«ãŽãã«ããããã·ã¢
- ãã·ã¢ããµã³ã¯ãããã«ãã«ã¯ããšã«ã·ã§ãã»ã¹ã¿ãã¹ã©ã
- ãžã§ããã»ãã³ã©
- Danilyuk Alexeyããªãžã³ãã©ãããã·ã¢
- Du Yuhaoãå京ãäžåœ
ãã¹ãŠã®åå è
ãšã©ãŠã³ãã©ã³ãã³ã°ããŒãã«ã¯ããã§èŠã€ããããšãã§ããŸã ã
2017幎9æã«éå¬ããã決åæŠã«åæ Œãããã¹ãŠã®äººã«ããã§ãšãããããŸãã ããŠãä»-ã¿ã¹ã¯ã®åæã
A.å°ããæ°å
2ç§ã®å¶éæé
256 MBã®ã¡ã¢ãªå¶é
Boy Vladã«ã¯2ã€ã®ãæ°ã«å
¥ãã®æ°åaãšbããããŸãã æè¿ã圌ã¯åŠæ ¡ã§é€ç®ãšä¹ç®ãæããããã«ãªããããã«èµ°ã£ãŠå¥œããªæ°ãé€ç®ãšä¹ç®ããŸããã
æåã«ã圌ã¯ããŒãã«æ°åaãšbãæžãããã®åŸã3ã€ã®æäœã®ãããããé çªã«å®è¡ããããšã決ããŸããã
- å
±éã®é€æ°ã®ããããã§äž¡æ¹ã®æ°å€ãé€ç®ããŸãã
- aããã®çŽæ°gã® 1ã€ã§å²ãã bã gåããŸãã
- bããã®çŽæ°gã® 1ã€ã§é€ç®ãã aãgã§ä¹ç®ããŸãã
åæäœã®åŸã圌ã¯å€ãçªå·ãæ¶å»ãã2ã€ã®çµæã®çªå·ãããŒãããã¯ã«æžãæ»ãããããã䜿çšããŠæäœãç¶è¡ã§ããŸãã
Vladã¯ãŸã å°ããã®ã§ãå°ããæ°åã奜ããªã®ã§ãããŒãã«æžãããæ°åã®åèšãæå°åããããšããŸãã 圌èªèº«ã¯å¯ŸåŠã§ããŸããã Vladããã®ãããªæäœã§ååŸã§ããæå°æ°ã決å®ããæçµçã«å€æããå¯èœæ§ã®ããæ°åã®ãã¢ã®äŸãæäŸããã®ãå©ããŠãã ããã
å
¥å圢åŒ
å
¥åã«ã¯ãããã€ãã®ãã¹ãã¹ã€ãŒããå«ãŸããŸãã æåã®è¡ã«ã¯ããã¹ãã®æ°t ïŒ1â€tâ€500ïŒãå«ãŸããŠããŸãã
åãã¹ãã®èª¬æã¯æ¬¡ã®ãšããã§ãããã¹ãã®èª¬æã®1è¡ã«ã¯ã aãšbã® 2ã€ã®æ°åïŒ1â€a ã bâ€10 9 ïŒ-Vladã®ãæ°ã«å
¥ãã®æ°åãå«ãŸããŠããŸãã
åºå圢åŒ
åãã¹ãã«ã€ããŠãåå¥ã®è¡ã«ããã«å¯Ÿããçããå°å·ããŸã-æ¡ä»¶ããæäœãé©çšããããšã«ãã£ãŠååŸã§ããæå°éã®ãã¢ã
è€æ°ã®åçãããå Žåã¯ããããã®ãããããå°å·ã§ããŸãã
äŸ
å
¥åããŒã¿
2
4 5
4 6
ã€ã³ããªã³ã
1 5
2 3
ã¿ã¹ã¯è§£æãŸããæ°å€aãšbãçŽ æ°ã«å解ããŸãã
ããã§ãããçŽ æ°pã補åabã«æåã®çŽ¯ä¹ããã倧ããä¹æ°ãå
¥åããå Žåãããã«äž¡æ¹ã®æ°ãæ°pã§é€ç®ãããããŸãã¯æ°ã®1ã€ãpã§å²ãåããªãå Žåãå æ°pã転éããããšã«æ³šæããŠãã ããå¥ã®æ°ã次ã«pã§é€ç®ããŸãã
æããã«ã補åabã«ãããçŽ æ°ã®åºçŸã®ããªãã£ã¯ããã¹ãŠã®æäœã§å€åããããã§ã¯ãããŸããã 次ã«ããã¹ãŠãåçŽãªãã®ã«ããŸãã çªå·p 1 ã p 2 ã...ã p nããããŸãã ããããã¹ãŠã®çŽ æ°ã®ç©ãd ãdâ€abãšåŒã³ãŸãããã ãããã®çŽ æ°ã¯14ãè¶
ããããšã¯ã§ããªããšäž»åŒµãããŠããŸãã1â€aãbâ€10 9 ãç©abâ€10 18 ãããã³æåã®15åã®çŽ æ°ã®ç©ã10 18ãè¶
ããå ŽåïŒã æåŸã®çãã¯ã xy = dã®ãããªæ°å€ã®ãã¢ïŒ x ã y ïŒã§ããããšã«æ³šæããŠãã ããã ãã®çµæããã¢ã®2çªç®ã®èŠçŽ ã¯æåã®èŠçŽ ã«ãã£ãŠäžæã«æ±ºå®ãããŸãã Oã®xã®ãã¹ãŠã®å¯èœãªé€æ°d ïŒ2 n ïŒããœãŒãããæé©ãªãã¢ãéžæããŸãã
B.æ°ããããŒããŒã
2ç§ã®å¶éæé
256 MBã®ã¡ã¢ãªå¶é
Petyaã¯æ°ããããŒããŒãã賌å
¥ããŸããã nåã®ã¬ã€ã¢ãŠãããµããŒãããŸãã åã¬ã€ã¢ãŠãã§ãã©ãã³ã¢ã«ãã¡ãããã®å°æåã®ãµãã»ãããå
¥åã§ããŸãã ã¬ã€ã¢ãŠãã«1ããnãŸã§ã®çªå·ãä»ããŸãã
Petyaã¯ãã©ãã³ã¢ã«ãã¡ãããã®måã®å°æåã§æ§æãããã¡ãã»ãŒãžãå
¥åããããšèããŠããŸãã æåã®ã¬ã€ã¢ãŠãã¯æåã¯ã¢ã¯ãã£ãã§ãã Petyaã¯æ¬¡ã®ããšãã§ããŸãã
- ã¬ã€ã¢ãŠããåãæ¿ããŸãã 次ã«ãçŸåšã®ã¬ã€ã¢ãŠãã®çªå·ãiã§ããå Žåãæ°ããã¬ã€ã¢ãŠãã®çªå·ã¯i mod n + 1ã«ãªããŸããmodã¯å°äœå°äœæŒç®ã§ãã Petyaãåã®ã¢ã¯ã·ã§ã³ã«ãã£ãŠã¬ã€ã¢ãŠããåãæ¿ããå Žåããã®ã¢ã¯ã·ã§ã³ã«ã¯bããªç§ããããŸãããã以å€ã®å Žåããã®ã¢ã¯ã·ã§ã³ã«ã¯1ããªç§ããããŸãã
- æåããã€ã€ã«ããŸãã Petyaã¯ãçŸåšã®ã¡ãã»ãŒãžã®æåŸã«ãçŸåšã®ã¬ã€ã¢ãŠãã®ä»»æã®æåãè¿œå ã§ããŸãã 圌ã¯ãã®ã¢ã¯ã·ã§ã³ã«cããªç§è²»ãããŸã ã
Petyaãã¡ãã»ãŒãžãå
¥åããã®ã«å¿
èŠãªæå°æéã決å®ããã®ãæäŒãããã¡ãã»ãŒãžãå
¥åããããšãäžå¯èœã§ããããšãèŠã€ããŠãã ããã ã¡ãã»ãŒãžãå
¥åããåŸã«æ®ãã¬ã€ã¢ãŠãã¯ä»»æã§ãã
å
¥å圢åŒ
æåã®è¡ã«ã¯ã4ã€ã®æŽæ°n ã a ã b ãããã³c-ããŒããŒãã¬ã€ã¢ãŠãã®æ°ãããã³ã¬ã€ã¢ãŠããšæåã»ããã®åãæ¿ãã«å¿
èŠãªããªç§æ°ãå«ãŸããŠããŸãïŒ1â€nâ€2,000ã1â€bâ€aâ€10 9ã1 â€câ€10 9 ïŒã
次ã®nè¡ã«ã¯ãã¬ã€ã¢ãŠãã®èª¬æãå«ãŸããŠããŸãã åã¬ã€ã¢ãŠãã¯ãã©ãã³ã¢ã«ãã¡ãããã®åå°æåããã®ã¬ã€ã¢ãŠãã§å
¥åã§ããæåã®ãµãã»ããã§ããã空ã§ãªãæååã§èšè¿°ãããŸãã ãã®è¡ã®æåã¯ã¢ã«ãã¡ãããé ã«ãœãŒããããŠããŸãã
æåŸã®è¡ã«ã¯ãè¡s -Petyaãå
¥åãããã¡ãã»ãŒãžïŒè¡ã®é·ãs㯠1ã2,000ïŒãå«ãŸããŠããŸãã æååsã¯ãå°æåã®ã©ãã³æåã§æ§æãããŸãã
åºå圢åŒ
åäžã®æŽæ°-ã¡ãã»ãŒãžã®å
¥åã«å¿
èŠãªæå°ããªç§æ°ãåºåããŸãã å°å·-ã¡ãã»ãŒãžãå
¥åã§ããªãå Žåã¯1ã
äŸ
å
¥åããŒã¿
5 3 2 1
abc
d
e
f
def
abcdef
ã€ã³ããªã³ã
15
å
¥åããŒã¿
1 1 1 1
a
z
ã€ã³ããªã³ã
-1
ã¿ã¹ã¯è§£æåçèšç»æ³ã䜿çšããŠè§£æ±ºããŸãã ç¶æ
ã¯d [i] [j] [k]ã§ããiã¯åã®ã¢ã¯ã·ã§ã³ã®ã¿ã€ãã瀺ããã©ã°ã§ãïŒã¬ã€ã¢ãŠãã¹ã€ããã®å Žåã¯0ãæåã»ããã®å Žåã¯1ïŒã jã¯çŸåšã®ã¬ã€ã¢ãŠãã®çªå·ã kã¯å
¥åãããæåæ°ã å€ã¯ããã®ç¶æ
ã«éããã®ã«å¿
èŠãªæå°æéã§ãã
kãè¶
ããŸãã åºå®kã®å Žåã jã1ããnãŸã§ 2åãœãŒãããŸãã d [0] [jïŒ
n + 1] [k] = minïŒd [0] [jïŒ
n + 1] [k]ãminïŒd [0] [j] [k] + bãd [ 1] [j] [k] + aïŒïŒã jã1ããnãŸã§ 2åå埩ããå¿
èŠããããŸããkçªç®ã®æåãå
¥åããåŸã次ã®æåãå
¥åããã¬ã€ã¢ãŠãããã倧ããçªå·ã®ã¬ã€ã¢ãŠãããªã³ã«ã§ããã«ãŒãå
ã®ã¬ã€ã¢ãŠããç®çã®ã¬ã€ã¢ãŠãã«åãæ¿ããå¿
èŠãããããã§ãã ãã®åŸã jãå埩åŠçãã k + 1ã®å€ãæŽæ°ããŸããj çªç®ã®ã¬ã€ã¢ãŠãã«ã¡ãã»ãŒãžã®kçªç®ã®æåãããå Žåãd [1] [j] [k + 1] = minïŒd [0] [j] [ k]ãd [1] [j] [k]ïŒ+ cã
æåŸã«ãçãã¯minïŒd [1] [j] [m]ïŒã§ããããã§ã m = lengthïŒsïŒã§ ã1ããnãŸã§ã®ãã¹ãŠã®j ã«ã€ã㊠ã
C.æãããã¿
2ç§ã®å¶éæé
256 MBã®ã¡ã¢ãªå¶é
ãã€ãã®ããã«ãPetyaã¯æ°åŠã®ææ¥ã§éå±ããã®ã§ãããŒãã®ã»ã«ãå¡ãã€ã¶ãå§ããŸããã ããã«ãããããããšãã圌ã¯kã»ã«ã®äžè²«ããã»ã«ã©ãŒå³ãååŸããŠããããšã«æ°ä»ããŸãã.2ã€ã®å¡ãã€ã¶ãããã»ã«ã®éã«ã¯ãä»ã®å¡ãã€ã¶ãããã»ã«ã«æ²¿ã£ããã¹ãããããã®ããã«é£æ¥ããã»ã«ã«ã¯å
±éã®åŽé¢ããããŸãã
ããŒãããæ
éã«åãåããåžæŸæš¡æ§ã®ã°ãªããç·ïŒæ°Žå¹³ãŸãã¯åçŽ-èŠããŠããªãïŒã«æ²¿ã£ãŠååã«æããããŒãã®æãç³ãŸããå³ã®ã³ããŒãæããŸããã ç¡é§ã§ã¯ãããŸããïŒ ããã£ã¢ã¯åœŒã®å§¿ã倱ãã圌ã«æ®ãããã®ã¯ãããŒãã«æãããæãç³ãŸãã姿ã®ã³ããŒã ãã§ããã ä»ã圌ã¯å
ã®åœ¢ç¶ã埩å
ããããšèããŠããŸãã
å
ã®å³ãæ確ã«åŸ©å
ããããšã¯åžžã«å¯èœãšããããã§ã¯ãããŸããããããã£ã¢ã¯ã圌ãæãç³ãŸããå³ãåŸãããã«ååã«æããããããšãã§ããkã»ã«ã®å°ãªããšãããã€ãã®å³ãæç»ããããšã§ååã ãšå€æããŸããã 圌ãå©ããŠãã ãã-ãã®æ¡ä»¶ãæºããkã»ã«ã®åææ¥ç¶å³ãèŠã€ããŠãã ããã
æ¡ä»¶ããã®2çªç®ã®ãã¹ãäŸãæ€èšããŠãã ããã ãã®äžã§ãæãç³ãŸããå³ã¯æåãPããè¡šããå
ã®å³ã¯12åã®ã»ã«ã§æ§æãããŠããŸãã å
ã®å³ã«å¯èœãªãªãã·ã§ã³ã®1ã€ãå³ã«ç€ºãããŠããŸãïŒæ²ãã¯çŽç·y = 3ã§çºçããŸãïŒã

å
¥å圢åŒ
å
¥åã«ã¯ãããã€ãã®ãã¹ãã¹ã€ãŒããå«ãŸããŸãã æåã®è¡ã«ã¯ããã¹ãæ°t ïŒ1â€tâ€200ïŒãå«ãŸããŠããŸãã
次ã®tãã¹ãã®ããããã¯ã次ã®ããã«èª¬æãããŠããŸãïŒãã¹ãã®èª¬æã®æåã®è¡ã«ã¯ã2ã€ã®æŽæ°n ã k-æãç³ãŸããVasyaå³åœ¢ãæ§æããå¡ãã€ã¶ãããã»ã«ã®æ°ãšå
ã®å³åœ¢ã®ã»ã«ã®æ°ãå«ãŸããŸãïŒ1â€n <kâ€10 5 ïŒã
次ã®nè¡ã®ããããã«ã¯ã2ã€ã®æ°å€x i ã y iãå«ãŸããŸã-içªç®ã®å¡ãã€ã¶ãããã»ã«ã®å·Šäžé
ã®åº§æšïŒ-10 10â€x i ã y iâ€10 8 ïŒã ãã¹ãŠã®å¡ãã€ã¶ãããã»ã«ãç°ãªããäžè²«ããå³ã圢æããããšãä¿èšŒãããŸãã
åãå
¥åããŒã¿ã®ãã¹ãŠã®ãã¹ãã®åèškã10 5ãè¶
ããªãããšãä¿èšŒãããŠããŸãã
åºå圢åŒ
åãã¹ãã«ã€ããŠããã®çããå°å·ããŸãã å
¥åãã¡ã€ã«ããå³ãååŸããã«ã¯ãå³ã®èª¬æãšãããæ²ããæ¹æ³ãå°ãåºãå¿
èŠããããŸãã
æåã®è¡ã«æãç³ã¿ç·ãå°å·ãã次ã®kè¡ã«2ã€ã®æŽæ°ïŒ x ' i ã y' i ïŒ-æ¥ç¶ãããå³åœ¢ã®ã»ã«ã®åº§æšãå
¥åãããå³åœ¢ãååŸããããã«æŽŸçããæãç³ã¿ç·ã«æ²¿ã£ãŠååã«æãç³ãããšãã§ããŸãã
æãç·ã¯ã4ã€ã®æ¹æ³ã®ããããã§æç»ããå¿
èŠããããŸãã
- L num-æãç³ã¿ã¯çŽç·x = numã§è¡ãããå·ŠåŽã®éšåãå³åŽã®äžéšã«éããããŸãã
- R num-æãç®ã¯çŽç·x = numã§äœæãããå³åŽãå·ŠåŽã®äžã«éããããŸãã
- U num-æ²ãã¯çŽç·y = numã§è¡ãããäžéšãäžéšã®äžã«éããããŸãã
- D num-æ²ãã¯çŽç·y = numã§è¡ãããäžéšã¯äžéšã®äžéšã«éããããŸãã
ãã¹ãŠã®x ' i ã y' i ãããã³æãç®ã®åº§æšã¯ã絶察å€ã§10 9ãè¶
ããŠã¯ãªããŸããã ãã®ãããªå³ãååšããããšãä¿èšŒãããŸãã é©åãªåçãè€æ°ããå Žåã¯ããããã®ãããããå°å·ã§ããŸãã
äŸ
å
¥åããŒã¿
2
7 14
0 0
0 1
0 2
1 2
2 2
2 1
2 0
7 12
0 0
0 1
0 2
1 2
2 2
2 1
2 0
ã€ã³ããªã³ã
L 0
0 0
0 1
0 2
1 2
2 0
2 1
2 2
-1 0
-1 1
-1 2
-2 2
-3 2
-3 1
-3 0
U 3
0 0
0 1
0 2
1 2
2 2
2 1
2 0
0 3
1 3
2 3
0 4
2 4
ã¿ã¹ã¯è§£ææãç®ã¯ãæ°Žå¹³æ¹åã«2ã€ãåçŽæ¹åã«2ã€ãæ£ç¢ºã«4ã€ããããšã«æ³šæããŠãã ãããããã¯ãå³åœ¢ãæãç®ã®çåŽã«å®å
šã«çœ®ãããããã«è§Šããå¿
èŠãããããã§ãã
OX軞ã«æ²¿ã£ãæå°åº§æšãæã€æãç³ãŸããå³åœ¢ã®ã»ã«ã®ãããããã€ãŸãã»ã«ïŒ x i ã y i ïŒãååŸããŸãã æãç·ã«ã€ããŠã¯ããã®ã»ã«ã«è§ŠããåçŽç·x = x iãåããŸãã 次ã«ãå·ŠåŽã§ãå
ã®å³ã®k-nåã®ã»ã«ã埩å
ããå¿
èŠããããŸãããã®ãããå³åŽã®æãç·ã«æ²¿ã£ãŠå·ŠåŽãéããåŸãå
¥åããŒã¿ããæãç³ãŸããå³ãååŸããŸãã k -nâ€nïŒãã以å€ã®å Žåãæ²ããåŸã nå以äžã®ã»ã«ããããŸãïŒãããã»ã«ïŒ x i ã y i ïŒãå«ãæ¥ç¶ãããå³åœ¢ã圢æããæãç³ãŸããå³åœ¢k-nã®ã»ã«ããéžæããã ãã§ååã§ãã ããã¯ãæ·±ããç°¡åã«èª¿ã¹ãããšã§å®è¡ã§ããŸãã
D.éãäžè§åœ¢
4ç§ã®å¶éæé
256 MBã®ã¡ã¢ãªå¶é
æè¿ã§ã¯ãã¢ã¹ã¯ã¯ã®10幎çã®Dmitry Zakharovãd次å
空éã«ç¹ã®éåãæ§ç¯ããéã«å
šå¡ãè¿œãæããŠããããã®ç¹ã«é ç¹ãæã€ãã¹ãŠã®äžè§åœ¢ãéè§ã«ãªã£ãŠããŸãã
ã¿ãŒãã£ã¯ããããªãŒã§åœŒå¥³ã®åŒ·ãã枬å®ããããšã«ããŸããã ãã¡ããã圌女ã¯ã³ã³ãã¥ãŒã¿ãŒã䜿çšããäºå®ã§ãã ãŸãã圌女ã¯æ¬¡ã®åé¡ã解決ããããšèããŠããŸãã å¹³é¢äžã®nåã®ç¹ãèãããšããããã®ç¹ã«é ç¹ãæã€éè§äžè§åœ¢ã®æ°ãèŠã€ããå¿
èŠããããŸãã ãã¹ãŠã®è§åºŠãå³å¯ã«90床æªæºã®å Žåãäžè§åœ¢ã¯éè§ãšåŒã°ããŸãã
å
¥å圢åŒ
å
¥åã«ã¯ãããã€ãã®ãã¹ãã¹ã€ãŒããå«ãŸããŸãã æåã®è¡ã«ã¯ããã¹ãæ°t ïŒ1â€tâ€666ïŒãå«ãŸããŠããŸãã
åãã¹ãã®èª¬æã¯æ¬¡ã®ãšããã§ãããã¹ãã®èª¬æã®æåã®è¡ã«ã¯ãæ°n ïŒ3â€nâ€2000ïŒ-ãã€ã³ãæ°ãå«ãŸããŠããŸãã
次ã®nè¡ã«ã¯ã2ã€ã®æ°å€x i ã y i ïŒ-10 9â€xãyâ€10 9 ïŒ-ç¹ã®åº§æšãå«ãŸããŸãã 1ã€ã®ãã¹ãã®ãã¹ãŠã®ãã€ã³ããç°ãªãããšãä¿èšŒãããŠããŸãã
åãå
¥åããŒã¿ã®ãã¹ãŠã®ãã¹ãã®ãã€ã³ãã®ç·æ°ã¯2000ãè¶
ããŸããã
åºå圢åŒ
åãã¹ãã«ã€ããŠãåå¥ã®è¡ã«ããã«å¯Ÿããçããå°å·ããŸã-äžããããç¹ã«é ç¹ãæã€éè§äžè§åœ¢ã®æ°ã
äŸ
å
¥åããŒã¿
2
5
1 1
2 2
3 3
4 1
6 4
5
0 0
3 1
5 1
5 -1
1 3
ã€ã³ããªã³ã
3
4
ã¿ã¹ã¯è§£æéè§ã®äžè§åœ¢ãèšç®ããã«ã¯ãäžè§åœ¢ã®ç·æ°ããçŽè§ããã³éè§ã®äžè§åœ¢ã®æ°ãåŒãã ãã§ååã§ãã 1æ¬ã®çŽç·äžã®3ã€ã®ç¹ããçž®éããéè§ã®äžè§åœ¢ãšèŠãªããŸãã
ç¹å®ã®ãã€ã³ãã§é ç¹ã䜿çšããŠæ§ç¯ã§ããäžè§åœ¢ã®ç·æ°ã¯ã C n 3ã§ãã
泚ïŒçŽè§äžè§åœ¢ãšéè§äžè§åœ¢ã®æ°ã¯ãäžããããç¹ã«é ç¹ããã€çŽè§äžè§åœ¢ãšéè§ã®æ°ã«çãããªããŸãã
äžãããããã€ã³ãã§é ç¹ã䜿çšããŠãå°ãªããšã90床ã®è§åºŠã®æ°ãèšç®ããŸãã ã³ãŒããŒãã€ã³ããã«ãŒãããæå®ããããã€ã³ãã«å¯Ÿããè§åºŠã§ä»ã®ãã¹ãŠã®ãã€ã³ãããœãŒãããŸãã 2ã€ã®ãã€ã³ã¿ãŒã¡ãœããã䜿çšããŸãã è§åºŠã圢æãã2çªç®ã®ãã€ã³ãããœãŒãããŸãã é©åãª3çªç®ã®ãã€ã³ãã®æ°ãæ°ããã«ã¯ãä»ã®2ã€ã®ãã€ã³ããšå°ãªããšã90床ã®è§åºŠããªããã¹ãŠã®ãã€ã³ãããœãŒããããé åºã§ã©ã€ã³äžã«ãããã©ã€ã³ã¯è§åºŠã®å¢å ã«åãã£ãŠã®ã¿ç§»åããããšã«æ³šæããŠãã ããã
ãœãªã¥ãŒã·ã§ã³ã®å®è¡æéïŒ OïŒn 2 logïŒnïŒïŒ ã
E.é
åã®çµå
4ç§ã®å¶éæé
256 MBã®ã¡ã¢ãªå¶é
èªç¶æ°ã®2ã€ã®é
åA = [ a 1 ã a 2 ã...ã a n ]ããã³B = [ b 1 ã b 2 ã...ã b m ]ãèããŸãã ããããé·ãkã®èŸæžåŒã«æå°ã®æ°Rã®é
åã®kåéåãšåŒã³ãŸããããã¯2ã€ã®ç©ºã§ãªããµãã·ãŒã±ã³ã¹ã«åå²ãããŸããæåã®ãµãã·ãŒã±ã³ã¹ã¯é
åAã®ãµãã·ãŒã±ã³ã¹ã§ã2çªç®ã¯é
åBã®ãµãã·ãŒã±ã³ã¹ã§ã
æ£åŒã«ã¯ãèŸæžã®æå°é
åR = [ r 1 ã r 2 ã...ã r k ]ãèŠã€ããå¿
èŠããããŸãããã®é
åã«ã¯ã空ã§ãªãã€ã³ããã¯ã¹ã»ãã1â€i 1ã1 < i 1ã2 <... < i 1ãå
ã®é
åã®tâ€nããã³1 < j 1ã1 < j 1ã2 <... < j 1ã k - tâ€mãããã³ã€ã³ããã¯ã¹ã»ãã1â€i 2ã1 < i 2ã2 <.. ã< i 2ã tâ€kããã³1â€j 2ã1 < j 2ã1 <... < j 2ã k - tâ€kã
- 1â€pâ€tã 1â€qâ€k - t ã i 2ã p â j 2ã qã®å Žå ã
- 1â€pâ€tã®å Žåã a i 1ã p = r i 1ã p ;
- 1â€pâ€k- t ã b j 1ã p = r j 1ã pã®å Žå
ããšãã°ã A = [1ã2ã1ã3ã1ã2ã1]ã B = [1ã2ã3ã1]ã k = 9ã®å Žåã kã®çµ±åã¯R = [1ã1 ã1ã1ã2ã1ã2ã3ã1]ïŒæåã®é
åã®ãµãã·ãŒã±ã³ã¹ã¯[1ã1ã1ã2ã2ã1]ã2çªç®ã®é
åã®ãµãã·ãŒã±ã³ã¹ã¯[1ã2ã3ã1]ïŒã
äžãããã2ã€ã®é
åAãšB ãããã³æ°kãã ããããã®kçµ±äžRãèŠã€ããŸãã
å
¥å圢åŒ
å
¥åã®æåã®è¡ã«ã¯ãæ°n-é
åAã®ãµã€ãºïŒ1â€nâ€3000ïŒãå«ãŸããŸãã
2è¡ç®ã«ã¯ã nåã®æ°å€a i-é
åA ïŒ1â€a iâ€3000ïŒãå«ãŸããŸãã
3è¡ç®ã«ã¯ãæ°å€m-é
åBã®ãµã€ãºïŒ1â€mâ€3000ïŒãå«ãŸããŸãã
4è¡ç®ã«ã¯ã måã®æ°å€b i - Bã®é
åïŒ1â€b iâ€3000ïŒãå«ãŸããŸãã
æåŸã®è¡ã«ã¯æ°å€k ïŒ2â€kâ€n + m ïŒãå«ãŸããŠããŸãã
åºå圢åŒ
å
¥åãã¡ã€ã«ã§æå®ãããé
åã®kåéåãåºåããŸãã
äŸ
å
¥åããŒã¿
7
1 2 1 3 1 2 1
4
1 2 3 1
9
ã€ã³ããªã³ã
1 1 1 1 2 1 2 3 1
ã¿ã¹ã¯è§£æãã®åé¡ã«å¯Ÿãã2ã€ã®è§£æ±ºçã瀺ããŸããOïŒk 2 â¢logïŒkïŒïŒãšOïŒk 2 ïŒã§ãã
Oã®è§£æ±ºçïŒk 2 â¢logïŒkïŒïŒ
åé¡ã®è§£æ±ºçã3ã€ã®ãã€ã³ãã«åããŸãã
- åé
åX ïŒ AãŸãã¯B ïŒããã³åé·ã 1â€lengthâ€| X | find minSubsequenceX [length] - é·ãlengthã®èŸæžåŒã«æå°ã®ãµãã·ãŒã±ã³ã¹Xã
- æåã®é
åã®ãµãã·ãŒã±ã³ã¹ã®é·ãããœãŒãããŸã-1â€tâ€minïŒ k -1ã| A |ïŒã 1â€k-t†| B |ã®å Žåã minSubsequence A [t]ãšminSubsequence B [k-t]ã䜿çšã ãããããçµåããå¿
èŠããããŸãã
- 2ã€ã®ãµãã·ãŒã±ã³ã¹ã1ã€ã«çµåããŠãé·ãkã®èŸæžåŒã«æå°ã®ãµãã·ãŒã±ã³ã¹ãååŸããåçãæŽæ°ããŸãã
åé· ãã®minSubsequence X [é·ã]ãèŠã€ããã«ã¯ã次ã®ããã«ããŸãã
- next [i] [c]ãã«ãŠã³ãããŸããããã¯ãæåcã®æ¬¡ã®åºçŸãiã®åŸã®Xã«æ ŒçŽããŸãã
- firstSymbol [length] [i] -é
åXã®èŸæžåŒã«æå°ã®ãµãã·ãŒã±ã³ã¹ã®æåã®æåãèšç®ããŸã[ i .. | X | -1] é·ã ã ãããè¡ãã«ã¯ã次ã®ããšã«æ³šæããŠãã ããã
- j 1 = next [i] [1]ãååšããå Žåã firstSymbol [1] [i] ã firstSymbol [2] [i] ã... firstSymbol [| X | -j 1 ] [i] 1ã§å§ãŸããŸãã
- j 2 = next [i] [2]ãååšããå Žåã firstSymbol [| X | -j 1 + 1] [i] ã...ãfirstSymbol [| X | -j 2 ] [i] 2ã§å§ãŸãã
- ...
- j |ã¢ã«ãã¡ããã| =次[i] [|ã¢ã«ãã¡ããã| ååšããå Žåã firstSymbol [maxïŒ| X |-j 1 ã| X |-j 2 ã...ã| X |-j | alphabet |-1 ïŒ+ 1] [i]ã...ãfirstSymbol [| X | -j |ã¢ã«ãã¡ããã| ] [i]ã§å§ãŸã|ã¢ã«ãã¡ããã| ã
ããã§ã ã¢ã«ãã¡ãããã¯é
åXã®æ倧æ°ã§ãã
- firstSymbol [length] [i]ãã«ãŠã³ãããããšã«ãã ãåé·ãã®èŸæžç·šéçã«æå°ã®ãµãã·ãŒã±ã³ã¹Xã1æåãã€ç¹°ãè¿ã埩å
ã§ããŸãã
ãã®é
ç®ã¯OïŒ| X | 2 ïŒã«å¯ŸããŠæ©èœããŸãã
2ã€ã®èŸæžç·šéçã«æå°ã®ãµãã·ãŒã±ã³ã¹S Aããã³S BãèŠã€ãã£ãã®ã§ãããããé·ãkã® 1ã€ã®èŸæžç·šéçã«æå°ã®ãµãã·ãŒã±ã³ã¹ã«çµåããå¿
èŠããããŸãã 2ã€ã®ãã€ã³ã¿ãŒp 1ããã³p 2ã䜿çšããŠãµãã·ãŒã±ã³ã¹ã«æ²¿ã£ãŠç§»åããŸãã S Ap 1 â S Bp 2ã®å Žåããã€ã³ã¿ãŒãå°ããæ°åã«ç§»åããŸãã S Ap 1 = S Bp 2ã®å Žåããã€ããªæ€çŽ¢ã«ããæ倧å
±éãã¬ãã£ãã¯ã¹S A [p 1 .. | S A |]ããã³S B [p 2 .. | S B |]ãèŠã€ãã以äžã®æ°å€ãæ¯èŒããŸãã ããã·ã¥ã䜿çšããŠããµãã»ã°ã¡ã³ãS AãšS Bãæ¯èŒã§ããŸãã
ãã®é
ç®ã¯OïŒïŒ| S A | + | S B |ïŒâ¢logïŒmaxïŒ| S A |ã| S B |ïŒïŒïŒ= OïŒkâ¢logïŒkïŒïŒã«å¯ŸããŠæ©èœããŸãã
åèšã§ã3ã€ãã¹ãŠã®ãã€ã³ããåèšãããšã挞è¿ç·OïŒ| A | 2 + | B | 2 + k 2 â¢logïŒkïŒïŒ= OïŒk 2 â¢logïŒkïŒïŒãåŸãããŸãã
Oã®ãœãªã¥ãŒã·ã§ã³ïŒk 2 ïŒ
é
åAããŒããé
åBãæåãšåŒã³ãŸãã 1ã€ã®èŠçŽ ã§çããæ§ç¯ããŸãã ãŸããè£å©å€dp [i] [j]ããµããŒãããŸããããã§ã iã¯é
åã®çªå·ïŒ0ãŸãã¯1ïŒã jã¯ãã®é
åã®ã€ã³ããã¯ã¹ã§ãã dp [i] [j]ã¯é
å1- iã®æå°ã€ã³ããã¯ã¹ã«çãããé
åiã®ã€ã³ããã¯ã¹jã§åæ¢ãããšãããããçããæ§ç¯ãç¶ããããšãã§ããŸãã
åçãæ§æããkåã®å埩ã§ãåçã«è¿œå ããããšã§ã·ãŒã±ã³ã¹ãå®äºãããã€ãŸããæ®ãã®èŠçŽ ãå°ãªããšãk - t -1ã«ãªããããªæå°èŠçŽ ãèŠã€ããŸãããŸããäž¡æ¹ã®ãµãã·ãŒã±ã³ã¹ãèæ
®ããå¿
èŠããããŸãçããæ§ç¯ãããé
åã¯ç©ºã§ã¯ãªãå¿
èŠããããŸãã
OïŒ| A | + | B |ïŒã«å¿çããŠèŠã€ãã£ãèŠçŽ vãè¿œå ããåŸã dpã®å€ãæŽæ°ããŸãã ãããè¡ãã«ã¯ãåã®ãœãªã¥ãŒã·ã§ã³ã§èšç®ããã次ã®é
åã䜿çšããŸãã
F. 2ã€ã®ãµãããªãŒ
4ç§ã®å¶éæé
256 MBã®ã¡ã¢ãªå¶é
äžæãããããªãŒãæ€èšããŠãã ããã vããè·é¢kã«ããå°ãªããšã1ã€ã®é ç¹ããµãããªãŒã«æã€é ç¹vãèããŸãã vããã®è·é¢ãkãã倧ãããã¹ãŠã®é ç¹ãåé€ããããšã«ãã ãé ç¹vã®kãµãããªãŒãé ç¹vã®ãµãããªãŒããååŸããããªãŒãšåŒã³ãŸãã ããšãã°ã次ã®å³ã§ã¯ãé ç¹3ã®2ãµãããªãŒãèµ€ã§ããŒã¯ãããŠããŸãã

æåã®é ç¹ã«çªå·ãä»ãçŽããŠ2çªç®ã®ããªãŒãååŸã§ããå Žåã2ã€ã®ããªãŒãåããšåŒã³ãŸãããé ç¹ã§ã®åã®é åºãå€æŽããããšã¯ã§ããŸããã ããšãã°ã次ã®2ã€ã®ããªãŒã¯åãã§ã¯ãããŸããã

äžæãããæšãèããã æ ¹ãç°ãªã2ã€ã®åäžã®kããªãŒãæã€ããã«ãæ倧ââã®kã決å®ããå¿
èŠããããŸãã ãããã®ãµãããªãŒã¯äº€å·®ããå ŽåããããŸãã
å³ã¯ãäŸã®ããªãŒã瀺ããŠããŸãã

æåã®äŸã§ã¯ãåäžã®1ãµãããªãŒã®ã«ãŒãã¯é ç¹2ãš3ã§ãã
2çªç®ã®äŸã§ã¯ãåäžã®3ãµãããªãŒã®ã«ãŒãã¯é ç¹1ãš4ã§ãã
3çªç®ã®äŸã§ã¯ãåã0ãµãããªãŒã®ã«ãŒãã¯é ç¹1ãš2ã§ãã
å
¥å圢åŒ
æåã®è¡ã«ã¯ãæ°t-ãã¹ãã®æ°ïŒ1â€tâ€10 4 ïŒãå«ãŸããŸãã
åtãã¹ãã¯æ¬¡ã®ããã«èª¬æãããŸããæåã®è¡ã«ã¯ãæ°å€n-é ç¹ã®æ°ïŒ2â€nâ€10 5 ïŒãå«ãŸããŸãã
ããã«nè¡ãç¶ããŸãã ãããã®içªç®ã«ã¯ãçªå·cnt i-é ç¹iã®åã®æ°ããããŠcnt içªå·-é ç¹iã®åã®æ°ãå«ãŸããŸãã é ç¹ã«ã¯1ããçªå·ãä»ããããŸãã ããªãŒã®ã«ãŒãã¯é ç¹1ã§ããæå®ãããã°ã©ããã«ãŒã1ã®ããªãŒã§ããããšãä¿èšŒãããŸãã
1ã€ã®å
¥åã®ãã¹ãŠã®ãã¹ãã®åèšnã¯2ã»10 5ãè¶
ããŸããã
åºå圢åŒ
åãã¹ãã±ãŒã¹ã«ã€ããŠãç°ãªãã«ãŒããæã€2ã€ã®åäžã®kãµãããªãŒãååšããããã«ãæ倧kãåå¥ã®è¡ã«åºåããŸãã
äŸ
å
¥åããŒã¿
3
5
2 2 3
1 4
1 5
0
0
8
1 2
2 3 4
0
1 5
2 6 7
0
1 8
0
2
1 2
0
ã€ã³ããªã³ã
1
3
0
ã¿ã¹ã¯è§£æ仮説ã«ããã k -treeã«ã¯æ·±ãkã«å¿
ç¶çã«ããŒã¯ããããŸãã ãã®èŠä»¶ãäžæçã«ãã£ã³ã»ã«ããŸãã
ããã€ãã®kã®ãã¹ãŠã®kæšãèããŸãã ãããã¯ç䟡ã¯ã©ã¹ã«åé¡ã§ããŸãã åé ç¹ã«c k [v]ãé¢é£ä»ããŸã ãããã¯ããã®kããªãŒãå±ããç䟡ã¯ã©ã¹ã®ã©ãã«ã§ãã
k = 0ã®å Žåãé ç¹ã®0ãµãããªãŒã¯ããèªäœã§ããããããã¹ãŠã®c 0 [v]ã¯çãããªããŸãã
k = 1ã®å Žåã c 1 [v]ã¯ããŒã¯ã®åã®æ°ã«çãããªããŸãã
é
åc k [v]ããã³c m [v]ããåŠç¿ããŠãé
åc k + m [v] ãæ§ç¯ããŸãã ãŸããåé ç¹vã«é
åarr k + m [v]ãå²ãåœãŠãŸããããã¯ããã®k + m-ãµãããªãŒã®ç䟡ã¯ã©ã¹ãäžæã«æå®ããŸãã u 1 ã...ã u sããèµ°æ»é åºdfsã§è·é¢kã«ããé ç¹vã®åå«ãšããŸãã 次ã«ãé ç¹vãé
åarr k + m [v] = c k [v]ãc m [u 1 ]ã...ãc m [u s ]ã«é¢é£ä»ããŸãã ã€ãŸãã k + m-é ç¹ã®ãµãããªãŒã¯ãé ç¹ã®kããªãŒãškããªãŒã®äžéšã®mããªãŒã«ãã£ãŠå®çŸ©ãããŸãã 以äžã¯ã k = 3ããã³m = 1ã®å³ã§ãã

åé ç¹ã®è·é¢kã§åå«ã®ãªã¹ããååŸããã«ã¯ãã«ãŒãããæ·±ãã§æ€çŽ¢ãå®è¡ããŸãã ã¹ã¿ãã¯ã®ã«ãŒããžã®ãã¹ããµããŒãããåé ç¹ããã®ç¥å
ã®é
åã«è·é¢kã§é
眮ããŸãã
arr k + m [v]é
åãæ°å€c k + m [v]ã«å€æããã«ã¯ãé
åãããã·ã¥ããé
åããçªå·ã«ããŠçŽ ãŸãã¯unordered_mapã䜿çšããŸãã åé ç¹ã¯arrãªã¹ãã«äžåºŠãã衚瀺ãããªããããå®è¡æéã¯OïŒnïŒã«ãªããŸãã
é
åc k [v]ãäžããããå Žåã2ã€ã®åäžã®kãµãããªãŒãããããšãç°¡åã«ç¢ºèªã§ããŸãã ãããè¡ãããã«ãåãc kã® 2ã€ã®é ç¹ãèŠã€ããããããè·é¢kã®åå«ãæã€é ç¹ã®ã¿ãèŠã€ããŸãïŒããã¯æåã«ãã£ã³ã»ã«ããèŠä»¶ã§ãïŒã
æ倧kãèŠã€ããããã«ã c 1 [v]ãc 2 [v]ã...ãc 2 t [v]ãèšç®ããŸã ïŒ2 tã¯nãè¶
ããªã2ã®æ倧é»åã§ãïŒã ãã®åŸã kã®ãã€ããªäžæã®ã¢ããã°ã䜿çšããŸããk = 0ããå§ããŠã2 t ã2 t -1 ã...ã2 0ãè¿œå ããããšããŸãã
ãœãªã¥ãŒã·ã§ã³å®è¡æéïŒ OïŒnlogïŒnïŒïŒ ã
ä»åŸã®èšç»
æçµã©ãŠã³ãã¯9æã«è¡ãããããšãå¿ããªãã§ãã ããã ãã®åŸãã¿ã¹ã¯ã®æ¡ä»¶ãšãã®åæãã¬ã€ã¢ãŠãããŸãã ããªãã¯ãã¡ã€ããªã¹ãã®ç«å Žã«èªåèªèº«ãæããçéå
¥ãã®åé¡ã解決ã§ããŸãã
ãããŠæåŸã«ãã¢ã€ãã¢ã®1ã€ãå
±æããŸããããããæ¥å¹Žããèšèªã®ãã¹ããã®ãããªç¹å¥ãªããããŒããè¡ããŸãã 次ã«ãããšãã°ãæé«ã®C ++ãœãªã¥ãŒã·ã§ã³ã®ææè
ãå¥ã®è³ãåè³ããŸãã äœãŠèšãã®ïŒ