ã»ãã®æ°æéåããªãŒãã³ããã°ã©ãã³ã°ãã£ã³ããªã³ã·ãã
Yandex.Algorithm 2013ã¯ãµã³ã¯ãããã«ãã«ã¯ã§çµäºããŸããã ç«¶äºã¯ãå100åã®ãªã³ã©ã€ã³ã©ãŠã³ãã§æ§æããã84ãåœã®3,000人ãè¶
ããããã°ã©ããŒãåå©ãç®æããŠæŠããŸããã 3åã®äºéžã©ãŠã³ãã®çµæã«ãããšãäžäœ25äœã決åã«éããŸããã

ãã¡ã€ããªã¹ãã¯ã6ã€ã®ã¢ã«ãŽãªãºã ã®åââé¡ã100åã§è§£æ±ºããå¿
èŠããããŸããã æåã®å Žæã¯ãNRU ITMO Gennady KorotkevichïŒããŒãªã¹ãïŒã®ããŒã ã§
ACM ICPC 2013ã®æè¿ã®åè
ãæ®åœ±ãããã®ã§ãããã«ãã£ã¿ã€ã ãæãçããªããŸããã 2äœã¯ãNRU ITMOã®Yevgeny Kapun忥çã§ãã 3äœã¯ãå°æ¹Ÿã®ä»£è¡šã§ããShi Bixunãç²åŸããŸããã
ããã€ãã®åœããã®å°éå®¶ããéžææš©ã®ã¿ã¹ã¯ã®æºåã«åå ããŸããïŒãã·ã¢ããã©ã«ãŒã·ãããŒã©ã³ããæ¥æ¬ã äž»ãªã¿ã¹ã¯ã³ã³ãã€ã©ã¯ãã€ã³ããã¯ã¹ãã³ã¹ã¯ãªãã£ã¹ã®éçºè
ã§ããïŒãã¹ãŠã®äŒç€Ÿã®åŸæ¥å¡ãšåæ§ã«ãã³ã³ãã¹ããžã®åå ã¯èš±å¯ãããŠããŸããã§ããïŒã ãã¹ãŠã®èè
ã«ãYandex.Algorithmã®åå è
ã®ããã«æºåããã¿ã¹ã¯ãè§£æããããã«äŸé ŒããŸããã ãšããã§ã誰ããã¹ãŠã®åé¡ã解決ããããšã¯ã§ããŸããã§ãããæè¯ã®çµæ-3ã€ã®è§£æ±ºãããåé¡-ã¯3人ã®åå è
ã®ã¿ã瀺ããŸããã

