ã¢ã«ã´ãªãºã å®ææ¤å® å ¬å¼ããã¹ãï¼»ä¸ç´ï¼½ï½ï¼»ã¨ãã¹ãã¼ã]編
3,938å (3,580å+ç¨)
é¢é£ãµã¤ã
æ¬æ¸ã®é¢é£ãã¼ã¸ãç¨æããã¦ãã¾ãã
å 容紹ä»
ä¸çæé«å³°ã®ç«¶æããã°ã©ãã³ã°ã³ã³ãã¹ããµã¤ãã®AtCoderã主å¬ããã¢ã«ã´ãªãºã å®ææ¤å®è©¦é¨ãPASTãã®å ¬å¼å¯¾çæ¬ï¼
ã»è©¦é¨åé¡ã«ç²¾éããèè
é£ã«ãã解説
ã»æå¼·æéãç®æãããã°ã©ãã¼ã»ã¨ã³ã¸ãã¢å¿
æº
â ã¢ã«ã´ãªãºã å®ææ¤å®ï¼PASTï¼ã¨ã¯
AtCoderæ ªå¼ä¼ç¤¾ã主å¬ããæ¤å®è©¦é¨ã§ãIT人æã«æ±ããããããã°ã©ãã³ã°ã¹ãã«ãå¯è¦åãããã¨ãç®çã¨ãã¦ãã¾ããããã°ã©ãã³ã°ã®åºç¤ç¥èãããå種ã¢ã«ã´ãªãºã ã®è§£èª¬ãæ°å¦çãªåé¡è§£æ±ºæ¹æ³ã¾ã§ã試é¨å¯¾çãè¡ããã¨ã§ããããã®ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã«è¦æ±ãããç¥èãè¦ã«ã¤ãããã¨ãã§ãã¾ãã
â PASTã®ä¸ç´ï½ã¨ãã¹ãã¼ãèªå®ã¾ã§å¯¾å¿
ãã¾ãã¾ãªã¢ããã¼ããèããããã¢ã«ã´ãªãºã å®ææ¤å®ã®åé¡ã«ããã¦ãããé©åãªã¢ã«ã´ãªãºã ãé¸æããé«éãªããã°ã©ã ãä½æã§ãããã¨ãç®æãã¾ãã
ã»çºå±çãªã¢ã«ã´ãªãºã ããã¼ã¿æ§é ã解説
ã»éå»åã使ã£ãå®è·µçãªãã¬ã¼ãã³ã°
ã»Pythonã«ãããµã³ãã«ã³ã¼ã
è¤æ°ã®ã¢ã«ã´ãªãºã ãç¨ãã解æ³ã身ã«ã¤ããä¸ç´ããã¨ãã¹ãã¼ããåæ ¼ã®ç¹æ°ãåã¡åããï¼
æ¸èªæ å ±
- èè : å¤§æ§»å ¼è³, ææ±ç¥å, ä¸æè¬å¼(è), AtCoderæ ªå¼ä¼ç¤¾ é«æ© ç´å¤§(ç£ä¿®)
- çºè¡æ¥: 2023-03-27
- æçµæ´æ°æ¥: 2023-03-27
- ãã¼ã¸ã§ã³: 1.0.0
- ãã¼ã¸æ°: 400ãã¼ã¸(PDFçæç®)
- 対å¿ãã©ã¼ããã: PDF
- åºç社: ãã¤ããåºç
対象èªè
èè ã«ã¤ãã¦
å¤§æ§»å ¼è³
1988å¹´çã¾ãã2014å¹´æ±äº¬å¤§å¦å¤§å¦é¢æ å ±çå·¥å¦ç³»ç 究ç§ä¿®å£«èª²ç¨ä¿®äºã修士ï¼æ å ±çå·¥å¦ï¼ãç¾å¨ãæ ªå¼ä¼ç¤¾ NTTãã¼ã¿æ°çã·ã¹ãã 顧åãã¢ãã°ãµæ ªå¼ä¼ç¤¾ã³ã³ãã³ãã¢ã¼ããã¯ããæ°å¦ãæ å ±ç§å¦ã®è«¸åéã®åèæ´»åã«å¾äºãèæ¸ã«ãåé¡è§£æ±ºåãéãã!ã¢ã«ã´ãªãºã ã¨ãã¼ã¿æ§é ãè¬è«ç¤¾ (2020) ãããã趣å³ã¯ç«¶æããã°ã©ãã³ã°ãè«é£ç®ä½ããå½å æ è¡ãªã©ã
ææ±ç¥å
20æ³ã®ã¨ãã«ç«¶æããã°ã©ãã³ã°ã«åºä¼ãã以étsutajã¨ããã¦ã¼ã¶ã¼åã§AtCoderçã®ã³ã³ãã¹ãã«åå ãåæµ·é大å¦ç«¶æããã°ã©ãã³ã°ãµã¼ã¯ã«æå±æãã¢ã«ã´ãªãºã ããã¼ã¿æ§é ã«é¢ããåå¼·ä¼è³æã®å ¬éããªãªã¸ãã«åé¡ã®åºé¡ã»ããã°ã©ãã³ã°å宿ã®éå¬ãªã©ç²¾åçã«æ´»åãããç¾å¨ã¯ã¢ãã°ãµæ ªå¼ä¼ç¤¾ã§ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã¨ãã¦å¾äºããä¸æ¹ã競æããã°ã©ãã³ã°ã®ä½åæ¯æ´ãã¼ã«ã®éçºãè¡ã£ã¦ããã
ä¸æè¬å¼
ãã¼ãã®æã«ç«¶æããã°ã©ãã³ã°ã«åºä¼ããAtCoderã§ããã°ã©ãã³ã°ãå¦ã¶ãã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã¨ãã¦å½å å¤ã®ä¼æ¥ã«å¤åããåããkenkooooã¨ããã¦ã¼ã¶ã¼åã§AtCoderçã®ã³ã³ãã¹ãã«åå ãã¦ããã好ããªããã°ã©ãã³ã°è¨èªã¯Rustã
AtCoderæ ªå¼ä¼ç¤¾ é«æ© ç´å¤§
1988å¹´çã¾ããæ ¶æ義塾大å¦å¤§å¦é¢æ¿çã¡ãã£ã¢ç 究ç§ä¿®å£«èª²ç¨ä¿®äºãç¾å¨ãAtCoderæ ªå¼ä¼ç¤¾ä»£è¡¨åç· å½¹ç¤¾é·ãMicrosoft主å¬ã®Imagine Cupã§ä¸ç3ä½ãTopCoder Openã§ä¸ç2ä½ã2022å¹´ã«ã¯Google Hash Codeã§åªåãªã©ãè¤æ°ã®ä¸ç大ä¼ã§ä¸ä½å ¥è³ãçµé¨ãã15年以ä¸ããã°ã©ãã³ã°ã³ã³ãã¹ãã«åå ãç¶ãã¦ããã
ç®æ¬¡
åºç« ã¢ã«ã´ãªãºã å®ææ¤å®ã¨æ¬æ¸ã®æ§æã«ã¤ãã¦
- 0.1ã試é¨è¦é
- 0.2ãæ¬æ¸ã§ä½¿ç¨ããããã°ã©ãã³ã°è¨èªâ Python â ã«ã¤ãã¦
- 0.3ãæ¬æ¸ã®æ§æ
ï¼»ä¸ç´ç·¨ï¼½
第1ç« äºåæ¢ç´¢ çºå±
- 1.1ãäºåæ¢ç´¢ãé©ç¨ã§ããåé¡
- 1.2ãæå°å¤ã®æ大åï¼æ大å¤ã®æå°åï¼
- 1.3ãå¹³åå¤æ大åã»ä¸å¤®å¤ã®æ大å
- 1.4ãã¾ã¨ã
第2ç« åçè¨ç»æ³ çºå±
- 2.1ãåçè¨ç»æ³ã®å¾©ç¿ï¼ããããµãã¯åé¡ï¼
- 2.2ãååã®æ å ±ãæã¡ãªããé²ãã¦ããåçè¨ç»æ³
- 2.3ããã¾ãã¾ãªãé¨ååé¡ã¸ã®åãæ¹ãã®åçè¨ç»æ³
- 2.4ãåçè¨ç»æ³ã®é«éåã®ããã®ãã¯ããã¯
- 2.5ãæ¨ä¸ã®åçè¨ç»æ³
- 2.6ããã®ä»ã®åçè¨ç»æ³
第3ç« é »åºãã¯ããã¯
- 3.1ãå¤æ°ãåºå®ãã¦èããã
- 3.2ãå°ºåãæ³
- 3.3ãåå´è¨ç®éï¼ãªããè¨ç®éï¼
- 3.4ãç« æ«é¡é¡
第4ç« é »åºãã¼ã¿æ§é ã»ã¢ã«ã´ãªãºã
- 4.1ãã°ã©ãçè«ã®ç¨èªã«ã¤ãã¦
- 4.2ãUnionFindï¼ç´ éåãã¼ã¿æ§é ï¼
- 4.3ãæå°å ±éç¥å ï¼Lowest Common Ancestorï¼
- 4.4ãç« æ«é¡é¡
第5ç« ãããã¯ã¼ã¯ããã¼
- 5.1ãæ大æµåé¡
- 5.2ãæå°è²»ç¨æµåé¡
第6ç« ã»ã°ã¡ã³ãæ¨
- 6.1ãã»ã°ã¡ã³ãæ¨ï¼Segment Treeï¼
- 6.2ãé 延è©ä¾¡ã»ã°ã¡ã³ãæ¨ï¼Lazy Segment Treeï¼
- 6.3ãç« æ«é¡é¡
ï¼»ã¨ãã¹ãã¼ã編]
第7ç« ã»ã°ã¡ã³ãæ¨ä¸ã®åçè¨ç»æ³
- 7.1ãåé¡
- 7.2ãã¾ã¨ã
- 7.3ãç« æ«é¡é¡
第8ç« å¹³é¢èµ°æ»
- 8.1ãåé¡
- 8.2ãã¾ã¨ã
- 8.3ãç« æ«é¡é¡
第9ç« é£åã«ãã£ã¬ã³ã¸ï¼
- 9.1ãåé¡