AtCoderã§èµ¤ã¿ããããã®ããã1.5å¹´ãåã§ããæ¸ãã¾ããè¦ãã¦ããªããã¨ã»æãã»æ¼ããªã©ã®ãªã³ãã¬ã¼ãã§ããã容赦ãã ããã
ãåã¯èª°
kobae964 - AtCoderã§ãã2017å¹´11æã«åãã¦AtCoderã§redã«ãªãã¾ããã
RedCoderã«ãªãã¾ããï¼ï¼ï¼ï¼ pic.twitter.com/PcRWWu32qS
— koba (@kobae964) 2017å¹´11æ11æ¥
ãªãã§ä»æ´ããæ¸ããã®
å½æã¯é¢åã ã£ãã®ã§æ¸ãã¾ããã§ããããã®å¾äººã
ãå¤è²æã«è¨äºãæ¸ãã¦ããããã«ãªããè¦ãããè¨äºã¯å¤§ä½å
¨é¨èªãã§ãã¾ããã
å¾®ç¬ã¾ããã¨æã£ããã®ã®AtCoderã®èµ¤ã§ããããã£ã人ãè¦ããã¨ããªãã£ãã®ã§ããã£ãããªã®ã§æ¸ããã¨æãã¾ããããã§ã«èª°ãæ¸ãã¦ãããããããªããã
注æäºé
çè ã¯AGCãããARCã®æ¹ãå¾æãªãããAGCã§ã®ç«ã¡åãã¯å¼·ã人ã«èãã¦ãã ããã
赤ã«ãªãã¾ã§ã«ãã£ããã¨
åé¡ã解ãã
2000åããã解ãã¾ããã
Solved By koba2adc
— koba (@kobae964) 2017å¹´10æ17æ¥
TopCoder: 35
CodeForces: 340
AtCoder: 903
AOJ: 42
yukicoder: 502
Sum: 1822
https://t.co/96COi9xbRO
使ã£ãç¥èã»ã¡ã¿å ¸å
赤ã¿ãããããªã è»æ¬ + 赤ã®äººãªãã»ã¨ãã©ãç¥ã£ã¦ããç¥èã®åå ããããå¿
è¦ã«ãªãã¨æãã¾ãã
以ä¸ã§ã¯è»æ¬ä¸ç´ç·¨ä»¥ä¸ã®ã¬ãã«ã®å
容ãåæãã¦ããã¾ããåæã®æ¼ãã¯100%確å®ã«ããã¾ãã
使ããç¥è (ãããåãããã30å以å ã«ããã)
- mod 2è¡åç³» (ãã¾ãç·å½¢ä»£æ°ããªã«ãã«è½ã¨ãè¾¼ããä¸ææç¡éã«åºé¡ããã¦ãã問題例, 問題例)
- ã²ã¼ã (grundy)
- ã°ã©ããã¹ã¿ã¼ã¸ã®é (SCC, 2-SAT, LCA)
- マージテク
- æååç³» (ãã¼ãªã³ã°ããã·ã¥, suffix array, manacher)
- ä¸å¯§ã»é«éãªå¼å¤å½¢
- 代æ°ã«ã¤ãã¦ã®ç¥è
- æ°è«ç³»ã¢ã«ã´ãªãºã ã«ã¤ãã¦ã®ç¥è
ç¥ã£ã¦ããã使ãããªããªãã£ãç¥è (ãããåãããã1æé以ä¸ããã)
- å é¤åç (2^nç³»å é¤, ç´æ°ç³»å é¤, Zeta/Hadamardå¤æå ¨è¬, ããªã¢ã®æ°ãä¸ãå®ç)
- è¡åç´¯ä¹ (é·ç§»ãè¡åã«ã¨ã³ã³ã¼ãããã®ãè¦æã ã£ã)
- ã¹ã©ã¤ãæå°å¤
- åºéã¹ã±ã¸ã¥ã¼ãªã³ã°
- å¿ç¨ (問題例) ã¨ãã¯é£ãã
- Convex Hull Trick
- åå²çµ±æ²»
- è¤éãªDP
- å®å®¶DP (é åãã»ã°ã¡ã³ãæ¨ã§ç®¡çãã¦ãä¸ç¹æ´æ°/åºéåãªã©ã«é«éã«å¯¾å¿ãã)
- ç´¯ç©åãåããªããDP (ä»ã®AtCoderã§ã¯çµæ§è¦ã)
- æ¿å ¥DP
- æ¡DP
- K種é¡ã®ç©ãé çªã«åãã¦ããæã«indexãæå¾ã«åããç©ä»¥å¤ã®(K-1)åã§ããã㤠(問題例)
- â¦åæãã¦ãã£ããããªããªããªãã
- æ大é·æ¹å½¢ (stackã使ããã¤)
- ãã³ããã¿ã³è·é¢ã¯åã (問題例)
- å°ããå ´åã«æ許ã§brute forceãã¦åæ
- Primæ³ (ã¯?)
- 誤èªãã¦æéã溶ãããªã
- å¤ãªæ¹éãæãã¤ããå ´åã«ãå¤ã§ãããã¨ã«ç´ æ©ãæ°ä»ã
- å¤ãªè²ªæ¬²ã«çªã£èµ°ããªã
ç¥ããªãã£ããã©å¾ã§å¿ è¦ã«ãªã£ãç¥è
- éåãã¯ã©ã¹ã¿ã«åããO(3^n)ç³»DP (O(3^n)æéãO(2^n)空éã§ãdp[S] <- dp[T] * sub[S - T]ã¿ããã«ãããã¤)
- æ§ç¯ã®æç
- 2ãã
- å¿ è¦æ¡ä»¶ãåæãã¦å¯è½æ§ãçµããã¯ããã¯
- å¿ è¦æ¡ä»¶ãéããããã¤ã®ã¾ã«ãååæ¡ä»¶ã«ãªã£ã¦ã¾ããç³»ã®èå¯
- è¨ç®éå¨ãã®ãã¯ããã¯
- æ¨ã«ã¤ãã¦ã®ã㯠(éå¿å解, HLå解)
- MSTã«ã¤ãã¦ã®æ§è³ª(ãããã¤ãæ§ã貪欲ãå¹ããã¨ãªã©ã問題例)
- MSTã®ã¢ã«ã´ãªãºã (Boruvkaæ³ãVoronoiå³ãä½ãæ¹æ³)
使ããªãã£ãç¥è
- æåãå ¨æ¢ç´¢
- å¹¾ä½
- é£ãããã¼ã¿æ§é (AtCoder以å¤ã§ã¯ä½¿ã£ã)
- é 延ã»ã°ã¡ã³ãæ¨
- Sparse table
- 平衡äºåæ¨
- å¹³æ¹åå²
ã¾ã¨ã
赤ãç®æãã«ã¯
- ç¥èãå¢ãã (æ±ç¨æ§ã®é«ãæ¹æ³ã§è¦ãã¦ããã¨ãã)
- ãªãã¨ãªãã®èå¯ (第ä¸æ) ã®æ£ç¢ºæ§ãä¸ãã (ä¸çºã§æ£ããçãã«ãã©ãçãã確çãä¸ãã)
- å解æ³ã«ã¤ãã¦ã®å è¦ãéããã
- å¼å¤å½¢ãé«éã«ãæ£ç¢ºã«è¡ã
- ç¥ããªããã¨ã§ãå®é¨ãã¦èãã
ã¨ããå¿ è¦ã«ãªãæ°ããã¾ãã*1 ãããã¾ã赤ããè½ã¡ãã¨æãã®ã§ãããªã£ããããã®éãã«ã¾ãé å¼µãã¾ãã
ããã¾ã§èªãã§ãã ãããããã¨ããããã¾ããã
赤ã«ãªã£ã¦å¾ããããã® (è¿½è¨ 2019/7/1)
å¼·ã人ã¨ç¥ãåãã«ãªãã確çãã°ãã¨é«ã¾ã
赤ã«ãªããã¨ã«éå®ãããå¼·ããªããã¨ã«ããã¡ãªããã¨ãã¦ãããããããã¤ãã®å¢ãã¨å¼ã°ãããå½å
ãªã³ãµã¤ãã³ã³ãã¹ã常é£ã®äººãã¡ã«ã¤ãã¦ã®è©±ãããªã訳ã«ã¯ãããªãã§ãããã
赤ã«ãªã£ãå¹´ã®ç¿å¹´ãå
¥ç¤¾ããä¼ç¤¾ã§å¼·ã人ã¨ç¥ãåããããããã£ããã¨ãªããã¤ãã®å¢ã®äººã
ã¨ç¥ãåãã«ãªãã¾ããããã¤ãã®å¢ã®è¼ªã«å
¥ãã¦ããã¨ã¯æãã¾ããããå°ãªãã¨ã観測ã§ããããã«ã¯ãªã£ãã¨è¨ã£ã¦ããã§ããå½¼ãã®ç«¶ããã«å¯¾ããèãæ¹ã¯ãé常ã«åèã«ãªãã¾ããã¹ãã¤ãã¯ã«ç²¾é²ããã人ã«ã¯ããç°å¢ã ã¨æãã¾ãã
OpenCupã«åºå ´ã§ãã確çãé«ã¾ã
ãããã³ããå¢ãããã¨ã«ãã帰çµã§ãã
OpenCupã«ã¤ãã¦ãchokudaiãããªã©ãè¨åãã¦ããã®ããã¾ã«ç®ã«ãã人ãããããããã¾ãããOpenCupã¨ããã®ã¯ãããæéæ¥æåå¾ã« (ä¸å®æã«) è¡ãããã5æéãã¼ã æ¦å
輪ã³ã³ãã¹ãã§ãã*2 ããã社ã«ããå¼·ã人ã«æãã¦ãããã幸éã«ãçµãã§ããã ãã人ãè¦ã¤ãããã¨ãã§ãã¾ãããç²¾é²ããã人ã«ã¯ãªã¹ã¹ã¡ã§ãã
ARCãunratedã«ãªã
ARCã¿ãããªé¢ç½ãã³ã³ãã¹ãã«unratedã§åºã¦æ°æ¦æ³ã試ããã¨ãã§ããã®ã¯ã¡ãªããã ã¨æãã¾ããå¤åtouriståºãã®ç·´ç¿ããã人絶対ããã¨æãã¾ãã
Q. ã¦ã¼ã¶ã«ãã£ã¦ã¯ä¸åº¦ã«éãå¤æ´ã§ããå ´åãããããã§ããããªãç§ã¯åºæ¥ãªãã®ã§ããããï¼
å æ¥ã¦ã¼ã¶åãä¸åº¦ã ãå¤æ´ã§ããæ©è½ãå®è£ ããã¾ããããæ大ã¬ã¼ãã2800以ä¸ã®ã¦ã¼ã¶ã¯ã¦ã¼ã¶åã®å¤æ´ãã§ãã¾ãããè
ã¢ããã¼ã·ã§ã³ç¶æã®æ¹æ³ (è¿½è¨ 2019/7/1)
ãã©ã³ã¯æéã®é·ãã«ããã«ãã£ãã¤ãã
èªåã®å¿ã®ä¸ã®ã¬ã¼ã := æ¬æ¥ã®ã¬ã¼ã - 100 / 1ã¶æ * ãã©ã³ã¯æé ãããã«ããã¨ãratedãé¿ããã¢ããããªããªã£ã¦ããã£ãã
ããã¯AtCoderåºæã®äºæ
ã§ãããããç¨åº¦ã®åå åæ°ã«ãªãã¨1åã®å¤§å¤±æã§ä¸ããããã¬ã¼ãã®ä¸éã121 (= -800 * log_2(0.9)) ã«ãªãã¾ããã¤ã¾ã36æ¥ratedã«åºãªãã¨ããä½ãã£ã¦ãæªããªãã¾ãããç¡æµã ãª!
ãã¨ã (ããããä¸ã¯èªãå¿ è¦ãªã) (è¿½è¨ 2019/7/1)
ç§ã¯é«æ ¡æ代ãæ°å¦ãªãªã³ããã¯ã«åºã¦ãã¾ããããããã«ä½ãç²¾é²ããªãã¦æ¬æ¦ (äºé¸ã®æ¬¡ã«ãã2çªç®ã®ãã¤) æ¢ã¾ãã§ãæ¥å宿åºå ´è
ãIMOåºå ´è
ã«å¯¾ãã¦ç¾¨æã«è¿ãæ§ããæ±ãã¦ãã¾ããããããªç§ããé«æ ¡æ代ããç¥ã£ã¦ã¯ãããã®ã®æãåºããã«ãã競æããã°ã©ãã³ã°ã«æãåºããã®ã大å¦1å¹´ã®æã§ããå½æã¯TopCoder *3 ãã¾ã çãã§ãåå ãã¦ç·è½ã¡ãã¦ã¯åããé»è²ã«ææ ¼ãã¦ã¯çåä¹±èããã¨ããã®ããã£ã¦ãã¾ãããããããå½æã¯UnionFindãbitDPããã¾ã¨ãã«æ¸ããªãã£ãã¨æãã¾ããã¬ããã³ã¼ãã¼ãã¡ã«ã¤ãã¦ã¯ãå°æ¬ã®å¿µããã£ã¦è¦ã¦ãããèªåããªããã¨ã¯å¤¢ã«ãæã£ã¦ãã¾ããã§ããã
転æ©ã¨å¼ã¹ããã®ããã¤ãã£ãããæ£ç¢ºã«ã¯æãåºãã¾ãããã大å¦3å¹´ãããã®æã ã¨æãã¾ããæ¼ç¿ã§ç«¶ããã¿ãããªå
容ã®ãã®ãããã競ããã®é¢ç½ãã«ç®è¦ãã¾ããããã®ã¨ãã¯yukicoderããããåãã¾ãã£ã¦å
¸åãè¦ãã¦ãã£ãã¨æãã¾ãã
æ¬æ ¼çã«åãçµã¿å§ããã®ã¯é¢çã«ãªã£ã¦ããã ã¨æãã¾ããç 究ãã£ã¡ã®ã㧠(ã¯?) 競ããã«æã¡è¾¼ã¿ãM1ã®11æã«ãªã¬ã³ã¸ã«ãªãã¾ãããããããã¯ããä¸å±¤ã®ããè¾¼ã¿ãåéã¨ã®é£äºã®æéãèå¯ã«æãæ®ããå§æ«ã§ (ã¯?)ãratedã®ãã³ã«2800以ä¸ã®ããã©ã¼ãã³ã¹ãåã£ã¦ã¯èµ¤ããã©ã ã¨åã³ã2400以ä¸ã®ããã©ã¼ãã³ã¹ãåã£ã¦ã¯è½ã¡è¾¼ã¿ãã¨ããç¹°ãè¿ãããã¾ããã
éä¸ããARCã§ããã©ã¼ãã³ã¹3200ãåããããã«ãªã£ã¦ããã®ã§ããã®ã¾ã¾ç¶ãã¦ããã°ãããã¯èµ¤ã«ãªãããã¨å¾ã
ã«ç¢ºä¿¡ã§ããããã«ãªãã¾ãããããå®éã«ãªããã¨ãã®åã³ã¯ã²ã¨ããã§ãããé«æ ¡æ代æ§ãã®çã§ãããªãã£ãå½éç§å¦ãªãªã³ããã¯åºå ´è
ã«ä¸æ©ã ãè¿ã¥ããã®ã ã¨ããæãã湧ãã¾ããã
ãã®å (è¿½è¨ 2019/7/1)
誰ãå¼·ããªãæ¹æ³ãæãã¦ãã ãã m(_ _)m
*1:誰ãã赤ã«ãªãæ¹æ³ãã¿ãããªè¨äºãæ¸ãããããªãããã«è¦ããã®ã¯ãããããæ å ±éã¼ãã®å 容ãããªãããã§ã¯ãã¨æã£ã¦ãã¾ãã
*2:å 輪ãªã®ã§åå ããã®ã¯ã¡ãã£ã¨é¢åã§ã
*3:ä»ã¯è¡¨è¨ãTopcoderã«ãªã£ã¦ãã¾ããã2012å¹´é ã¯TopCoderã ã£ãã¨æãã¾ã