ã¿ã¹ã¯A.ã«ããïŒ
åé¡ãšæ§æè§£æïŒã€ã¯ãã»ããã§ãããã¯ã«ã·ã£ã¯å€§åŠå
¥åãã¡ã€ã«å ïŒstdin
åºåãã¡ã€ã«å ïŒstdout
å¶éæé ïŒ8ç§
ã¡ã¢ãªå¶é ïŒ512 MB
éåžžãããŒã ããã°ã©ãã³ã°ã³ã³ããã£ã·ã§ã³ã§ã¯ã倧åŠã®æ£åŒåç§°ã«å ããŠãç¥ç§°ãäžããããŸãã ããéåžžã«æš©åšã®ããç«¶æäŒã§ã¯ãããŒã ã¯2ã€ã®ããŒã ã®ãã¡ãèŸæžç·šéçã«æå°ã®ç¥ç§°ãæã€ããŒã ããã¥ããã§ã®è¿ãã«åº§ãããã«åº§ããŸãã ããã念é ã«çœ®ããŠãå倧åŠã®ãã¬ãŒããŒã¯çµæãèŸæžç·šéçã«æå°éã«ãªãããã«å€§åŠã®ååãçãããããšåªåããŠããŸãã
倧åŠåã®ç©ºã§ãªãéšåæååã
åèªãšããŠæå®ããŸããããã¯æåã§æ§æããããã®éšåæååã®çŽåã®èšå·ãçŽåŸã®èšå·ãæåã§ã¯ãããŸããã 倧åŠåã®ç¥èªãåèªã®æ¥å°ŸèŸããããèšå·ïŒ "ã"ïŒã§çœ®ãæããããšãèš±å¯ãããŠããå Žåã
ãã®å ŽåïŒ
- åèªå
šäœãããªãªãã«çœ®ãæããããšã¯èš±å¯ãããŠããŸãã
- åèªã倿ŽãããŠããªãå ŽåïŒã€ãŸããç©ºã®æ¥å°ŸèŸãéžæãããŠããå ŽåïŒããããã¯èšå®ãããŸããã
äžè¬çã«å€§åŠã®ååãçãããªãã§ããã®ãŸãŸã«ããŠããããšã¯èš±å¯ãããŠããŸãã
ååãæ¯èŒãããšããã¹ãŠã®éã©ãã³æåãåé€ããããã¹ãŠã®å€§æåã®ã©ãã³æåã察å¿ããå°æåã«çœ®ãæããããçµæã®æååãäºãã«æ¯èŒãããŸãã
å
¥åãã¡ã€ã«ã®åœ¢åŒã å
¥åãã¡ã€ã«ã®æåã®è¡ã«ã¯ã倧åŠã®ååãå«ãŸããŠããŸãã ååã«ã¯ã倧æåãšå°æåã®ã©ãã³æåãã¹ããŒã¹ãã³ã³ãïŒ "ã"ïŒããã³ãã€ãã³ïŒ "-"ïŒãå«ããããšãã§ããŸãã
è¡ãã¹ããŒã¹ã§å§ãŸããã¹ããŒã¹ã§çµäºããã2ã€ã®é£ç¶ããã¹ããŒã¹ãå«ãŸããªãããšãä¿èšŒãããŸãã å
¥åãã¡ã€ã«ã®æåæ°ïŒã¹ããŒã¹ãå«ãïŒã¯10
6ãè¶
ããŸããã
åºåãã¡ã€ã«åœ¢åŒã 倧åŠã®èŸæžç·šéäžæå°ã®ç¥ç§°ãå°å·ããŸãã å
ã®ååãšæ¯èŒããŠãæåã®å€§æåãšéæåèšå·ã®äœçœ®ã倿Žããããšã¯çŠæ¢ãããŠããŸãã èŸæžç·šéçã«æå°ã®å Žå
ããã€ãã®ç¥èªãä»»æãå°å·ããŸãã
æšæº | æšæº |
ã¯ã«ã·ã£ã¯å€§åŠ | ãŠã Wã® |
ãµã³ã¯ãããã«ãã«ã¯åœç«ç 究倧åŠãæ©æ¢°ããã³å
åŠ | ã»ã€ã³ã Peã 㪠ãªãµãŒããŠã IãMãOã® |
ã€ãªãã€å€§åŠã¢ãŒããã·ã£ã³ããŒã³æ ¡ | ãŠã I. of U.-C |
ãã«ãŒãã®ãŒ-ã-ã¡ãã³-ã-ã--倧åŠ- | ãCa .--ã-MelloN-ã-ã-U.- |
ãŠãã ã«ãã£ã¢ã³å€§åŠ | Udmã U. |
ãæ³šæ ããŠãã æååãuniofwãã¯ãä»ã®ããªãšãŒã·ã§ã³ã«å¯Ÿå¿ããæååãããèŸæžåŒã«å°ããããããWãof ofãã¯ãã¯ã«ã·ã£ã¯å€§åŠãã®èŸæžç·šéäžæå°ã®ç¥èªã§ããããšãã°ããuowãããuniofwaãããuniversityofwarsawãã§ãã
åé¡Aã®è§£æ±ºçå
¥åãè§£æããåŸãã¿ã¹ã¯ã¯æ¬¡ã®ããã«èŠçŽãããŸãã
åèšé·N ã® nè¡s 1 ã... s nã«ã€ããŠ ã æ¬¡ã®ãããªç©ºã§ãªãæ¥é èŸp 1 ã...ã p nãèŠã€ãã
p 1 p 2 ... p n
èŸæžç·šéçã«æå°ã§ãã
æåå
p k + 1 p k + 2 ...
p nãèŸæžç·šéçã«æå°ã§ãããããª
p k + 1 ã...ã
p nããã§ã«èŠã€ãããšä»®å®ããŸãã ãã®
p k + 1 ã...ã
p nã®éžæã¯ã
p 1 ã...ã
p kã®ä»»æã®éžæã«æé©ã§ããããšã«æ³šæããŠãã ããã ããã¯ã2ã€ã®æåå
tãš
t 'ã§
t <
t'ãçã§ããå Žåãä»»æã®è¡
wã§ wt <
wt 'ã§ãããšããäºå®ã«
åºã¥ããŠããŸãã
äžãããã
p k + 1 ã....ã
p nããæé©ãªãã¬ãã£ãã¯ã¹
p kã广çã«èŠã€ããæ¹æ³
t ïŒ=
p k + 1 p k + 2 ...
p nãå
¥åããŸãã æåå
ptãèŸæžçã«æå°éã«ãªãããã«ãæåå
s kã®ç©ºã§ãªãæ¥é èŸ
pãèŠã€ããå¿
èŠããããŸãã
ããã·ã¥ã䜿çšããŠ
pt æååãš
p'tæååã广çã«æ¯èŒã§ããã¢ã«ãŽãªãºã ããããŸãã
- ãã€ããªæ€çŽ¢ã䜿çšããŠãè¡ptããã³p'tã®æå€§å
±éãã¬ãã£ãã¯ã¹ãèŠã€ããŸãã
- ãã®ãã¬ãã£ãã¯ã¹ã®çŽåŸã®æåãæ¯èŒããŸãã
ã©ã³ãã åãããããã·ã¥ã䜿çšãããšãã¢ã«ãŽãªãºã ã¯ïŒlog
N ïŒã«å¯ŸããŠéåžžã«é«ã確çã§æ©èœããŸãã
p kãèŠã€ããã«ã¯ã|ãå®è¡ããå¿
èŠããããŸãã
s k | -1
p kãèšç®ããæé
ïŒ| s k | log
N ïŒãäžãããã®ãããªæ¯èŒã ãã¹ãŠ
ã®s kãåèšãããšãã¢ã«ãŽãªãºã ã®å®è¡æéïŒ
N log
N ïŒãåŸãããŸãã
åé¡B. Anyutaãšããããåäœã®ANDã
åé¡ãšåæã®èè
ã¯ãã¢ã¬ã¯ã»ã€ã»ãã«ã¹ãã£ã³ããšããŒãã»ãŠãããã§ã³ã³ã§ããå
¥åãã¡ã€ã«å ïŒstdin
åºåãã¡ã€ã«å ïŒstdout
å¶éæé ïŒ2ç§
ã¡ã¢ãªå¶é ïŒ512 MB
Little Anyutaã¯ãæ°å€ã®ãããæŒç®ãæ€èšããããšã«ããŸããã 仿¥ã圌女ã¯ããããåäœANDãæŒç®ãç ç©¶ããŸããã ãããåäœã®ANDã¯ããªãã©ã³ãã®ãã€ããªè¡šçŸã®åãäœçœ®ã«ãããããã®åãã¢ã«è«çANDãé©çšããããšãšåãã§ãïŒãã€ããªè¡šçŸã§ã¯å
è¡ãŒãã䜿çšã§ããŸãïŒã ã€ãŸãããªãã©ã³ãã®å¯Ÿå¿ããããããäž¡æ¹ãšã1ã§ããå Žåãçµæã®ãã€ããªãããã¯1ã§ãã ãã¢ã®å°ãªããšã1ã€ã®ãããã0ã®å Žåãçµæã®ãã€ããªãããã¯0ã§ãã
é©ããããšã«ãã¡ããã©ä»æ¥ãAnyutaã®äž¡èŠªã¯ä»äºãã2çµã®æ°åãæã¡èŸŒãã ã ãç¶ããã¯ä»äºãã
Pçªå·ã§æ§æãããã»ãã
Aãæã£ãŠããŠãæ¯ã¯
Mçªå·ã§æ§æãããã»ãã
Bãæã£ãŠããŸããã ã»ããå
ã®ãã¹ãŠã®æ°å€ã¯ãè² ã§ã¯ãªãã65535ãè¶
ããªãæŽæ°ã§ãããããã«ãã»ããå
ã®çªå·ã«ã¯1ããå§ãŸãçªå·ãä»ããããŠããŸããã
ããããããªã¢ããŒã¯ããã«ãç ç©¶ããæäœããããã®ã»ããã®æ°åã«é©çšãå§ããŸããã 圌女ã®äž¡èŠªãæãããªãããã«ã圌女ã¯ãããã®Andããããã®æ°åã®ãã¢ã«é©çšããŸããããã®ãã¡ã®1ã€ã¯ç§ã®ç¶ã®ã»ããã®ãã®ã§ããã1ã€ã¯ç§ã®æ¯ã®ã»ããã®ãã®ã§ããã
ã¢ããŒã¯ã³ã³ãã¥ãŒãã£ã³ã°ã«æ
ç±ãåŸããŠããŸãããã圌女ã®äž¡èŠªã¯åšã
Xãç²åŸããæ¹æ³ã¯ããã€ããã®ã ããããšèããŸããã ç°ãªãæ¹æ³ã®æ°ã¯
ã1â€iâ€Pã1â€jâ€M ãA
i AND B j =
Xãšãªãããã«
ãç°ãªããã¢
ïŒiãjïŒã®æ°ãšããŠèšç®ã§ããŸã
ã Anyutaã®äž¡èŠªã¯åšããã奜å¥å¿ã匷ãããã1ã€ã®æ°å
Xã ãã§ãªããããã«
Kã®æ°å
X iã«ã€ããŠå¿
èŠãªæ°ã®ãŠã§ã€ãèŠã€ããããšèããŠããŸãã 芪ãå©ããŠïŒ
å
¥åãã¡ã€ã«ã®åœ¢åŒã æåã®è¡ã«ã¯ãã¹ããŒã¹ã§åºåããã3ã€ã®æŽæ°
P ã
M ãããã³
K ïŒ1â€Pã
M ãKâ€10
5 ïŒãå«ãŸããŠããŸã-ãããããç¶èŠªã®ã»ããã®æ°åã®æ°ãæ¯èŠªã®ã»ããã®æ°åã®æ°ãããã³èŠªãé¢å¿ã®ããæ°åã®æ°ã 2è¡ç®ã«ã¯ãã¹ããŒã¹ã§åºåããã
Påã®æ°å
A iãå«ãŸããŠããŸã-ãç¶ãããæã£ãŠããæ°åã®ã»ããã 3è¡ç®ã«ã¯ãã¹ããŒã¹ã§åºåããã
Måã®æ°å
B iãå«ãŸããŠããŸãããããæã£ãŠããæ°åã®ã»ããã§ãã 4è¡ç®ã«ã¯ãã¹ããŒã¹ã§åºåããã
Kåã®æ°å€
X iãå«ãŸããŸããããã¯ãå¿
èŠãªãã¢ã®æ°ãèšç®ããå¿
èŠãããäžé£ã®æ°å€ã§ãã ã»ãã
A ã
B ãããã³
Xã®ãã¹ãŠã®æ°å€
ã¯æŽæ°ã§ãè² ã§ã¯ãªãã65535ãè¶
ããŸããã
åºåãã¡ã€ã«åœ¢åŒã ãããã1ã€ã®æ°åãå«ã
Kè¡ãå°å·ããŸãã
içªç®ã®è¡ã®æ°ã¯ãæ¡ä»¶ã«èšè¿°ãããèŠåã«åŸã£ãŠã»ãã
Aãš
Bããã®æ°ã«ãããåäœã®ANDæŒç®ãé©çšããããšã«ããæ°
X iãååŸããæ¹æ³ã®æ°ãšçãããªããã°ãªããŸããã
äŸæšæº | æšæº |
4 4 4 1 2 3 4 1 2 3 4 1 2 3 4 | 3 3 1 1 |
1 2 3 0 1 2 0 1 2 | 2 0 0 |
åé¡Bã®è§£æ±ºç2
16ãŸã§ã®éè² ã®æŽæ°ã§æ§æããã2ã€ã®é
åAãšBãäžããããŸãã ãŸããæå€§2
16ãŸã§ã®æ°å€ãå«ãQã¯ãšãªã®é
åãæäŸãããŸãã åã¯ãšãª
kã«ã€ããŠã
Ai AND
Bj =
Qkãšãªããããªãã¢ïŒ
i ã
j ïŒã®æ°ãæå®ããå¿
èŠããããŸãã
åé
åã®èŠçŽ ã®æ°ã¯æå€§100kã§ãïŒãã ãã2
16ãè¶
ããªãããšãããã«ããããŸãããåããã®ãåŠçããå¿
èŠããããããæå€§100kã®é
åããããŸãïŒã
ãã¹ãŠã®ãªã¯ãšã¹ãã«ã€ããŠããã«åçãæ€èšããŸãã
以äžã®è¡šèš
f ïŒ
x ã
S ïŒãå°å
¥ããŸã
-xããã®ãã¹ãŠã®ããããå«ãã·ãŒã±ã³ã¹
Sããã®èŠçŽ ã®ã»ãããšãå Žåã«ãã£ãŠã¯ãã以äžïŒã€ãŸãã
x ïŒ
y =
xã®ãããªæ°å€
y ïŒã
aâf ïŒ
x ã
A ïŒããã³bâfïŒ
x ã
B ïŒã®å Žåã
ïŒ a ïŒ
b ïŒïŒ
x =
x ãããªãã¡
a ïŒ
bã«ã¯
xãšåããããããã¹ãŠå«ãŸããŸãããããã€ãã®è¿œå ããããå«ãŸããŠããå¯èœæ§ããããŸãã
g ïŒ
x ïŒã
A i ïŒ
B j =
xãšãªããããªã€ã³ããã¯ã¹ã®ãã¢ã®æ°ïŒ
i ã
j ïŒãšãããšã

