7æ29æ¥ã«ããã³ã¹ã¯ã¯Yandex.Algorithmããã°ã©ãã³ã°ãã£ã³ããªã³ã·ããã®æçµã©ãŠã³ããéå¬ããŸããã åè³è ã¯ãã¢ã¹ã¯ã¯å·ç«å€§åŠãåæ¥ããå ã€ã³ããã¯ã¹ã®åŸæ¥å¡ã ã£ãEgor EgorK Kulikovã§ãã ã 2äœ-ãã¥ãŒãªããã®ã¹ã€ã¹é«çæè¡åŠæ ¡ã®ãã³ã©ãžã§ãã ã åŠæ ¡ã®ããŒã ã®äžå¡ãšããŠã圌ã¯ACM ICPCã®ãã¡ã€ããªã¹ãã§ããã 3äœã¯ãæ±äº¬å€§åŠãåæ¥ããå¯å³¶ççŽæ°ã§ãã åã®2ã€ã®ã¢ã«ãŽãªãºã ã®åè ã§ããGennady Korotkevichã6äœã«ãªããŸããã
éå»æ°å¹Žãšåæ§ã«ãæçµã¿ã¹ã¯ã®è©³çŽ°ãªåæãå ¬éããŠããŸãã 7æ31æ¥ãæåã«ã¢ã«ãŽãªãºã ã®ãã©ãŒãéå¬ããŸããã ãããã£ãŠãåå è ã®åã³ãæãªããªãããã«ã圌ãã¯éåžžã®ããã«æ±ºåã®çŽåŸã«åçãå ¬éããŸããã§ããã
ä»å¹Žã1幎åããã4åã®1å€ãã¢ã«ãŽãªãºã ã®åå ç³è«ãåãåããŸãã-4578ããããŸã§ã®ãšãããåå è ã®äžã«ã¯æ°äººã®å°å¥³ãããŸã-372ãç»é²ããã人ã®ãªã¹ãã«ã¯70ãåœã®ä»£è¡šãå«ãŸããŠããŸãã æã競äºãæ¿ãã-ãã·ã¢ãã€ã³ãããŠã¯ã©ã€ãããã©ã«ãŒã·ãã«ã¶ãã¹ã¿ã³ãã¢ã¡ãªã«ãäžåœããã 25人ããã¡ã€ãã«ã«åå ããŸããã
Yandex.Algorithmã®ã¿ã¹ã¯ã¯ãYandexã®åŸæ¥å¡ãšæåŸ ãããå°é家ã§ããããã®äžã«ã¯ACM ICPCã®ãã¡ã€ããªã¹ããšåè³è ãããŸãã 競ææ¡ä»¶ã«å¿ããŠãåå è ã¯ç°ãªãããã°ã©ãã³ã°èšèªã䜿çšã§ããŸãã Yandex.Algorithmã®çµ±èšã§ã¯ãæãäžè¬çãªèšèªã¯C ++ã§ãã 2,000人以äžãéžæããŸããã 2äœã¯PythonãšJavaã§å ±æãããŸããã
ã¿ã¹ã¯A.æçµäŒå Ž
åé¡ã®èè ïŒã¢ã¬ã¯ã»ã€ã»ãã«ã¹ãã£ã³ããããŒãã»ãŠãããã§ã³ã³
å ¥åãã¡ã€ã«åïŒ | åºåãã¡ã€ã«åïŒ | å¶éæéïŒ | ã¡ã¢ãªå¶éïŒ |
---|---|---|---|
æšæºå ¥å | æšæºåºå | 3ç§ | 512ã¡ã¬ãã€ã |
ä»å¹ŽãYandex.Algorithm決åããã©ã«ãŒã·åœç«å³æžé€šã§éå¬ãããŠããŸãã å³æžé€šã®å»ºç©ã¯éåžžã«çãã圢ã§ããè±é¢äœå «é¢äœã§ããããšã«æ³šæããŠãã ããã
è±é¢äœå «é¢äœã¯ãé¢ã18ã®æ£æ¹åœ¢ãš8ã€ã®äžè§åœ¢ã®åæ£å€é¢äœã§ãã åèšã§ãè±é¢äœå «é¢äœã«ã¯24åã®é ç¹ãš48åã®ãšããžããããŸãã è±é¢äœå «é¢äœã®ç»åã以äžã«ç€ºããŸãã
ãã®ã¿ã¹ã¯ã§ã¯ãå ±éã®ãšããžãæã€2ã€ã®é¢ãåãè²ã§ãã€ã³ããããªãããã«ãè±é¢äœå «é¢äœã®é¢ã«è²ãä»ããæ¹æ³ã®æ°ã決å®ããå¿ èŠããããŸãã åèšã§ãããªããèªç±ã«äœ¿ããkè²ããããŸãã
çãã¯éåžžã«å€§ãããªãå¯èœæ§ãããããã10 9 + 7ãæ³ãšããŠèšç®ããŸãã
å ¥å圢åŒ
å ¥åã®å¯äžã®è¡ã«ã¯ãèªç±ã«äœ¿çšã§ããè²ã®æ°ã§ããåäžã®æŽæ°kïŒ1â©œkâ©œ50ïŒãå«ãŸããŸãã
åºå圢åŒ
1è¡ã§åé¡ã®çããå°å·ããŸãã
äŸ
æšæºå ¥å | æšæºåºå |
---|---|
1 | 0 |
3 | 356928 |
çºèš
k = 3ã®æ£ããè²ä»ããªãã·ã§ã³ã®1ã€ã¯ããã¹ãŠã®äžè§åœ¢ã®é¢ãæåã®è²ïŒ8é¢ïŒãäžè§åœ¢ã®é¢ã®1ã€ã®ãšããžã«é£æ¥ãããã¹ãŠã®æ£æ¹åœ¢ã®é¢ã2çªç®ã®è²ïŒ12é¢ïŒãããã³3çªç®ã®æ®ãã®ãã¹ãŠã®æ£æ¹åœ¢ã®é¢ã«è²ãä»ããããšã§ãè²ïŒ6é¢ïŒã
ã¿ã¹ã¯Aã®è§£æ
é ç¹ãè±é¢äœå «é¢äœã®é¢ã§ããã蟺ãåŽé¢ã«é£æ¥ããé¢ã«å¯Ÿå¿ããé ç¹ãæ¥ç¶ããæ°ããã°ã©ããèããŸãïŒå€é¢äœã®ããããäºéã°ã©ãïŒã ã¿ã¹ã¯ã®åœ¢åŒã¯æ¬¡ã®ãšããã§ããçµæã®ã°ã©ãã®æ£ããã«ã©ãŒãªã³ã°ã®æ°ãkè²ã§èšç®ããå¿ èŠããããŸããæ£ããã«ã©ãŒãªã³ã°ã¯ãé£æ¥ããé ç¹ãç°ãªãè²ã§ãã€ã³ãããããããªã«ã©ãŒãªã³ã°ã§ãã
ã°ã©ãã¯2éšæ§æã§ããããšã«æ³šæããŠãã ããããã®é ç¹ã¯ã12ã®é ç¹ãš14ã®é ç¹ã§æ§æããã2ã€ã®ã°ã«ãŒãã«åå²ã§ããããããšããžã¯ç°ãªãã°ã«ãŒãã®é ç¹ã®ã¿ãæ¥ç¶ããŸãã å®éãæ¡ä»¶ã¯ããã®ããŒãã£ã·ã§ã³ãã©ã®ããã«æ§æãããŠãããã瀺ããŠããŸãïŒããŒãã£ã·ã§ã³ã®æåã®éšåã¯ã説æã§ã¯2çªç®ã®è²ã§ãã€ã³ããããããšãææ¡ãããŠããé ç¹ã«ãã£ãŠåœ¢æãããæ®ãã®ãã¹ãŠã¯æ®ãã®éšåã§ãã
æåã«æåã®ããŒãããã€ã³ããã次ã«2çªç®ã®ããŒãããã€ã³ãããŸãã æåã®ããŒãã®åºå®è²ä»ãã§ã¯ã2çªç®ã®ããŒããçè²ã§ããæ¹æ³ã®æ°ãèšç®ããã®ã¯é£ãããããŸããã2çªç®ã®ã©ã³ãã®åé ç¹ãåå¥ã«ãã€ã³ãããŸããã€ãŸããã¡ãœããã®ç·æ°ã¯k-adjã®2çªç®ã®ããŒãv vïŒãããã§adjïŒvïŒã¯vã«é£æ¥ããé ç¹éã®ç°ãªãè²ã®æ°ã§ãã
次ã«ãæåã®ããŒãã®ã«ã©ãŒãªã³ã°ãäœããã®æ¹æ³ã§æŽçããå¿ èŠããããŸãã åé ç¹ã®è²ãæ瀺çã«äžŠã¹æ¿ããå ŽåãçŽ50 12â2.4ã»10 20ã®æäœãå¿ èŠã«ãªããåççãªæéæ ã«ã¯åãŸããŸããã é ç¹èªäœã®è²ãå埩ããã®ã§ã¯ãªããåã/ç°ãªãè²ã°ã«ãŒããžã®åå²ã®ã¿ãç¹°ãè¿ããŸãã ã€ãŸããåæã®éçšã§ã次ã®åé ç¹ã«å¯ŸããŠãé ç¹ã®æ¢åã®è²ã®1ã€ã«å²ãåœãŠãããæ°ããé ç¹ãäœæãããã決å®ããŸãã ãã®ãããªãå§çž®ãã«ã©ãŒãªã³ã°ã¯ããã»ã©å€ããªãã4,213,597åãããããŸããã æããã«ãæåã®ããŒãã®å§çž®ã«ã©ãŒãªã³ã°ã«å«ãŸããæ å ±ã¯ã2çªç®ã®ããŒãã®ã«ã©ãŒãªã³ã°ã®æ¹æ³ãç解ããã®ã«ååã§ãããã®å§çž®ã«ã©ãŒãªã³ã°ãæ¬æ Œçãªã«ã©ãŒãªã³ã°ã«å€æããæ¹æ³ã®æ°ããã®æ°å€ã«æããããšãå¿ããªãã§ãã ããïŒAïŒkââãc ïŒ= kïŒk-1ïŒïŒk-2ïŒ...ïŒk-c + 1ïŒãcã¯å§çž®ã«ã©ãŒãªã³ã°ã§äœ¿çšãããè²ã®æ°ã§ãïŒã
æžé¢ã«ãã解決çãå¶éæéã«åãŸããªããã1ã€ã®ãã¹ãã§ããŸãé·ãåäœããªãå Žåãkã®å¶éãããã»ã©å€§ãããªããšããäºå®ãããŸãããŠæŽ»çšããããŒã«ã«ã³ã³ãã¥ãŒã¿ãŒã§ã®ãã¹ãã«å¯Ÿãã50ã®åçãã¹ãŠãã«ãŠã³ããããããåã«ããã°ã©ã ã«å ¥ããããšãã§ããŸãã
å¥ã®è§£æ±ºçã¯ãäžéã®8ã€ã®æ£æ¹åœ¢ã®åž¯ã®è²ä»ããç¹°ãè¿ããŠãããè±åœ¢ç«æ¹å «é¢äœã®äžååãšäžååãäºãã«ç¬ç«ããŠè²ä»ãããããããååã®1ã€ãè²ä»ãããŠæ£æ¹åœ¢ã«ããæ¹æ³ã®æ°ãæ°ããŸãã
ã¿ã¹ã¯B.ã·ãŒã±ã³ã¹ã®å€æ
åé¡ã®èè ïŒããã·ã ã»ã¢ãã¡ãããã°ã¬ãã»ãšãŽã¹ãããã
å ¥åãã¡ã€ã«åïŒ | åºåãã¡ã€ã«åïŒ | å¶éæéïŒ | ã¡ã¢ãªå¶éïŒ |
---|---|---|---|
æšæºå ¥å | æšæºåºå | 1ç§ | 512ã¡ã¬ãã€ã |
å ã¯nåã®ãŒãã§æ§æãããã·ãŒã±ã³ã¹a 1 ãa 2 ã...ãa nãäžããããŸãã äžåºŠã«ããµãã»ã°ã¡ã³ãa l ãa l + 1 ã...ãa r ãããã³ä»»æã®æŽæ°xãéžæãã l + kãl + k +ïŒ-1 ïŒ kã»xãã¹ãŠã®æŽæ°0â©œkâ©œr-lã
æå°ã®ç§»åæ°ã§ãå ã®ãŒãã·ãŒã±ã³ã¹ãç¹å®ã®ã·ãŒã±ã³ã¹b 1 ãb 2 ã...ãb nã«å€æããå¿ èŠããããŸãã ã·ãŒã±ã³ã¹b iã«ã¯éèŠãªå¶éããããŸãããã®ãã¹ãŠã®èŠçŽ ãéå{-1ã0ã1}ã«å±ããããšãä¿èšŒãããŠããŸãã
å ¥å圢åŒ
å ¥åã®æåã®è¡ã«ã¯ãåäžã®æŽæ°nïŒ1â©œnâ©œ10 5 ïŒãå«ãŸããŸãã 2è¡ç®ã«ã¯ãnåã®æŽæ°b 1 ãb 2 ã...ãb n ïŒ-1â©œb iâ©œ1ïŒãå«ãŸããŸãã
åºå圢åŒ
å ã®ã·ãŒã±ã³ã¹ãå¿ èŠãªã·ãŒã±ã³ã¹ã«å€æããããã«å¿ èŠãªç§»åã®æå°æ°ãå°å·ããŸãã
äŸ
æšæºå ¥å | æšæºåºå |
2
-1 1 | 1 |
5
1 -1 1 1 0 | 2 |
çºèš
æåã®ãã¹ãã§ã¯ãæ¡ä»¶ããå¿ èŠãªã·ãŒã±ã³ã¹ã1åã®åãã§ååŸã§ããŸããx= -1ãl = 1ãr = 2ã§ãã
æ¡ä»¶ããã®2çªç®ã®ãã¹ãã§ã¯ã次ã®æé ãå®è¡ã§ããŸãã
0 0 0 0 0â2 -2 2 0 0â1 -1 1 1 0
解æåé¡B
ãã¶ã€ã³ãåŸã ã«ç解ããŠãããŸãã ãŸããå¶æ°ã®äœçœ®ã«ãããã¹ãŠã®æ°å€ã®ç¬Šå·ãå転ãããŸãã ããã§ãæ¡ä»¶ã«ç€ºãããæäœãããç°¡åã«ãªããŸããä»»æã®ãµãã»ã°ã¡ã³ããéžæããŠããã®äžã®ãã¹ãŠã®æ°åã«åãæ°åtãè¿œå ã§ããŸãã
ããµãã»ã°ã¡ã³ãã«åãæ°ãè¿œå ããããšãã圢åŒã®æäœãæ±ã£ãŠãããããé£æ¥ããèŠçŽ ã®éããããªãã·ãŒã±ã³ã¹ã«ç§»åãããšäŸ¿å©ã§ããa1ãa 2 ã...ãa nããã·ãŒã±ã³ã¹b 0 = aã«æž¡ããŸãã 1 ãb 1 = a 2 -a 1 ã...ãb i = a i + 1 -a i ã...ãb n = âa n ã ãã®ã·ãŒã±ã³ã¹ã«ã¯ãã1ã€ã®èŠçŽ ããããb 0 + b 1 + ... + b n = 0ãšããç¹å¥ãªæ¡ä»¶ãæºããã
次ã«ãå ã®ã·ãŒã±ã³ã¹ã®ã»ã°ã¡ã³ã[lãr]ã«å®æ°xãè¿œå ãããšã眮æb l â 1 âb l â 1 + xããã³b r âb r -xãšåçã«ãªããŸãã
ã·ãŒã±ã³ã¹a iã«ã¯-1ãã1ãŸã§ã®æŽæ°ãå«ãŸããŠãããããã·ãŒã±ã³ã¹b iã«ã¯-2ãã2ãŸã§ã®æŽæ°ãå«ãŸããŠããŸãã xãããã³ã·ãŒã±ã³ã¹ã«ãŒãã®ã¿ãå«ãŸããããã«ããå¿ èŠããããŸãã
xãš-xãã·ãŒã±ã³ã¹ã®2ã€ã®èŠçŽ ã«è¿œå ããæäœã®ãéã¿ããé| x |ãšåŒã³ãŸãã
è£å©çãªäºå®ã蚌æããŸãããïŒæ°b iããŒããã倧ããïŒå°ããïŒå Žåãæ°b iãå¢å ããæŒç®ã䜿çšããããšã¯æçã§ã¯ãããŸããã æ£åŒã«èšãã°ãããç¬éã«ããã€ãã®b iãå¢å ããæé©ãªïŒã€ãŸããæçã®ïŒæäœã®ã·ãŒã±ã³ã¹ãããå Žåã1ã€ã®b iã決ããŠå¢å ããªãæäœã®ã·ãŒã±ã³ã¹ãæ瀺ã§ããŸããåãé·ãã
å®éã2ã€ã®æäœãb iã«é©çšããŸããããšãã°ã1ïŒb i âb i + xãb j âb j -xããã³2ïŒb i + xâb i + x-yãb k âb k + yãããã³æ確æ§ã®å Žåãxãy> 0ãããã³æ確æ§ã®å Žåãxâ©œyã
ããã2ã€ã®æäœãä»ã®2ã€ã®æäœã«çœ®ãæããŸãããïŒ1ïŒb i âb i- ïŒy-xïŒ= b i + x-yãb k âb k + y-x and b j âb j -xãb k + y-xâb k + y-x + x = b k + y ãããã¯2ã€ã®åçã®æäœã§ãããåãçµæã«ã€ãªãããŸããã2ã€ã®æ°ããæäœã®åèšéã¿ãæžå°ããŠããããšãããããŸãã| y-x | + | x | = y-x + x = y <x + y = | x | + | y |ã
ãã®ãããªçœ®æãç¹°ãè¿ãããšã¯å¯èœã§ãããé ããæ©ããåæ¢ããŸãïŒåžžã«æŽæ°ã§éè² ã§ãããããæŒç®ã®ç·ééã¯ç¡éã«æžå°ã§ããªãããïŒãã€ãŸããæ£ã®èŠçŽ ãåžžã«ååšããåãé·ãã®æŒç®ã®ã·ãŒã±ã³ã¹ãèŠã€ããããšãã§ããŸãæžå°ããŸãã åæ§ã«ãè¯å®çãªèŠçŽ ãå¢å ããã ãã§ããããšã確èªã§ããŸãã
ããã«ãããå©çšå¯èœãªãã¹ãŠã®æäœã説æã§ããŸãã 1åã®åãã§-2ãš2ãåãé€ããã1åã®åãã§-1ãš1ãåãé€ããã2åã®åãã§-2ã1ã1ãåãé€ããã2åã®åãã§2ã-1ã-1ãåãé€ãããšãã§ããŸãã
å®è¡ãããã¹ãŠã®æŒç®ã®åèšéã¿ã¯ãb iå ã®ãã¹ãŠã®æ£ã®æ°ã®åèšã§ããããšã¯æããã§ãïŒããã¯ããã¹ãŠã®è² ã®æ°ã®åèšãšç¬Šå·ãå察ã§ãïŒã çŸåšãéã¿1ãšéã¿2ã®æäœããããæäœã®åèšæ°ãæå°éã«æããããã«ãå¯èœãªéãå€ãã®éã¿2ã®æäœãå®è¡ããå¿ èŠãããããšã¯æããã§ãããããã§ããªããªã£ããã1ã€ãæžãããäœãèµ·ãããããã€ãã¹ããŸãã
ãããã£ãŠãçãã¯ãã¹ãŠã®æ£ã®b iãããã¥ãŒã¹æ°ã®æå°å€ãšãã¥ãŒã¹æ°ãåŒãããã®ã®åèšã§ãã
åé¡C.ãããã²ãŒã
åé¡ã®èè ïŒã°ã¬ãã»ãšãŽã¹ãããã
å ¥åãã¡ã€ã«åïŒ | åºåãã¡ã€ã«åïŒ | å¶éæéïŒ | ã¡ã¢ãªå¶éïŒ |
---|---|---|---|
æšæºå ¥å | æšæºåºå | 1ç§ | 512ã¡ã¬ãã€ã |
åžœåã¯ãã·ã¢èªåã®åœã§äººæ°ã®ããã²ãŒã ã§ã芪ãã¿ããã倧äŒæ¥åãã«èšèšãããŠããŸãã åå è ã¯2ã€ã®ããŒã ã«åãããã茪ã«ãªã£ãŠåº§ããå šå¡ãããŒãããŒã®çåããã«åº§ããŸãã ãã¬ã€ã€ãŒã¯å°ããªçŽã«ããããã®èšèãæžããåžœåã«å ¥ããŸãããã®åŸãåãã¬ã€ã€ãŒã¯é çªã«ãèªåã®ååãæ瀺ããã«åœŒã«èœã¡ãèšèãããŒãããŒã«èª¬æããããšããŸãã
次ã®åé¡ãèæ ®ããŠãã ããã ååã«ã¯2n人ãããŸãã 圌ãã¯åžœåããããããšæã£ãŠããããã§ã«äœããã®åœ¢ã§2ã€ã®ããŒã ã«åãããŠããŸãã ä»ã圌ãã¯ããããã®äººã圌ã®ããŒãããŒã®å察åŽã«åº§ã£ãŠãããããªæ¹æ³ã§è»¢éãããã ãããè¡ãã«ã¯ã次ã®æäœãæ°åå®è¡ã§ããŸããããŒãã«ã«åº§ã£ãŠãã人ãã2人ãéžæããå Žæãåãæ¿ããããã«äŸé ŒããŸãã
ããŒãã«ã®äººã ã®åæäœçœ®ãäžããããŸãã 説æãããŠããã¿ã€ãã®æäœã®æå°æ°ã決å®ããå人ãããŒãããŒã®å察åŽã«åº§ãããã«ããŸãã
å ¥å圢åŒ
å ¥åã®æåã®è¡ã«ã¯æŽæ°nïŒ1â©œnâ©œ10 5 ïŒãå«ãŸããŠããŸããããã¯ã2n人ãããŒãã«ã«åº§ã£ãŠããããšãæå³ããŸãã
2è¡ç®ã«ã¯ã2nåã®æŽæ°ã®ã·ãŒã±ã³ã¹ãå«ãŸããŸãã 1ãnã®åæŽæ°ã¯ããã®ã·ãŒã±ã³ã¹ã§æ£ç¢ºã«2ååºçŸããŸãã ãã®ã·ãŒã±ã³ã¹ã¯ãæèšåãã«æžãåºãå ŽåãããŒãã«ã®åšãã«åº§ã£ãŠãã人ã ãããŒã ã«åå²ããããšã瀺ããŠããŸãã
åºå圢åŒ
å人ãããŒãããŒã®å察åŽã«ãªãããã«ãå®è¡ããå¿ èŠãããæäœã®æå°æ°ãå°å·ããŸãã
äŸ
æšæºå ¥å | æšæºåºå |
3
2 1 3 2 1 3 | 0 |
4
2 1 4 2 3 1 3 4 | 2 |
çºèš
ç¶æ ã®æåã®ãã¹ãã§ã¯ãæåã®åº§åžã¯ãã§ã«åžœåããã¶ãã®ã«é©ããŠããŸãã
ç¶æ ã®2çªç®ã®ãã¹ãã§ã¯ã1çªç®ãš7çªç®ã®äœçœ®ã«åº§ã£ãŠãã人ãæåã«äº€æãã次ã«7çªç®ãš8çªç®ã®äœçœ®ã«åº§ã£ãŠãã人ã亀æããã®ãæåã®æ¹æ³ã®1ã€ã§ããããã«ãããæ£ãã座åžã«ã€ãªãããŸãã3 1 4 2 3 1 4 2 ã
ã¿ã¹ã¯Cã®è§£æ
次ã®ã°ã©ããèããŠã¿ãŸãããïŒãã®é ç¹ã¯ããŒãã«ã®2nã®äœçœ®ã«ããããšããžã¯ãæåã¯æ£å察ã®äœçœ®ã«å¯Ÿå¿ããé ç¹ãæ¥ç¶ãã2çªç®ã¯ãããããŒã ã®äººã座ã£ãŠããäœçœ®ã«å¯Ÿå¿ããé ç¹ãæ¥ç¶ããŸãã ç¹ã«ãåãããŒã ã®äººã ããã§ã«åããåã£ãŠåº§ã£ãŠããå Žåã2ã€ã®ãšããžãããããã®äœçœ®ã«å¯Ÿå¿ããé ç¹ã®éã«æç»ãããŸãã
çµæã®ã°ã©ãã«ã¯ãåé ç¹ããæ£ç¢ºã«2ã€ã®ãšããžããããšããç¹æ§ããããŸãïŒ1ã€ã¯çŽåŸã§ã2ã€ç®ã¯åãããŒã ã®äººã座ã£ãŠããé ç¹ã«ãããŸãïŒã ãã®ãããªã°ã©ãã¯ãåžžã«äžå®ã®ãµã€ã¯ã«æ°ã®çµåã§ãã
åãµã€ã¯ã«ãçŽåŸæ¹åã«æ£å察ã®2ã€ã®é ç¹ã§æ§æãããç¶æ³ãã€ãŸããåèšã§é·ã2ã®ãµã€ã¯ã«ãæ£ç¢ºã«nåããç¶æ³ãå®çŸããããåªããŠããŸãã
䜿çšå¯èœãªæäœã®åœ±é¿äžã§ã°ã©ããã©ã®ããã«å€åããããç解ããŸãã é ç¹aã®äººãšé ç¹bã®äººã®ããã«ãè€æ°ã®ããŒã ã®2人ïŒãã以å€ã®å Žåã¯ç¡æå³ãªæäœïŒã亀æãããŸãã ç·aã®ããŒãããŒãé ç¹a 'ã«åº§ã£ãŠãããç·bã®ããŒãããŒãé ç¹b'ã«åº§ã£ãŠãããšããŸãã 次ã«ã2ã€ã®ãšããžaa 'ãšbb'ãã°ã©ãããæ¶ããŠã2ã€ã®æ°ãããšããžba 'ãšab'ã圢æãããŸãïŒã€ãŸããæ°ãããšããžã¯å€ããšããžã®ç«¯ã®éã§äº€å·®ããŸãïŒã ãã®ãããªæäœã¯ã1ãµã€ã¯ã«ã2ãµã€ã¯ã«ã«åå²ãããããµã€ã¯ã«æ°ãå€æŽããªããã2ãµã€ã¯ã«ãæ¥çããããšãã§ããŸãã ãããã£ãŠãçãã¯n-c以äžã§ããããã§ãcã¯åæãµã€ã¯ã«æ°ã§ãã äžæ¹ãããªãã¯åžžã«éåžžã«å€ãã®åãã«å¿ èŠãªãã®ãéæããããšãã§ããŸãïŒäºãã«åããåã£ãŠåº§ã£ãŠããªãããŒã ã¡ã€ãã®æ°äººãé£ããŠè¡ãã圌ã®ããŒãããŒã®å察åŽã«åº§ãããã«åœŒãã®1人ãåã«ç§»æ€ããã ãã§ååã§ãã ãã®æäœã«ããããµã€ã¯ã«æ°ãå³å¯ã«1å¢å ããŸãã
ãããã£ãŠãçãã¯n-cã§ããããã§ãcã¯ãµã€ã¯ã«æ°ããŸãã¯åãã°ã©ãå ã®æ¥ç¶ãããã³ã³ããŒãã³ãã§ãã ãã®åé¡ã¯ã2人1çµã§çåžããããã»ã¹ãæ瀺çã«ã¢ãã«åããã ãã§è§£æ±ºã§ããŸããããã¯ãäžèšãšåãçç±ã§æ£ããã§ãã
ã¿ã¹ã¯D.å®å šä¿®é£Ÿ
åé¡ã®èè ïŒããã·ã ã¢ãã¡ãã
å ¥åãã¡ã€ã«åïŒ | åºåãã¡ã€ã«åïŒ | å¶éæéïŒ | ã¡ã¢ãªå¶éïŒ |
---|---|---|---|
æšæºå ¥å | æšæºåºå | 2ç§ | 512ã¡ã¬ãã€ã |
ããªãã¯ãã£ãäžã€ã®ããšãæãã§ããã·ã³ãã«ãªç·ã§ãã圌ã®èªçæ¥ã«ãã€ããªã®æ倧ãã€ã«ãäžããããšã§ãããªããªãããã¹ãŠã®åéããã§ã«æã£ãŠããããã§ãïŒ æåŸã«ãããªãã¯äž¡èŠªãšäžç·ã«åºã«è¡ããŸããããæ®å¿µãªããšã«ããã¹ãŠã®ãã€ããªããŒãã¯ããã§çµäºããæ®ã£ãŠããã®ã¯å€ãå®å šãªãã€ããªããªãŒã ãã§ãã ããã¯ãn = 2 h -1ã®é ç¹ã§æ§æãããæ倧ããŒãã®ã¡ã€ã³ããããã£ãå¿ ãããæºãããªãå€ãæžã蟌ãŸããŸãã 幞ããªããšã«ããªãŒã«ããžã§ãŒã¯ããã®ããªãŒãææã§ãã€ããªãã€ã«ã«å€ããã®ãæ¯æŽããããšã«åæããŸããã
é«ãhã®å®å šãªäºåæšã¯ãä»»æã®1â©œv vert 2 h- 1-1ã«å¯ŸããŠé ç¹vãé ç¹2vããã³2v +ã®ç¥å ãšãªãããã«ãn = 2 h -1ã®é ç¹ã§æ§æãããã«ãŒãããªãŒã§ãã 1ã
é«ãh ã®æ倧ãã€ããªããŒã㯠ãé ç¹ã®å€ãh 1 ãh 2 ã...ãh nã®é«ãhã®å®å šãªãã€ããªããªãŒã§ãããé ç¹ã®å€ã¯ãã®åã®å€ä»¥äžã§ãïŒããå ŽåïŒåäŸïŒã
é«ãhã®å®å šãªäºåæšãäžãããããã®é ç¹ã«ã¯å€a 1 ãa 2 ã...ãa nããããŸãã ãŸããå€c vã¯åé ç¹ã«é¢é£ä»ããããŠããŸããã€ãŸããOld Joeã¯ãc v xã®ã³ã¹ãã«å¯ŸããŠä»»æã®å€x> 0ã ãé ç¹vã®å€ãå¢æžã§ããŸãã ä»»æã®æ°ã®é ç¹ã®å€ãå€æŽã§ããŸãã
ç¹å®ã®å®å šãªãã€ããªããªãŒãæ倧ããŒãã«å€æããããã®æå°ã³ã¹ãã決å®ããŸãã
å ¥å圢åŒ
å ¥åã®æåã®è¡ã«ã¯ã1ã€ã®æŽæ°nïŒ1â©œnâ©œ2 18 -1ïŒãå«ãŸããŠããŸããããã¯ãååŸããå®å šãªãã€ããªããªãŒã®é ç¹ã®æ°ã§ãã æŽæ°hã«å¯ŸããŠn = 2 h -1ãä¿èšŒãããŸãã
å ¥åã®2è¡ç®ã«ã¯ãn 1åã®æŽæ°a 1 ãa 2 ã...ãa n ïŒ0 ... a iâ©œ10 6 ïŒãããªãŒé ç¹ã®çŸåšã®å€ãå«ãŸããŸãã
3è¡ç®ã«ã¯ãnåã®æŽæ°c 1 ãc 2 ã...ãc n ïŒ0â€c iâ€10 6 ïŒãå«ãŸããŠããŸããããã¯ãããªãŒã®é ç¹ã§å€ãå€æŽããã³ã¹ãã§ãã
åºå圢åŒ
æå®ãããå®å šãªäºåæšãæ倧ããŒãã«å€æããæå°ã³ã¹ããåºåããŸãã
äŸ
æšæºå ¥å | æšæºåºå |
7
4 5 3 1 2 6 6 4 7 8 0 10 2 3 | 19 |
çºèš
æ¡ä»¶ã®ãã¹ãã§ãæé©ãªæ¹æ³ã¯ã4ã»2 = 8ã®ã³ã¹ãã§é ç¹1ã®å€ã2å¢ããã2ã»3 = 6ãš3ã»3 = 9ã®ã³ã¹ãã§é ç¹6ãš7ã®å€ããããã3æžããããšã§ãã ãããã£ãŠãåèšã³ã¹ãã¯8 + 6 + 9 = 23ã«ãªããŸãã
解æã¿ã¹ã¯D
è¡šèšæ³ã玹ä»ããŸãã L v ïŒxïŒãæ¯æããªããã°ãªããªãæäœäŸ¡æ Œãšããé ç¹vã®ãµãããªãŒãæ£ããããŒãã«ãªããæäžéšvã«xãè¶ ããªãæ°ãããããã«ããŸãã S v ïŒxïŒããŸã£ããåãæ¹æ³ã§æ±ºå®ãããéãšããé ç¹vã®ã¿ãå³å¯ã«xã§ãªããã°ãªããŸããã 次ã«ãåé¡ã«å¯Ÿããçãã¯ãé¢æ°S v ïŒxïŒã®æå°å€ã«çãããªããŸãã
èã®é ç¹vã®å Žåãä»®å®ã«ãããS v ïŒxïŒ= c v | x-a v |ãšãªãã åæ§ã«ãL v ïŒxïŒ= max {0ãc v ïŒa v -xïŒ}ã§ããããšãç解ã§ããŸãã
S v ïŒxïŒãL 2v ïŒxïŒããã³L 2v + 1 ïŒxïŒã§è¡šããŸãïŒã€ãŸããé ç¹vã®é¢æ°Sã¯ãåã®é¢æ°Lã§è¡šããŠããŸãïŒã 次ã®é¢ä¿ãåœãŠã¯ãŸããŸãã
S v ïŒxïŒ= c v | x-a v | + L 2v ïŒxïŒ+ L 2v + 1 ïŒxïŒã
確ãã«ãé ç¹vã«xã眮ãå ŽåããŸãé ç¹vèªäœãå€æŽããããšã«å¯ŸããŠæ¯æããŸãã次ã«ãvã®ãµãããªãŒãäœããã®æ¹æ³ã§å€æŽããå¿ èŠããããŸãããã®ãããvã®å€ã¯ãã®å€ä»¥äžã«ãªããŸããåããã®å€ã¯åã®é¢æ°LããååŸã§ããŸãã
L v ïŒxïŒæ¬¡ã«ãS v ïŒxïŒããæ°ããããšãåŠã³ãŸãã ããããããã§ç«ã¡æ¢ãŸã£ãŠãL vãšS vãã©ããªçš®é¡ã®é¢æ°ãæã£ãŠããããä»®å®ããŸãããã ãããã¯å€æ°xã®åºåçç·åœ¢é¢æ°ã«ãªããšæšæž¬ã§ããŸãããå®éã«ã¯ããã«åŒ·åãªæ¡ä»¶ãåœãŠã¯ãŸããŸããåžç¶ã®åºåçç·åœ¢é¢æ°ã«ãªããŸãïŒèšãæããã°ã次ã®åãªã³ã¯ã®åŸæè§ãå¢å ããŸãïŒã ãããå³å¯ã«èšŒæããŸãããïŒé ç¹2vããã³2v + 1ã«ã€ããŠãããçãšããŸãããããããäžèšã®åŒãã次ã®ããã«S v ïŒxïŒãåžã®åºåçç·åœ¢é¢æ°ã§ãïŒ3ã€ã®åžç¶ã®åºåçç·åœ¢é¢æ°ã®åèšã§ããããïŒã
ããã§ãS v ïŒxïŒããL v ïŒxïŒãç°¡åã«ååŸã§ããŸããã°ããŒãã«ãªæå°ç¹S v ïŒxïŒãæ€èšããŠãã ããã ãã®æç¹ãŸã§ãS v ïŒxïŒã¯æžå°ãããã®åŸå¢å ããŸãã L v ïŒxïŒãååŸããã«ã¯ãæé·ã»ã¯ã·ã§ã³S v ïŒxïŒããé¢æ°S v ïŒxïŒã®ã°ããŒãã«æå°å€ã«çããå€ãæã€äžå®ã®æ°Žå¹³ã»ã¯ã·ã§ã³ã«çœ®ãæããã ãã§ãã
é¢æ°L vããã³S vãå®çŸ©ããã«ã¯ããããã®é¢æ°ã®ãã¬ãŒã¯ãã€ã³ãã«é¢ããOïŒãµã€ãºïŒvïŒïŒæ å ±ãå¿ èŠã§ãããµã€ãºïŒvïŒã¯é ç¹vã®ãµãããªãŒã®ãµã€ãºã§ãã å®éãé¢æ°S v ïŒxïŒã®ã°ã©ãã«ã¯ãé¢æ°S 2vããã³S 2v + 1ã®ã°ã©ãã®åèšãã¬ãŒã¯ãã€ã³ããšãé c v | x-a v |ã«ãããã1ã€ã®ãã¬ãŒã¯ãã€ã³ããããå€ãã®ãã¬ãŒã¯ãã€ã³ãã¯ãããŸããã ææªã®å Žåã«ä¿åãããæ å ±ã®éã«å¯ŸããŠãTïŒvïŒ= TïŒ2vïŒ+ TïŒ2v + 1ïŒ+ 1ã®åçºãå€æãããã®è§£ã¯TïŒvïŒ=ãµã€ãºïŒvïŒã§ãã
ããŒãžãããé¢æ°ã®ãµã€ãºã®ç·åœ¢è€éãã®åé¡ã§äœ¿çšãããåºæ¬åŒãçŽæ¥å®è£ ããããšãã§ããŸãã ãããã£ãŠã次ã®è§£ãåŸãããŸãã ãµã€ãºïŒvïŒ= nk = nlog 2 nã
ã¿ã¹ã¯E.åé¢ããŠåŸæãã
åé¡ã®èè ïŒããã€ã«ã»ãã£ãããã
å ¥åãã¡ã€ã«åïŒ | åºåãã¡ã€ã«åïŒ | å¶éæéïŒ | ã¡ã¢ãªå¶éïŒ |
---|---|---|---|
æšæºå ¥å | æšæºåºå | 5ç§ | 512ã¡ã¬ãã€ã |
äžé£ã®æ°å€ã¯ã次ã®èŠåã«åŸã£ãŠäœæã§ããå Žåã«æå¹ãšåŒã°ããŸãã
- 空ã®ã·ãŒã±ã³ã¹ãé©åã§ãã
- XãšYãé©åãªã·ãŒã±ã³ã¹ã§ããå ŽåãXYïŒXãšYã®é£çµïŒã
è¯ã; - Xãé©åãªã·ãŒã±ã³ã¹ã§ãããnãä»»æã®æ°ã§ããå ŽåãnXnïŒæ°nãXã®ãã¹ãŠã®èŠçŽ ãæåŸã«åã³æ°nïŒãé©åãªã·ãŒã±ã³ã¹ã§ãã
ããšãã°ãã·ãŒã±ã³ã¹ïŒ1ã2ã2ã1ã3ã3ïŒã¯é©åã§ãããã·ãŒã±ã³ã¹ïŒ1ã2ã1ã2ïŒã¯é©åã§ã¯ãããŸããã
ã·ãŒã±ã³ã¹ã¯ã2ã€ã®é©åãªãµãã·ãŒã±ã³ã¹ã«åå²ããæ¹æ³ãããå Žåãåé¢å¯èœã§ãããšèšãããŸãïŒã©ã¡ãã空ã«ããããšãã§ããŸãïŒã ããšãã°ãã·ãŒã±ã³ã¹ïŒ1ã2ã1ã2ïŒã¯åé¢å¯èœã§ãïŒé©åãªãµãã·ãŒã±ã³ã¹ïŒ1ã1ïŒããã³ïŒ2ã2ïŒã«åå²ã§ããããïŒãããã³ã·ãŒã±ã³ã¹ïŒ1ã2ã3ã1ã2ã3ïŒ -ãããã
1ããnãŸã§ã®åæ°å€ãæ£ç¢ºã«2åçŸããããã«ã2nåã®æ°å€ã®ãã¹ãŠã®ã·ãŒã±ã³ã¹ãèæ ®ããŠãã ããã ãããã®ãã¡ããã€ãåé¢å¯èœã§ããïŒ 10 9 + 7ãæ³ãšããçããèŠã€ããŸãã
å ¥å圢åŒ
å ¥åã®å¯äžã®è¡ã«ã¯ãåäžã®æŽæ°nïŒ1â©œnâ©œ500ïŒãå«ãŸããŸãã
åºå圢åŒ
åäžã®æŽæ°-10 9 + 7ãæ³ãšããåé¡ãžã®çããåºåããŸãã
äŸ
æšæºå ¥å | æšæºåºå |
1 | 1 |
2 | 6 |
4 | 2016幎 |
解æåé¡E
ã·ãŒã±ã³ã¹ãåé¢å¯èœãã©ããã確èªããæ¹æ³ã¯ïŒ ãã®ã·ãŒã±ã³ã¹ã§ã¯ãnåã®é ç¹ã§ã°ã©ããäœæããŸãã 察å¿ããçªå·ã®ãã¢ã1ã€ã®PSPã«å«ããããšãã§ããªãå ŽåïŒã€ãŸããçªå·ãïŒiãjãiãjïŒãŸãã¯ïŒjãiãjãiïŒãšããŠé 眮ãããŠããããããã§ãªãå ŽåïŒé ç¹iããã³jããšããžã§æ¥ç¶ããŸãïŒiãiãjãjïŒãŸãã¯ïŒiãjãjãiïŒïŒã çµæã®ã°ã©ããäºéšã®å Žåã«ã®ã¿ãã·ãŒã±ã³ã¹ã¯åé¢å¯èœã§ãã
fïŒnïŒã§nçµã®æ°åã®åé¢å¯èœãªã·ãŒã±ã³ã¹ã®æ°ã瀺ããŸãããæ°åã®çªå·ãä»ãçŽãããšã§ç°ãªãã·ãŒã±ã³ã¹ã¯åããšèŠãªãããŸãã è£å©é¢æ°gïŒnïŒãå°å ¥ããŸã- ããªããã£ãã·ãŒã±ã³ã¹ã®æ°ãã€ãŸãã2ã€ã®PSPã«æ£ç¢ºã«1ã€ã®æ¹æ³ã§åå²ã§ããnãã¢ã®çªå·ã®åé¢å¯èœãªã·ãŒã±ã³ã¹ïŒãããã¯äžèšã®ã°ã©ããæ¥ç¶ãããŠããã·ãŒã±ã³ã¹ãšãŸã£ããåãã§ãïŒ ã
gïŒnïŒã®å€ãããã£ãŠãããšä»®å®ããfïŒnïŒãèšç®ããŸãã ä»»æã®åé¢å¯èœãªã·ãŒã±ã³ã¹ã®å Žåãæåã®æ°å€ãå«ãé£çµæåãèæ ®ããŸãã kåã®æ°åã®ãã¢ãå«ãããšããã®èŠçŽ ã®éã«2kåã®ã¹ããŒã¹ããããããããã®ã¹ããŒã¹ã«åé¢å¯èœãªã·ãŒã±ã³ã¹ãäºãã«ç¬ç«ããŠçœ®ãããšãã§ããŸãã FïŒnãkïŒã¯ãå šé·2nã®kåã®åé¢å¯èœãªã·ãŒã±ã³ã¹ãéžæããæ¹æ³ã®æ°ã瀺ããŸãã 次ã«ãäžèšã®æšè«ããfïŒnïŒ= gïŒkïŒFïŒn-kã2kïŒã éFïŒnãkïŒã¯ãäºãã«ããããŠfïŒnïŒã®æ¬¡ã®å€ãéããŠç°¡åã«åã«ãŠã³ããããŸãã
gïŒnïŒãèŠã€ããã«ã¯ïŒ 2nèŠçŽ ã2ã€ã®ã»ããã«åå²ããããããã«ç¬ç«ããŠSRPãæ§ç¯ããæ¹æ³ã®æ§æãåŒã³åºããŸã ã 2nåã®èŠçŽ ã®æ§ææ°tïŒnïŒã¯ç°¡åã«èšç®ãããŸãã ãã®æ°ãããããªããã£ãã·ãŒã±ã³ã¹ã«é¢é£ããªããã¹ãŠã®æ§æãæžç®ãããšãæ®ãã®æ°ã¯2gïŒnïŒã«çãããªããŸãã ç¹°ãè¿ããŸãããæåã®æ°åãå«ãé£çµæåãèããŠã¿ãŸããããæ°åã®ãã¢ãkåå«ãããã«ããŸãã ãã®ãããªæ§æã®æ°ã¯2gïŒkïŒTïŒn-kã2kïŒã§ããããã§ãTïŒnãkïŒã¯èŠçŽ ã®ç·æ°ã2nã§ããkæ§æãéžæããæ¹æ³ã®æ°ã§ãã ãããã£ãŠãgïŒnïŒ= ïŒTïŒnïŒ- gïŒkïŒTïŒn-kã2kïŒã éTïŒnãkïŒã¯ãtïŒnïŒã«é¢ããŠèªæã«èšç®ãããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã®ç·è€éãã¯OïŒn 3 ïŒã§ãã
åé¡F.åæ°
åé¡ã®èè ïŒãªã¬ã°ã»ã¯ãªã¹ãã³ã³
å ¥åãã¡ã€ã«åïŒ | åºåãã¡ã€ã«åïŒ | å¶éæéïŒ | ã¡ã¢ãªå¶éïŒ |
---|---|---|---|
æšæºå ¥å | æšæºåºå | 2ç§ | 512ã¡ã¬ãã€ã |
ã·ãŒã±ã³ã¹a 1 ãa 2 ã...ãa nãäžãããããã®èŠçŽ a iã p / qãšããŠæžãããåæ°ã§ããå Žåãpã¯æŽæ°ã§ãqã¯æ£ã®æŽæ°ã§ãïŒçžäºã®åçŽæ§ã¯ä¿èšŒãããŸããïŒã
åãã¢iãjïŒ1â€i <jâ€nïŒã«å¯ŸããŠãå°ãªããšã1ã€ã®1â€kâ€nãååšããa iã»a j = a kã§ããããšã確èªããŸãã
å ¥å圢åŒ
å ¥åã®æåã®è¡ã«ã¯ã1ã€ã®æŽæ°nïŒ1â©œnâ©œ3ã»10 5 ïŒ-ã·ãŒã±ã³ã¹ã®é·ããå«ãŸããŸãã 次ã®è¡ã«ã¯ãp / q圢åŒã®nåæ°ãå«ãŸããŠããŸãïŒpãšqã¯æŽæ°ã| p |â©œ10 9ã1â©œq in 10 9 ïŒã
åºå圢åŒ
ç°ãªãiãšjã®åãã¢ã«å¿ èŠãªkãããå Žåã¯ãã¯ããããããã§ãªãå Žåã¯ããããããåºåããŸãã
äŸ
æšæºå ¥å | æšæºåºå |
1
7/42 | ã¯ã |
3
3/3 0/1 -5/5 | ã¯ã |
2
2/1 3/2 | ãã |
ã¿ã¹ã¯Fã®åæ
ãã¹ãŠã®ç«¯æ°ãæžãããŸãã 芳å¯ããŠã¿ãŸãããã
ãŸããæ°ã2å以äžçºçããå Žåããã®ãã¹ãŠã®ã³ããŒãåé€ã§ããŸãã
2ã€ãé€ããŠãå€ãã®çš®é¡ã®ãã¢ã¯ã€ãºäœåã«ã¯åœ±é¿ããŸããã
第äºã«ãåã»ããã§0 <| x | <1ããã³1 <| x | çªå·ã¯1ã€ãããããŸããã å®éãããšãã°ã0 <| x | <1è€æ°ã®æ°å€ããããããã«è¡šç€ºããããã¹ãŠã®æ°å€ããã絶察å€ã§2ã€ã®æå°å€ïŒaãšbãªã©ïŒãéžæãããããã®ç©abãååŸãããšãããã«å°ãããŒã以å€ã®çµ¶å¯Ÿå€ã«ãªããŸãã = | a || b | <min {| a |ã| b |}ãããã¯ãã»ããå ã®ã©ã®çªå·ãšãäžèŽããªãããšãæå³ããŸãã åæ§ã«ãç¯å²ã¯1 <| x |ã§ãã
ãããã£ãŠãéè€ãæžãããŠåé€ããåŸãçãããã¯ããã§ããå Žåãã»ããã«ã¯8ã€ä»¥äžã®æ°åãå«ããããšãã§ããŸãã2ã€ã®ãŒãã2ã€ã®åäœã2ãã€ãã¹1ã瀺ãããåç¯å²ãã1ã€ã®æ°åã ããã¯ã次ã®ããžãã¯ãé å®ã§ããããšãæå³ããŸãããã¹ãŠã®æ°åãæžãããåæ°åã®ã³ããŒã2ã€ä»¥äžã«ããŠãã ããã 8ã€ä»¥äžã®æ°åãååŸããå Žåãçãã¯ééããªããããããã§ããããã§ãªãå Žåã¯ãæ°åã®ãã¢ãã»ãšãã©ãªãããããã¹ãŠã®æ°åã®ãã¢ãæ€èšããå¿ èŠãªæ¡ä»¶ãæ£çŽã«ç¢ºèªã§ããŸãã