ã ãããã£ãŠãã€ã³ããã¯ã¹ã®å¯èœãªãã¹ãŠã®ãã¢ããã
A i ïŒ
B j >
xã®ãã¢ãæžç®ããŸãã
Bãå
¥åã®æ°å€ã®æå€§ãããæ°ãšããŸãã ãã®åŸ|
f ïŒ
x ã
S ïŒ| ãã¹ãŠã®
xã«ã€ããŠæéOïŒ|
S | + 3
B ïŒã§èšç®ã§ããŸãïŒ
xã®ãããã®ãã¹ãŠã®ãµãã»ãããåæããæ¹æ³ã䜿çšïŒã
g ïŒ
x ïŒã®å€ã¯æéOïŒ3
B ïŒã§èšç®ã§ããŸããããã®å Žåãããã
xã®ãã¹ãŠã®ãµãã»ããã§ã¯ãªãããã¹ãŠã®ã¹ãŒããŒã»ããã®åæã䜿çšããå¿
èŠããããŸãã
説æãããŠãããœãªã¥ãŒã·ã§ã³ã®åèšåäœæéã¯OïŒ
P +
M +
K + 3
B ïŒïŒ
B = 16ïŒã§ãã

åé¡C.ãããã
åé¡ã®èè
-jakubrïŒJakub RadoszewskiïŒå
¥åãã¡ã€ã«å ïŒstdin
åºåãã¡ã€ã«å ïŒstdout
å¶éæé ïŒ5ç§
ã¡ã¢ãªå¶é ïŒ512 MB
é€èå®¶ãã€ã¿ã¶ãŒã«ã®è¶£å³ã¯ãããããã«ãã£ãŠããããããèèã«ãã£ãŠèã®å·£ã«åœ¢äœããã人ç©ã®ç ç©¶ã§ãã ãã®ãããªåå³ã¯ãåŽé¢1ã®å
è§åœ¢ã»ã«ã®æ¥ç¶ã»ããã衚ããå
éšã«ã¯ã穎ãã¯ãããŸããã
ããæ£åŒã«ã¯ã
ã穎ãã®ãªãå³åœ¢ãéåžžã®å
è§åœ¢ã°ãªããã®åäœå
è§åœ¢ã®ãµãã»ãããšåŒã³ãããã«å±ããä»»æã®2ã€ã®åäœå
è§åœ¢ããã¹ã§æ¥ç¶ããããã®ãã¹ãŠã®å
è§åœ¢ããã®ã»ããã«å±ããä»»æã®2ã€ã®é£æ¥ããïŒãã®ãã¹ã®æå³ã§ïŒå
è§åœ¢ãå
±éã®åŽé¢ãæã€ããã®ãµãã»ããã«å±ããªã2ã€ã®ãŠãããå
è§åœ¢ã¯ããã®ã»ããã«å±ããã»ã«ã®1ã€ã§ã¯ãªãããã¹ïŒ2ã€ã®é£æ¥ããïŒãã®ãã¹ã®æå³ïŒã®å
è§åœ¢ïŒã«ãã£ãŠæ¥ç¶ãããŠããŸã é·èã«ã¯å
±éã®åŽé¢ããããŸãã
ãã€ã¿ã¶ãŒã«ã¯ãå¯èœãªå¢çå€ãšãã®ãããªãã¿ãŒã³ã®ã»ã«æ°ã®å®å
šãªãªã¹ããäœæããããšèããŠããŸãã 圌ã¯ãäžãããã2ã€ã®æ°å
nãš
pã䜿çšããŠãå¢çã
pã§ãã
nåã®ã»ã«ã§æ§æãããã穎ãã®ãªãå³åœ¢ãååšãããã©ããã調ã¹ãããã°ã©ã ãäœæããããã«äŸé ŒããŸããã
ããšãã°ã次ã®å³ã§ã¯ã
n = 4ã
p = 18ã§ãã
å
¥åãã¡ã€ã«ã®åœ¢åŒã å
¥åã®æåã®è¡ã«ã¯ããã¹ãã±ãŒã¹ã®æ°
T ïŒ1â€Tâ€1000ïŒãå«ãŸããŸãã æ¬¡ã®
Tè¡ã¯ãããããã¹ãäŸã瀺ãã2ã€ã®æŽæ°
nãš
p ïŒ1â€nãpâ€1000ïŒ-å³ã®å¿
èŠãªé¢ç©ãšåšå²é·ãå«ã¿ãŸãã
åºåãã¡ã€ã«åœ¢åŒ ã åãã¹ãã±ãŒã¹ã«ã€ããŠãå
¥åãã¡ã€ã«ã«è¡šç€ºãããé åºã§ãåå¥ã®è¡ã«åçãåºåããŸãã æå®ããããã©ã¡ãŒã¿ãŒãæã€å³ãååšããªãå Žåã¯ããNOããåºåããŸãã ãã以å€ã®å Žåã¯ããLããšãRãã§æ§æããã
pæåã®æååãåºåããŸããããã¯ãå³ã®åšå²ïŒæèšåããŸãã¯åæèšåãïŒã«æ²¿ã£ããã¹ãå®çŸ©ããŸãããLãã¯å·Šæã瀺ãããRãã¯å³ã瀺ããŸãã
æ£è§£ãè€æ°ããå Žåã¯ããããã®ãããããå°å·ããŸãã
æšæº | æšæº |
3 4 18 3 18 3 12 | RLRRRRLRLRLRRRRRRLRL ãã LRRRLRRRLRRR |
åé¡Cã®è§£æ±ºç課é¡ã¯ãå
è§åœ¢ã®æ Œåã«å€è§åœ¢ãæ§ç¯ããããšã§ãã
nåã®ãŠãããã»ã«ãš
pèŸºã§æ§æããããããããã®ãã©ã¡ãŒã¿ãŒãæã€ããªãŽã³ãååšããªãããšã確èªããŠãã ããã
ã»ã«ã®æ°
nãåºå®ãã
p蟺ãæã€ããªãŽã³ãååšããããã«
pã®å¯èœãªå€ã調ã¹ãŸãã æããã«ã
pã¯å¶æ°ã§ãªããã°ãªããŸããã
ãŸãã
pã4
n + 2ïŒè¡ã®
nåã®ã»ã«ã§æ§æãããèŸºã«æ¥ããããªãŽã³ã®åšå²ããã®ããªãŽã³ã
ãã§ãŒã³ãšåŒã³ãŸãïŒãã倧ããããããšã¯ã§ããŸããã
äžæ¹ãæå°å¢çã®ããªãŽã³ã¯äžçš®ã®å€§ããªå
è§åœ¢ã§ããããšã¯ãäžè¬çãªèæ
®äºé
ããæããã§ãã æ£åŒã«ã¯ããã®å¢çã¯æ¬¡ã®åŒã§äžããããŸã

ã
ãããã®å¶éã¯å¿
èŠãªã ãã§ãªããååã§ããããšãããããŸãã
æ§ç¯ã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ã
ãnåã®ã»ã«ã§æ§æãããæå€§å¢çãæã€ãã§ãŒã³ããå§ããŸãã ããã«ãå€è§åœ¢ã®åšå²ã
pãã倧ããéãå€è§åœ¢ã®ãå°Ÿããã1ã€ã®ã»ã«ãåé€ãããã®ã»ã«ããé ãã«è¿œå ããŠã倧ããªå
è§åœ¢ãã¬ã€ã€ãŒããšã«æ§ç¯ããŸãïŒå³ã®ç¢å°1ãåç
§ïŒã

ãã®ç§»åã«ãããå¢çç·ã2ã4ããŸãã¯6æžå°ããŸãããã®ãããæçµçã«å¢çç·ã2ãŸãã¯4å¢å ãããå¿
èŠããããŸãïŒããšãã°ãå³ã®ç¢å°2ã«åŸã£ãŠãå°Ÿãããã»ã«ãç§»åããŸãïŒã
äžéšã®å®è£
ã§ã¯ã
nã®å°ããå€ã®å Žåãšãç¹å®ã®
nã®å¢çãæå°å€ã«è¿ãå Žåã®ã±ãŒã¹ãåå¥ã«åæããå¿
èŠããããŸãã

åé¡D.ã¢ããŒãšãã¥ãŒã
åé¡ãšåæã®èè
ã¯Roman Udovichenkoã§ããå
¥åãã¡ã€ã«å ïŒstdin
åºåãã¡ã€ã«å ïŒstdout
å¶éæé ïŒ2ç§
ã¡ã¢ãªå¶é ïŒ512 MB
ãªãã«ã¢ããŒã¯ãã¥ãŒãã§éã¶ã®ã倧奜ãã§ãã 圌女ã¯1ãã
NãŸã§ã®çªå·ãä»ããããè¡ã«é
眮ããã
Nåã®ããžã·ã§ã³ãããããã¥ãŒãããã¿ã¯ãŒãæ§ç¯ããã®ã奜ãã§ãã
ã¿ã¯ãŒãšã¯ãããã€ãã®ç«æ¹äœãéãªãåã£ãŠããããšã§ãã å¡ã®é«ãã¯ããã®äžã®ç«æ¹äœã®æ°ã§ãã ã¿ã¯ãŒçªå·ã¯ããã®ã¿ã¯ãŒã建èšãããŠããäœçœ®çªå·ã«å¯Ÿå¿ããŠããŸãã
æåã¯ããã¹ãŠã®ããžã·ã§ã³ã空ã§ãã æ¯åãæ¬¡ã®ããšãèµ·ãããŸãã
- Anyutaã¯ã N -1ãã1ãŸã§ã®æ°åã®äœçœ®ãé çªã«èª¿ã¹ãŸãã
- ä»»æã®äœçœ®iã«ãã¥ãŒãããããã¿ã¯ãŒã®é«ããäœçœ®i + 1ã®ã¿ã¯ãŒã®é«ã以äžã§ããå ŽåãAnyutaã¯içªç®ã®äœçœ®ããïŒ i + 1ïŒçªç®ã«ãã€ã1ã€ã·ããããŸãã
- Anyutaã¯ãã¹ãŠã®ããžã·ã§ã³ã確èªããåŸãããžã·ã§ã³çªå·1ã®ã¿ã¯ãŒã«ãã€ã¹ã1ã€è¿œå ããŸãã
äŸ ã äœçœ®ã®æ°ã
N = 6ãšããå¡ã®é«ãã
5 0 1 3 4 1 ïŒ1ãã
NãŸã§ã®å·Šããå³ãžã®çªå·ä»ãïŒãšããŸãã ãã®åŸãæ¬¡ã®æ°åã§æ¬¡ã®ããšãèµ·ãããŸãã
- Anyutaã¯äœçœ®5ãèŠãŸãïŒãã®äžã®å¡ã®é«ãã¯4ã§ã次ã®äœçœ®ã®å¡ã®é«ãã¯1ã§ããAnyutaã¯äœçœ®5ããäœçœ®6ã«1ã€ã®ãã€ã¹ãç§»åããŸããå¡ã®é«ãã¯5 0 1 3 3 2ã«ãªããŸãã
- Anyutaã¯äœçœ®4ãèŠãïŒãã®äžã®å¡ã®é«ãã¯3ã§ãããæ¬¡ã®äœçœ®ã®å¡ã®é«ãã¯3ã§ãããAnyutaã¯äœçœ®4ããäœçœ®5ã«1ã€ã®ãã€ã¹ãç§»ããå¡ã®é«ãã¯5 0 1 2 4 2ã«ãªã ã
- äœçœ®3ããäœçœ®4ãŸã§ã®Anyutaã¯ãäœçœ®4ã®ã¿ã¯ãŒã®é«ããäœçœ®3ã®ã¿ã¯ãŒã®é«ãããã倧ããããããã¥ãŒãã転éããŸããã
- äœçœ®2ããäœçœ®3ãŸã§ãAnyutaã¯ãã€ã¹ã転éããŸãããäœçœ®2ã«ã¯ãã€ã¹ããªãããã§ãã
- æåŸã«ãäœçœ®1ããäœçœ®2ãŸã§ãAnyutaã¯1ã€ã®ãã€ã¹ã転éããŸãã å¡ã®é«ãã¯4 1 1 2 4 2ã«çãããªããŸãã
- ãããã®ã¢ã¯ã·ã§ã³ã®åŸãAnyutaã¯äœçœ®çªå·1ã«ãã¥ãŒãã1ã€è¿œå ããã¿ã¯ãŒã®é«ãã¯5 1 1 2 4 2ã«çãããªããŸãã
äžèšã®äŸã§ã¿ã¯ãŒã®é«ãã1åã§å€æŽãããã€ãŠãã¢ããŒã¯ãã¬ãŒã«ããããããŠããã®ã§ãäžå®ã®æ°ååŸã«ç¹å®ã®äœçœ®ã«ããã€ã®ãã¥ãŒããããããèšç®ããããšã«ããŸããã Anyutaã¯ãŸã å°ããããã¥ãŒããããããããã®ã§ã圌女ã¯ããªãã«å©ããæ±ããŸããã
ããæ£åŒã«ã¯ãã
B iååŸã«
S iãã
F iãŸã§ã®æ°åã®å¡ã®åèšã«ããã€ã®ãã¥ãŒãããããããªã©ã®Qã¯ãšãªã«çããå¿
èŠããããŸãã èŠæ±ã¯ç¬ç«ããŠããŸããåèŠæ±ã§ã¯ãæåã¯ãã¹ãŠã®äœçœ®ã空ã§ãããšèŠãªããããã®åŸi> B
iåãçµéããŸãã
å
¥åãã¡ã€ã«ã®åœ¢åŒ ã å
¥åã®æåã®è¡ã«ã¯ã2ã€ã®æŽæ°
Nãš
Q ïŒ2â€Nâ€10 18ã1â€Qâ€100 000ïŒ-ã¿ã¯ãŒã®äœçœ®ã®æ°ãšèŠæ±ã®æ°ãããããå«ãŸããŠããŸãã æ¬¡ã®
Qè¡ã®ããããã«ã¯ã3ã€ã®æŽæ°
S i ã
F i ãããã³
B i ïŒ1â€S iâ€F
iâ€N ã1â€B iâ€10
18 ïŒãå«ãŸããŠããŸã-èŠæ±ã®éå§äœçœ®ãšçµäºäœçœ®ãããã³çµéåŸã®åæ°ãã³ãžãŒã¢ã¯ã·ã§ã³ã®å§ãŸãã
åºåãã¡ã€ã«åœ¢åŒ ã ã¯ãšãªããšã«1è¡ãQè¡ãå°å·ããŸãã åè¡ã«1ã€ã®æ°åãå°å·ããŸã-ãªã¯ãšã¹ããžã®åçã å
¥åã«è¡šç€ºãããé åºã§èŠæ±ã«å¿çããŸãã
äŸ
æšæº | æšæº |
10 3 1 1 1 1 10 100 10 10 11
| 1 100 2 |
1,000,000,000,000 2 1 1234 412412314 100000000000 999999999999 1000000000010 | 1234 900000000006 |
åé¡Dã®è§£æ±ºçãŸãããã¥ãŒããã©ã®ããã«äœçœ®ãç§»åããããçè§£ããå¿
èŠããããŸãã ããšãã°ã
N = 5ã®å ŽåãèããŸãã
æåã®5åéã§ãåäœçœ®ã«1ã€ã®ãã¥ãŒãã衚瀺ãããã¿ã¯ãŒã®é«ãã[1ã1ã1ã1ã1]ã«ãªããŸã§ããã¥ãŒãã¯äœçœ®çªå·1ããäœçœ®
NãŸã§1ã€ãã€ãã¯ãªãŒããããŸãã
6åç®ã«ãç«æ¹äœã¯4çªç®ã®äœçœ®ãã5çªç®ã«ç§»åããå·ŠåŽã®ç«æ¹äœã¯1ã€ã®äœçœ®ã«å³ã«ç§»åããäœçœ®çªå·1ã«æ°ããç«æ¹äœ[1ã1ã1ã1ã2]ã衚瀺ãããŸãã
7åç®ã«ããã¥ãŒãã¯ããããäœçœ®ïŒ3,2,1ïŒããäœçœ®ïŒ4,3,2ïŒã«ã®ã¿ç§»åããé«ãã¯[1ã1ã1ã2ã2]ã«ãªããŸãã
8åã§ããã¥ãŒãã¯äœçœ®1ã4ããç§»åããŸãïŒ[1ã1ã1ã2ã3]ã
ã·ãã¥ã¬ãŒã·ã§ã³ãç¶ãããšã以äžãåŸãããŸãã
- 9åïŒ[1ã1ã2ã2ã3]
- 10åïŒ[1ã1ã2ã3ã3]
- 11åïŒ[1ã1ã2ã3ã4]
ããã«4ååŸãå¡ã®é«ãã¯çãããªããŸã[1ã2ã3ã4ã5]ã ããã«5ååŸãé«ãã¯[2ã3ã4ã5ã6]ã«ãªããããã«5ã-[3ã4ã5ã6ã7]ã«ãªããŸãã
ãããã£ãŠã次ã®ãã¿ãŒã³ã«æ°ä»ãããšã¯é£ãããããŸããã
- æåã®Nåã§ã¯ãå¡ã®é«ãã¯[1ã...ã1ã0ã...ã0]ã§ãã
- ããã«ãå¡ã®é«ãã®åœ¢åŒã¯[1ã...ã1ã2ã3ã...ã x ]ããŸãã¯[1ã...ã1ã2ã3ã...ã k -1ã kã®ããããã§ã ã k ã k + 1ã...ã x ];
- åŸ
å¡ã®é«ãã®å§ãŸãããæ°ååŸã®åœ¢åŒã¯[1ã2ã3ã...ã N -1ã N ]ã§ãã - ãã®åŸã1ã€ã®ãµã€ã³ãããã¹ãŠã®ã¿ã¯ãŒã«è¿œå ãããŸãã
äžèšãèãããšãåèŠæ±ã«çããããã«ããŸãå¡ã®é«ãã®çš®é¡ãèšç®ããæ¬¡ã«æ°åã«é¢é£ããããã€ãã®ç°¡åãªæ°åŒãé©çšããå¿
èŠããããŸãã

ã¿ã¹ã¯E.æ°åŠããžãã¯
ã¿ã¹ã¯ãšã¬ã€ããŒã®äœè
ã¯ãªã¬ã°ã»ã¯ãªã¹ãã³ã³ã§ãå
¥åãã¡ã€ã«å ïŒstdin
åºåãã¡ã€ã«å ïŒstdout
å¶éæé ïŒ2ç§
ã¡ã¢ãªå¶é ïŒ512 MB
ãã€ãŠãŽã¡ã·ã£ã¯æ°åŠãªãªã³ãã¢ãŒãã®æºåãããŠããŸããããç ãã«èœã¡ãŸããã Vasyaã¯ã次ã®ããã«èšã£ãŠDavid Blaineã倢èŠãŸããã
ãä»ãæ°åŠã®éæ³ã瀺ããŸãã ãããèŠãŠãã ããïŒç§ã¯ããŒãäžã«1ãã倧ãã2
63ããå°ãã
Nåã®æ£ã®æŽæ°ãæžããŠããŸãã ãããã®çªå·ã®äžéšã¯ç¹°ãè¿ãããŸããå°ãªããšã1ã€ã¯ã·ãªãŒãºã®ä»ã®çªå·ãšåãã§ãã ãããã®äžã§ãããŒãäžã«ã1ãã倧ãã2
63ããå°ããäžé£ã®
K <
Næ£ã®æŽæ°ãæžã蟌ã¿ãŸãããããã®æŽæ°ã®ããã€ããç¹°ãè¿ãããŸãã äž¡æ¹ã®ã»ããã®æ°å€ãä¹ç®ããŸã... 2çªç®ã®ã»ããã®æ°å€ã®ç©ã¯ãæåã®ã»ããã®æ°å€ã®ç©ãããæ£ç¢ºã«1倧ãããªããŸãã
ãããŠä»ãäžæ®µã®æ°åã®ç¹°ãè¿ããããã€ãåé€ããŸããäžæ®µã«ããæ°åã®ã»ããã¯åããŸãŸã§ãããã·ãªãŒãºã®å°ãªããšã1ã€ã®èŠçŽ ãæ¶å»ããŸãã äžçªäžã®è¡ã§ãåãããšãç¹°ãè¿ããŸã...ç¹°ãè¿ããŸãããè¡ã®1ã€ã®æ°åãå®å
šã«ãªããªã£ãããã§ã¯ãªããäžéšã®æ°åãå°ãªããªã£ãŠããŸãã ç¹°ãè¿ããŸãããã»ãããä¹ç®ããŸã...ãããŠã2çªç®ã®ã»ããã®æ°å€ã®ç©ã¯ã1çªç®ã®ã»ããã®æ°å€ã®ç©ãããæ£ç¢ºã«1倧ããããšãããããŸãã ããžãã¯ïŒã
Vasyaã¯ç®ãèŠãŸãããã
NããèŠããŠããªãã£ã
ã 圌ãçŠç¹ãåãæ»ãã®ãå©ããŠãã ããã
å
¥åãã¡ã€ã«ã®åœ¢åŒ ã å
¥åãã¡ã€ã«ã®æåã®è¡ã«ã¯ãåäžã®æŽæ°
N ïŒ2â€Nâ€100ïŒãå«ãŸããŠããŸããããã¯ãDavid Blaineã«ãã£ãŠæåã«æžã蟌ãŸããã»ããå
ã®æ°åã®æ°ã§ãã
åºåãã¡ã€ã«åœ¢åŒ ã æåã®è¡ã§ã¯ãDavid Blaineãæåã«æžããã»ãããå°å·ããŸãã2çªç®ã®è¡-3çªç®ãš4çªç®ã®è¡ã®äžã«æžãããè¡-Davidã«ããåé€åŸã®ãããã®ã»ããã®ããªã¢ã³ãã åã»ããå
ã®æ°å€ã¯ãéé ã§äžŠã¹æ¿ããå¿
èŠãããã1ãã倧ããã2
63-1ãè¶
ããŠã¯ãªããŸããã
æ¡ä»¶ãšå¶éãæºããã»ããããªãå Žåã¯ã代ããã«ãImpossibleããšããåèªã1ã€åºåããŸãã ãã®ãããªã»ãããè€æ°ããå Žåã¯ããããã®ãããããå°å·ããŸãã
æšæº | æšæº |
2 | äžå¯èœ |
3 | 2 2 2 3 3 2 3 |
è§£æåé¡EN = 2ã®å Žåãè§£ã¯ãããŸããïŒ
K <
Nãªã®ã§ã1ã€ã®æ°å€ãäžéšã«æžã蟌ãŸããåæ°ãè¶ããããšã¯äžå¯èœã§ãïŒã
N = 3ã®å Žåãè§£ã¯8ã9ã2ã3ïŒ{222}ã{33}ã{2}ã{3}ïŒã§ããããã®è§£ãäžæã§ããããšã瀺ãããšãã§ããŸãã
N = 4ã®å Žåãè§£ã¯ãããŸããã 蚌æã¯åæã®æåŸã«äžããããŸãã
Nâ¥5ã®è§£ãæ§ç¯ããŸãã
N > 4ã®å Žåãæ°å€2ïŒ2
N -3 -1ïŒããã³2
N -1 ïŒ2
N -3 -1ïŒã
bããã³
aãšããŠäœ¿çš
ããŸãã
æããã«ããããã¯ç¹å®ã®2ã®æ°ãš2
N -3 -1ã®ç©ãšããŠè¡šãããšãã§ãã
aã¯
Nå åã®ç©ãšããŠè¡šããã
aã¯bã§é€ç®ãããŸãã
a +1ãš
b +1ã®æ¡ä»¶ããã§ãã¯ããŸãã
a + 1 =ïŒ2 N -2-2 ïŒ+ 1 = 2 N -2-1 ãããã³
b + 1 = 2 N -2 ïŒ2 N -2-2 ïŒ+ 1 =ïŒ2 N -2 ïŒ 2- 2 * 2 N -2 + 1 =ïŒ2 N -2-1 ïŒ 2 ãã€ãŸã
a + 1 =ïŒ b +1ïŒ 2ãšãªãããã
åé¡ã®æ¡ä»¶ãæºãã2ã€ãš1ã€ã®æ°åã®ã»ãããããããååŸããŸãã
5â€Nâ€65ã®å Žåããã®æ¹æ³ã§çæãããåçã¯èªåçã«é©åã§ãã
ããã«ãéå
q 1 ã...ã
q kã
N = kããã³
q k = r 1ã»r 2ã®åé¡ã®è§£ã§ããå Žåãéå
q 1 ã...ã q k-1 ã r 1 ã r 2ã¯ã
N = k + 1ã®åé¡ã®è§£æ±ºçã§ãïŒ
bã®å±éã®æ°å€
{ q k }ã¯ãæ°å€r 1ãšr 2ã®ç©ãšããŠåçŽã«è¡šã
ãŸãïŒã åæ§ã«ãå åã®1ã€ã2ã€ã®å°ããå åã®ç©ã«åè§£ãããšããã¢ ïŒ a +1ïŒ ã
ïŒ b +1ïŒãæ£ãããã¢ã«ãªããŸãã
ãããã£ãŠã
2 N -3-1ã
2 63-1ãè¶
ããªãä¿æ°ã«åè§£ãã
N + 1ãã
N + D-1ã®æ°ã®åãè§£ããåŸãããšããŸã
ãDã¯
2 Nã®çŽ æ°ã®æ°ã§ãã
-3-1 ã
N > 65ã®å Žåã§ãã
2 2 N -2-1ã
2 63-1ãè¶
ããªãä¿æ°ã«åè§£ããå¿
èŠããããŸãã
Nã®å°äœã0ã¢ãžã¥ã6ã®å Žåã
N -2ã¯2ã§é€ç®ããã
N -3ã¯3ã§é€ç®ãããããã
2 N -2-1ã¯
ïŒ2 ïŒ N -2ïŒ/ 2-1 ïŒïŒ2 ïŒ N -2ïŒ/ 2 + 1ïŒããã³
2 N -3-1- ïŒ2 ïŒ N -3ïŒ/ 3-1 ïŒïŒ2 ïŒ2 N -6ïŒ/ 3 + 2 ïŒ N -3ïŒ/ 3 + 1ïŒ ã Nâ€95ã®å Žåãäž¡æ¹ã®ä¿æ°ã
2 63-1ãè¶
ããªãããšãããããŸãã ãã®å Žåããã®åŸã®ãã¹ãŠã®åè§£ãåé¡ã®èŠä»¶ãæºãããŸãã
Nã®å°äœã5ã¢ãžã¥ã6ã®å Žåã
N -2ã¯
3ã§å²ãåãã
N -3㯠2ã§å²ãåããŸããåæ§ã®åè§£ã䜿çšããŸãã
ãããã£ãŠã
N = 63ïŒ2
60 -1ã¯å€æ°ã®èŠå ã«åè§£ãããå¿
èŠãããã
2 61 -1ã¯åé¡ã®èŠä»¶ãæºãããŸãïŒã§éå§ãã96ãè¶
ããªããã¹ãŠã®
Nãå埩åŠçãã6ã§å²ããš0ãŸãã¯5ã«ãªããŸãåã®æ®µèœã§èª¬æããæ¹æ³ã§ã®
2 N -3-1ã®æåã®å æ°åè§£ïŒãã®åŸãåèŠå <<ã¹ããã>>ã«å±éïŒãããã³ãã®æ¹æ³ã«åŸã£ãŠã
2 N -2-1ã
2ã€ã®èŠå ã«å æ°åè§£ããŸãã ããã«ãã»ãã
a + 1ã®å å
Kã®æ°ã¯4ã«çãããªãïŒæ°ã®2ä¹ã¯2ã€ã®æ°ã®ç©ã®2ä¹ã«ãªããŸãïŒãæ¡ä»¶
K <
NãæºããããŸããåæã®çµæã次ã®ããã«ãªããŸãã
- N = 63ã®å Žåã D = 13ã®ä¿æ°ãååŸããŸããã€ãŸãã64â€Nâ€75ã®çããçæããŸãã
- N = 71ã®å Žåã D = 7ã®å åãååŸãã72ãã77ãŸã§ã®Nã®åçãçæããŸãã
- N = 77ã®å Žåã D = 4ã®å åãåŸããã78ãã81ãŸã§ã®Nã«å¯ŸããåçãçæãããŸãã
- N = 78ã®å Žåã D = 7ã®å åãååŸãã79ãã84ãŸã§ã®Nã®åçãçæããŸãã
- N = 83ã®å Žåã D = 11ã®å åãååŸãã84ãã93ãŸã§ã®Nã®åçãçæããŸãã
- N = 90ã®å Žåã D = 6ã®å åãååŸãã Nã«å¯ŸããŠ91ãã95ãŸã§ã®åçãçæããŸãã
- N = 95ã§ã¯ã D = 9ã®å åãåŸããã96ã100ïŒæå€§104ãŸã§ïŒã®Nã®åçãçæãããŸãã
ãããã£ãŠãã¢ã«ãŽãªãºã ã¯ãã¹ãŠã®Nâ€100ã®è§£ãèŠã€ããŸãã
N = 4ã®è§£ã®äžå¯èœæ§ã®èšŒæ
N = 4ãªã®ã§ãåé¡ã®æ¡ä»¶ã«ããã
a + 1ã¯3ã€ä»¥äžã®èŠå ã«åè§£ãããŸãã äœããæ¶ãã«ã¯ãå°ãªããšã2ã€ãç¹°ãè¿ãå¿
èŠããããŸãã ãŸããåé¡ã®æ¡ä»¶ã«ããã
aã¯
bã§é€ç®ãããŸããã€ãŸãã
a = x b ã
x > 1ã§ãã
ãŸãã
a + 1ã®ãã¹ãŠã®ã»ãããªãã·ã§ã³ïŒããã³
b + 1ã®å¯Ÿå¿ããã»ããïŒãåæããŸãã
- u 2 ã ãu ;
- u 3 ã ãu ;
- uv 2 ã uv ;
- u 3 ã u 2 ã
ã±ãŒã¹3ã§ã¯ã
a + 1 = uv 2ã§ãã ãããã
b + 1 = uv ; x b + 1 = uv 2 ãæžç®
uv ïŒ v -1ïŒ= b ïŒ x -1ïŒ ã
uvãš
bã¯äºãã«çŽ ã§ããããã
v -1ã¯
bã§å²ãåããŸããv
> 1ã®å Žåã
v -1 = y bâ¥b nobr>ãvâ¥b
+ 1ã§ãã
u > 1
ãªã®ã§ ã
uv > vâ¥b +ã§ãã è«äºã
ãã®åŒæ°ã§ã¯
uvã¯äœ¿çšãããªãã£ããããã±ãŒã¹
a + 1 = u 3ããã³
b + 1 = u 2ãèªåçã«èæ
®ãããŸãã
ã±ãŒã¹1ïŒ
u 2 ã
ãu ïŒããã³2ïŒ
u 3 ã
ãu ïŒ
ã¯æ®ããŸãã ãããã«ã€ããŠã¯ãaã®4ã€ã®å åã®ã»ãããš
bã®å¯Ÿå¿ããã»ããã®ãªãã·ã§ã³ãæ€èšããŸãã
I.
a =
x 2 y z ã
b =
x y z ;
IIã
a =
x 2 y 2 ã
b =
x y 2 ;
IIIã
a =
x 3 y ã
b =
x 2 y ;
IVã
a =
x 4 ã
b =
x 3 ;
V. a =
x 2 y 2 ã
b =
x y ;
VIã
a =
x 4 ã
b =
x 2 ;
VIIã
a =
x 3 y ã
b =
x y ;
Viiiã
a =
x 4 ã
b =
x ã
ãªãã·ã§ã³IIããIVã¯ããªãã·ã§ã³Iãããããã
z =
y ã
z =
x ãããã³
z = y = xã代å
¥ããããšã«ããååŸãããŸãã åæ§ã«ããªãã·ã§ã³VIã¯ãªãã·ã§ã³Vã®ç¹æ®ãªã±ãŒã¹ã§ãã
ãªãã·ã§ã³Iã§ ã
y zã
tã«çœ®ãæã
ãŸã ã
1.x 2 t + 1 =
v 2 ã
x t + 1 =
v ãwhence
x 2 t + 1 =
x 2 t 2 + 2
x t +1ããã¹ãŠã®é
ãæ£ã§ããã
x 2 t 2 >
x 2 t ïŒ
t > 1ã§ããããïŒãå³åŽãå·ŠåŽãã倧ãããªããŸãã
2.x 2 t + 1 = v
3 ã
x t + 1 =
v ã åæ§ã®æ¬åŒ§ã®çœ®æãšæ¡åŒµã«ããã
x 2 t = x ^ 3 t 3 + 3 x 2 t 2 + 3 x tãååŸããŸãããã¹ãŠã®é
ã¯æ£ã§ã
x 2 t <
x 3 t 3ã§ãã
ãªãã·ã§ã³V1.x 2 y 2 + 1 = v
2 ã æŽæ°
x ã
y ã
v > 1ã®å Žåãããã«ã¯çºçããŸããã
2.x 2 y 2 + 1 = v
3 ã
x y + 1 =
v ã ãããã眮ãæããŠåæžãããšãåèš
ïŒ x y ïŒ 3 + 2ïŒ x y ïŒ 2 + 3 x yã¯0ã«ãªããŸããããã¯
x ã
y > 1ã§ã¯äžå¯èœã§ãã
ãªãã·ã§ã³VII1.x 3 y + 1 = v
2 ã
x y + 1 = vã
x 3 y + 1 = x 2 y 2 + 2 x y + 1 ãæ¬¡ã«
x y ïŒ x 2 - x y ïŒ= 2ãšããŠæžãæããã 2ã
x yã§é€ç®ããã
x > 1ããã³
y > 1ã®å Žåã¯é€ç®ã§ããªãããšãããããŸãã
2.x 3 y + 1 = v
3 ã
x y + 1 =
v ã 代ããã«ã
x 3 y = x 3 y 3 + ... ïŒãããã¯æããã«æ£ã®æ°ã瀺ããŸãïŒãååŸã
ãŸããããã¯
y > 1ã§ã¯äžå¯èœã§ãã
ãªãã·ã§ã³VIIIx 4 + 1ã
x + 1ã§é€ç®ããŸãããã ãã
x 4 + 1 =ïŒ x + 1ïŒïŒ x -1ïŒïŒ x 2 + 1ïŒ+ 2 ãã€ãŸã2ã
x + 1ã§é€ç®ããŸããããã¯ççŸããŠããŸã
x > 1ã«ãªãããã«ã
ãã¹ãŠã®ã±ãŒã¹ã調ã¹ãŸããããã©ãã§ãççŸãçããŸãããã€ãŸãã
N = 4ã®å Žåã解決çã¯ãããŸããã
åé¡F.ã«ãã®ã·ããŠããšã¹ãã©ã€ã
ã¿ã¹ã¯ãšè«æã®èè
ã¯rng58ïŒå¯å³¶çïŒå
¥åãã¡ã€ã«å ïŒstdin
åºåãã¡ã€ã«å ïŒstdout
å¶éæé ïŒ2ç§
ã¡ã¢ãªå¶é ïŒ512 MB
ãããã·ããŠãã¯10
18åã®ã¹ããªãããæã¡ã0ã10
18-1ã®é£ç¶ããæŽæ°ã§çªå·ãä»ããããŠããŸããæé0ã§ã¯ãçªå·
5â
10 17ã®ã¹ãã©ã€ãã®ã¿
ãé»ã§ãæ®ãã¯çœã§ãã æé t ïŒ t > 0ïŒã§ãã¹ãã©ã€ã
ã®è²ã¯æ¬¡ã®ã«ãŒã«ãæºãããŸãã
- æét -1ã®xçªç®ã®ã¹ããªãããé»ã®å Žåãæétã§é»ã«ãªããŸãã
- æét -1ã§ãxçªç®ã®ã¹ããªããããD以äžã®è·é¢ã«ãããã¹ãŠã®ã¹ããªãããçœã§ããå ŽåïŒèšãæããã°ã10 18æªæºã®éè² ã®æŽæ°ãã¹ãŠã«ã€ããŠãäžçåŒ| x -y |â€Dãæºããå Žåãæét -1 ã® yçªç®ã®ã¹ããªããã¯çœïŒãæétã§ xçªç®ã®ã¹ããªããã
çœã - ãã以å€ã®å Žåãæétã§ã®xçªç®ã®ã¹ããªããã®è²ã¯ä»»æã«éžæãããŸãã
æé
tã§ã®10
9 + 7ãæ³ãšããã·ããŠãã®å¯èœãªç°ãªãè²ã®æ°ãèšç®ããŸãã å°ãªããšã1ã€ã®ã¹ããªããã®è²ãç°ãªãå Žåã2ã€ã®ã·ããŠãã®çè²ããŒãžã¯ç°ãªããšèŠãªãããŸãã
å
¥åãã¡ã€ã«ã®åœ¢åŒ ã å
¥åã®æåã§å¯äžã®è¡ã«ã¯ãã¹ããŒã¹ã§åºåããã2ã€ã®æŽæ°
tãšDïŒ1â€tâ€10 9ã1â€Dâ€50ïŒãå«ãŸããŠããŸãã
åºåãã¡ã€ã«åœ¢åŒ ã åäžã®æŽæ°-æé
tã§å¯èœãªè²ã®æ°ã10
9 + 7ã§å²ã£ãäœã
äŸã¿ã¹ã¯Fã®åæå¯Ÿç§°æ§ã®èæ
®ãããã·ããŠãã®è²ã®æ°ã¯ãã®å³ååã®è²ã®æ°ã®2ä¹ã§ããããšã¯æããã§ãã ãããã£ãŠãã·ããŠãã®å³ååã®ã¿ãæ€èšããŸãã åçŽåããããã«ãã¹ããªããã®çªå·ã次ã®ããã«å€æŽããŸã
ã500,000,000,000,000,000,000+xth xthãšããŠçªå·ãä»ããŸãã
: ,
t , . :
0,
A .
:
- , .
- x â .
- d (0 < d †D ) , ( x + d )- . d , .
- d A ( x + d )- .
.
,
t A .
f (
a 1 ,
a 2 ,...,
a k ) â ,
A ={
a 1 ,
a 2 ,...,
a k }.
{
a 1 ,
a 2 ,...,
a k } , :
- 0-, a 1 -, ( a 1 + a 2 )- â .
- i ( a 1 +...+a i +1)- ( a 1 +...+a i -1 + D )- .
f (
a 1 ,
a 2 ,...,
a k ) = 2
a 1 -1 + a 1 + a 2 -D-1 + a 2 + a 3 - D -1 +... .
,
f ( a 1 , a 2 ,..., a k ) ( k †T ).dp [
t ][
a ] (
t †T, a †D ) â
f (
a 1 ,
a 2 ,..., a
t-1 , a).
:

1 +
dp [1][
D ] +⊠+
dp [
T ][
D ],
O(TD) .
, .
v t â
( dp [ t ][0],âŠ, dp [ t ][ D ]) . ,
v t+1 =
v t ·
A t (
A â
( D +1) Ã ( D +1)).v 0 â
( A + A 2 +⊠+ A T ) , .
â O(
D 3 â
log T ).

. ACM ICPC 2013 (Niyaz Nigmatullin) (mikhailOK), Facebook Hacker Cup, Google Code Jam . 2011, (Petr), - VK Cup 2012 (s-quark) .
, , , , , , . â Google, «» Facebook.