0. ã¯ããã«
ããã®ç¶ãã§ãïŒïŒïŒ
äžçŽç·šããèªãæ¹ãž
è¿å¹ŽãAtCoder ãäžå¿ãšããç«¶æããã°ã©ãã³ã°ïŒç«¶ããïŒã®ååšæãæ¥ã«æ¥ã«é«ãŸã£ãŠããŠããŸããè¿å¹Žã§ã¯ãAtCoderJobs ãšãã AtCoder ã§ã®å®åã«å¿ããŠæ±äººã«å¿åã§ãããµãŒãã¹ããã¢ã«ãŽãªãºã 宿æ€å®ãšããåã®æ€å®ãµãŒãã¹ãçŸããŠããŠããŸãã
ãããªäžã**ãç«¶ããã§ã©ããã£ãŠäžéããã°è¯ãã®ãããããªãã**ãšæãæ©ãã§ããæ¹ã¯å€ããšæããŸãããã®æ©ã¿ããå®å垯ããšã«ç°ãªãã
- æåã«äœãããã°è¯ãã®ãæ©ãã§ããç«¶ããæªçµéšè ããã
- ç«¶ããæçžŸäžäœã«é£ã蟌ãããã«ã¯äœãããã°è¯ãã®ãæ©ãã§ãã人ããã
- éšæŽ»ã瀟å ãªã©ã§ãã©ãããç«¶ããã®æãæ¹ãããã°è¯ãã®ãæ©ãã§ãã人ããã
ãšæããŸããããã§æ¬èšäºã§ã¯ãç«¶æããã°ã©ãã³ã°ã§äžéããããã«ã¯ã©ãããããšãåŠã¹ã°è¯ãã®ããã©ãããç·Žç¿ãããã°è¯ãã®ãã®ã¬ã€ãã©ã€ã³ãã¬ãã«å¥ã«ç€ºããäžéã«åœ¹ç«ãŠãŠãããããšãæå€§ã®ç®æšãšããŠãããŸãã
ç®æ¬¡
åçŽç·š
| ç« | ã¿ã€ãã« | åè |
|---|---|---|
| 0. | ã¯ããã« | |
| 1-1. | ç«¶ãããšã¯äœã | ãããããµããŒãããŠãããŸã |
| 1-2. | ç«¶ããã® 6 ã€ã®é¢çœã | ãç«¶ããã£ãŠãé¢çœãããäŒããŠãããŸã |
| 1-3. | æ©éç«¶ãããå§ããŠã¿ãã | |
| 1-4. | AtCoder ã®ã¬ãŒãã£ã³ã°ãšã¯ | |
| 1-5. | ãè¶è²ã³ãŒããŒãã§èŠæ±ããã 4 ã€ã®ããš | |
| 1-6. | ãè¶è²ã³ãŒããŒãã«ãªãããã®ã¬ã€ãã©ã€ã³ | åçŽç·šã®ã¡ã€ã³ã§ã |
| 1-7. | TipsïŒ AtCoder ã®éå»åãè§£ãã䟿å©ãªãµã€ã | |
| 1-8. | ããŸãïŒç«¶ããã«ããã C++ ã®ããã |
äžçŽç·š
| ç« | ã¿ã€ãã« | åè |
|---|---|---|
| 2-1. | ãæ°Žè²ã³ãŒããŒãã§èŠæ±ããã 4 ã€ã®ããš | |
| 2-2. | ãæ°Žè²ã³ãŒããŒãã«ãªãããã®ã¬ã€ãã©ã€ã³ | äžçŽç·šã®ã¡ã€ã³ã§ã |
| 2-3. | åéå¥ãåäžçŽè ãè§£ãã¹ãéå»åç²Ÿéž 100 å | ãã® 100 åè§£ãã°å®åäžãããšæããŸã |
| 2-4. | ãæ°Žè²ã³ãŒããŒããç®æã人ã®ããã® Tips 5 å |
äžçŽç·š
| ç« | ã¿ã€ãã« | åè |
|---|---|---|
| 3-1. | ãé»è²ã³ãŒããŒãã§èŠæ±ããã 6 ã€ã®ããš | |
| 3-2. | ãé»è²ã³ãŒããŒãã«ãªãããã®ã¬ã€ãã©ã€ã³ | äžçŽç·šã®ã¡ã€ã³ã§ã |
| 3-3. | åéå¥ãäžçŽè ãè§£ãã¹ãéå»åç²Ÿéž 100 + 50 å | ãã® 150 åã§å®åäžãããŸã |
| 3-4. | ãç«¶ããå žå 90 åãã®ããã | æ°ãã«èªçããææã§ã |
| 3-5. | ãé»è²ã³ãŒããŒããç®æã人ã®ããã® Tips 4 å | |
| 4. | ãæ©è²ã³ãŒããŒãã«ãªãããã«ã¯äœãããã°è¯ããïŒ | æ©è²ãŸã§ãµããŒãããŸã |
| 5. | ãæ©è²ã³ãŒããŒãã®å ãïœã¬ãã³ã³ç«¶æãšããŠã®ç«¶ããã®ã¯ããŸãïœ | |
| 6. | ãããã« |
2-0. äžçŽç·šã§ç޹ä»ããããš
äžçŽç·šã§ã¯ãAtCoder ã§æ°Žè²ã³ãŒããŒãŸã§æéã§äžéããæ¹æ³ãèšããŸããã€ãŸããã¬ãŒãã£ã³ã° 1200 ã«æéã§å°éããæ¹æ³ãèšããŸãã
ãªããAtCoder ã®ã¬ãŒãã£ã³ã°ã¯ä»¥äžã®è¡šã®éãã§ããæ°Žè²ã³ãŒããŒã¯ãå šäœã®äžäœ 1 å²ãããã§ãã1
| ã¬ãŒãã£ã³ã° | è² | çžå¯Ÿçãªäœçœ® | 絶察çãªäœçœ® |
|---|---|---|---|
| 2800+ | èµ€ | äžäœ 0.2% | |
| 2400-2799 | æ© | äžäœ 0.6% | |
| 2000-2399 | é» | äžäœ 2% | ã¢ã«ãŽãªãºã ã®ç ç©¶è·ã»ç ç©¶éçºã§éå®ãããã¬ãã« |
| 1600-1999 | é | äžäœ 5% | ã»ãšãã©ã®ITäŒæ¥ã§ã¢ã«ãŽãªãºã èœåãã«ã³ã¹ããã |
| 1200-1599 | æ°Ž | äžäœ 10% | 忰以äžã®ITäŒæ¥ã§ã¢ã«ãŽãªãºã èœåãã«ã³ã¹ããã |
| 800-1199 | ç· | äžäœ 20% | ãšã³ãžãã¢ãšããŠããªãåªç§ |
| 400-799 | è¶ | äžäœ 35% | åŠçãªãåªç§ |
| 1-399 | ç° | äžäœ 100% | |
| (2020/08/03 çžå¯Ÿçãªäœçœ®ãä¿®æ£ (æŽæ°) ããŸãã) | |||
| ⻠絶察çãªäœçœ®ã«é¢ããŠã¯ AtCoder 瀟é·ã»chokudai ããã®ããã° ããœãŒã¹ã§ãã | |||
![]() |
2-1. ãæ°Žè²ã³ãŒããŒãã§èŠæ±ããã 4 ã€ã®ããš
AtCoder ã§æ°Žè²ã³ãŒããŒãã€ãŸãã¬ãŒãã£ã³ã° 1200 ã«å°éããã«ã¯ã
- AtCoder Beginner Contest ã§ç¢ºç 8 å²ä»¥äžã§ 4 åæ£è§£ã§ãã
- AtCoder Beginner Contest ã§ç¢ºç 3-4 å²ã§ 5 åæ£è§£ã§ãã
- AtCoder Beginner Contest ã®åé¡ãããçšåºŠæ©ãè§£ãããšãã§ãã
- ç®å®ã¯ãA åé¡ 1 åãB åé¡ 4 åãC åé¡ 10 åãD åé¡ 25 å
ããšãèŠæ±ãããŸãããã®ããã«ã¯ã以äžã® 4 ã€ã®ããšãã§ããã°è¯ããšèããŸããïŒãã¡ãããè¶è²ã³ãŒããŒã§èŠæ±ããã 4 ã€ã®ããš ã¯å šãŠã¯ãªã¢ããŠããå¿ èŠããããŸããïŒ
æ¡ä»¶ 1
æšæºã©ã€ãã©ãªïŒSTLïŒãçè§£ããã³ã³ãã¹ãã§ãããã䜿ããããã«ãªãã
ã¡ãªã¿ã«ãC++ ã®å Žåã䜿ããŠã»ãã STL ã¯ä»¥äžã® 25 åã
| abs | sin/cos/tan | string | min/max | swap |
| __gcd | rand | clock | reverse | sort |
| vector | stack | queue | priority_queue | map |
| lower_bound | set | pair | tuple | assert |
| count | find | next_permutation | __builtin_popcount | bitset |
æ¡ä»¶ 2
以äžã«æžãããŠãããåºæ¬çãªã¢ã«ãŽãªãºã ãšããŒã¿æ§é ãå šãŠçè§£ããã
ã¢ã«ãŽãªãºã ïŒ12 åïŒ
- å šæ¢çŽ¢ïŒbit å šæ¢çŽ¢ãé åå šæ¢çŽ¢ãå«ãïŒ
- äºåæ¢çŽ¢
- æ·±ãåªå æ¢çŽ¢ïŒDFSïŒ
- å¹ åªå æ¢çŽ¢ïŒBFSïŒ
- åçèšç»æ³ïŒbitDP ãªã©ãå«ãïŒ
- ãã€ã¯ã¹ãã©æ³ïŒæççµè·¯åé¡ïŒ
- ã¯ãŒã·ã£ã«ããã€ãæ³ïŒæççµè·¯åé¡ïŒ
- ã¯ã©ã¹ã«ã«æ³ïŒæå°å šåæšåé¡ïŒ
- é«éãªçŽ æ°å€å®æ³
- ã¹ãä¹ãé«éã«èšç®ããã¢ã«ãŽãªãºã
- éå ãèšç®ããã¢ã«ãŽãªãºã
- 环ç©å
ããŒã¿æ§é ïŒ3 åïŒ
- ã°ã©ãïŒã°ã©ãçè«ïŒ
- æš
- Union-Find
æ¡ä»¶ 3
æ¡ä»¶ 2 ã§ç޹ä»ããåºæ¬çãªã¢ã«ãŽãªãºã ãã³ã³ãã¹ãäžã«åŒãåºãããããã䜿ããããã«ãªãã
ã€ãŸããæ¬èšäºã§ç޹ä»ãããåºæ¬ã¢ã«ãŽãªãºã ããå®å
šã«èº«ã«ã€ãããšããããšã
æ¡ä»¶ 4
15 è¡çšåºŠã®ããã°ã©ã ã§ããã°ãã»ãŒãã°ãããã«æžãããšãã§ããã
35 è¡çšåºŠã®ããã°ã©ã ã§ããã°ãããçšåºŠéãæžãããšãã§ããããã°ãããŠããå¹³åã㊠5 å以å
ã§ãã°ã解決ã§ããã
â» å®éã«ã35 è¡çšåºŠã®ããã°ã©ã ãããã°åãå«ããŠå¹³åã㊠15 åã§æžããããã«ãªãã°ãé£ããã®æ°åŠçèå¯ãå¿ èŠãªåé¡ãç¡ãå ŽåãAtCoder Beginner Contest ã§ 4 åæ£è§£ã 50 å以å ã§éæã§ããããšãå€ãã
è£è¶³
äžã® 4 ã€ã®æ¡ä»¶ãæºããããã«ãªãã°ãAtCoder Beginner Contest ã® D åé¡ãŸã§ã¯ 7 - 8 å²è§£ããããã«ãªããšæããŸãã1 - 2 å²ã¯é£ããã®æ°åŠçèå¯ãå¿ èŠãªåé¡ãåºé¡ãããŸããããããè§£ããªããŠãã³ãŒãã£ã³ã°ã®éåºŠãšæ£ç¢ºæ§ãéããããšã«ãã£ãŠãæ°Žè²ã³ãŒããŒã«ãªãããšã¯ååå¯èœã§ãã
ã¡ãªã¿ã«ãE åé¡ãšãªãã°æ°åŠçèå¯ãå¿ èŠãšããåé¡ãå°ãå¢ããŠããŸãããå žåã¢ã«ãŽãªãºã ã®æŽ»çšã§è§£ããåé¡ãå€ãã®ã§ãéå»åãè§£ããŠæŒç¿éãå¢ããã°ã3 - 5 å²ãããã®ç¢ºçã§è§£ããããã«ãªã£ãŠãããšæããŸãã
ããŠãããããã§ããããã«ãªãããã«ã¯ãã©ã®ãããªç·Žç¿ãããã°è¯ãã®ã§ããããã
2-2. ãæ°Žè²ã³ãŒããŒãã«ãªãããã®ã¬ã€ãã©ã€ã³
æ°Žè²ã³ãŒããŒã«å°éããããã«ããã¹ãããšã¯ã以äžã® 5 ã€ã ãšèããŠããŸãã
- ã¹ããã 1: æšæºã©ã€ãã©ãªã䜿ããããã«ãªãïŒ
- ã¹ããã 2: 12 åã®åºæ¬ã¢ã«ãŽãªãºã ããã¹ã¿ãŒããïŒ
- ã¹ããã 3: 3 åã®åºæ¬ããŒã¿æ§é ããã¹ã¿ãŒããïŒ
- ã¹ããã 4: éå»åãè§£ããŸããïŒ
- ã¹ããã 5: ããŒãã£ã«ã³ã³ãã¹ããæŽ»çšããŠæ©è§£ããéããïŒ
ãããããé çªã«èª¬æããŠãããããšæããŸãã
2-2-1. æšæºã©ã€ãã©ãªã䜿ããããã«ãªãïŒ
ç«¶æããã°ã©ãã³ã°ã«ãããŠãæšæºã©ã€ãã©ãªïŒSTLïŒã¯ãšãŠã䟿å©ã§ããäŸãã° C++ ã§åé¡ãè§£ãå ŽåãAtCoder Beginner Contest ã® E åé¡ã¬ãã«ã§ã¯ 50% çšåºŠã®åé¡ã§ãã©ããããã®å Žé¢ã§æšæºã©ã€ãã©ãªã®æ©èœã圹ç«ã¡ãŸãã
ãã ããå šãŠã®æšæºã©ã€ãã©ãªãçè§£ããå¿ èŠãããèš³ã§ã¯ãããŸãããäŸãã° C++ ã®å Žåãç«¶ããã§ç¥ã£ãŠããããæšæºã©ã€ãã©ãªã¯ä»¥äžã® 25 åã«çµãããŸãã
| abs | sin/cos/tan | string | min/max | swap |
| __gcd | rand | clock | reverse | sort |
| vector | stack | queue | priority_queue | map |
| lower_bound | set | pair | tuple | assert |
| count | find | next_permutation | __builtin_popcount | bitset |
ããã§ãæšæºã©ã€ãã©ãªã䜿ããããã«ãªãããã«ãèªãã¹ãèšäºã 2 ã€ãããŸããïŒç§ãå·çããèšäºã§ãïŒ
èšäºãèªãã§ããããã®èšäºã«èŒã£ãŠããåé¡äŸãè§£ããšãæšæºã©ã€ãã©ãªïŒSTL æ©èœïŒããã¹ã¿ãŒã§ãããšæããŸãã
25 åã®æšæºã©ã€ãã©ãªã®æ©èœãçè§£ãã
æšæºã©ã€ãã©ãªãç«¶ããã®ã©ããªå Žé¢ã§äœ¿ããããçè§£ãã
2-2-2. 12 åã®åºæ¬ã¢ã«ãŽãªãºã ããã¹ã¿ãŒããïŒ
åçŽç·šã§ãè¿°ã¹ãéããç«¶ããã®æ¬è³ªã¯ãå®è¡æéå¶éã«éã«åãå¹ççãªããã°ã©ã ãèããå®è£ ããããšãã§ãããã®å¹ççãªããã°ã©ã ãå®è£ ããããšã«ãããŠãå žåçãªã¢ã«ãŽãªãºã ãç¥ã£ãŠãããšéåžžã«ãåŸã§ãã
ããããæ°Žè²ã³ãŒããŒãããªãã¡ã¬ãŒãã£ã³ã° 1200 ã«å°éããããã«çè§£ããå¿ èŠãããã¢ã«ãŽãªãºã ã¯ãå ã 12 åã§ãã
| å šæ¢çŽ¢ | äºåæ¢çŽ¢ | æ·±ãåªå æ¢çŽ¢ (DFS) | å¹ åªå æ¢çŽ¢ (BFS) |
| åçèšç»æ³ (DP) | ãã€ã¯ã¹ãã©æ³ | ã¯ãŒã·ã£ã«ããã€ãæ³ | ã¯ã©ã¹ã«ã«æ³ |
| é«éãªçŽ æ°å€å®æ³ | ã¹ãä¹ãé«éã«èšç®ããææ³ | éå ãèšç®ããææ³ | 环ç©å |
| â» ãã€ã¯ã¹ãã©æ³ã»ã¯ãŒã·ã£ã«ããã€ãæ³ã¯æççµè·¯åé¡ãè§£ãã¢ã«ãŽãªãºã ã§ãã | |||
| â» ã¯ã©ã¹ã«ã«æ³ã¯æå°å šåæšåé¡ãè§£ãã¢ã«ãŽãªãºã ã§ãã |
ãããã®ã¢ã«ãŽãªãºã ãåŠç¿ã§ããèšäºãã¡ãªã©ã玹ä»ããŸãã
å šæ¢çŽ¢
å šæ¢çŽ¢ã«ã¯ããå šåæãããããå šæ¢çŽ¢ããé åå šæ¢çŽ¢ããååž°é¢æ°ãçšããå šæ¢çŽ¢ããªã©å€ãã®çš®é¡ã«åãããŸããããããåºæ¬çã«ä»¥äžã®èšäºãèªãã°å šéšçè§£ã§ããŸãã
- å šåæããã®ããæ¢çŽ¢ã¢ã«ãŽãªãºã ã®äžçãåç·šïŒå šæ¢çŽ¢ãbitå šæ¢çŽ¢ããååå šåæãŸã§ã ã® 2 ç«
- ãã®ä»ã®å šæ¢çŽ¢ããã®ããæ¢çŽ¢ã¢ã«ãŽãªãºã ã®äžçãåç·šïŒå šæ¢çŽ¢ãbitå šæ¢çŽ¢ããååå šåæãŸã§ã ã® 3 ç«
äºåæ¢çŽ¢
ã¢ã«ãŽãªãºã ã®ä»£è¡šäŸãšãããããäºåæ¢çŽ¢ã¯ã以äžã® 2 èšäºã§è§£èª¬ãããŠããŸãã
- äºåæ¢çŽ¢ãšã¯ïŒã¢ã«ãŽãªãºã ãå匷ãããªãäºåæ¢çŽ¢ããå§ãããïŒ ããªã£ãšãïŒã¢ã«ãŽãªãºã ããã
- ç«¶ããã§äœ¿ããäºåæ¢çŽ¢ïŒäºåæ¢çŽ¢ã¢ã«ãŽãªãºã ãäžè¬å ã ãããåŒäºåæ¢çŽ¢æ³ã®ã¹ã¹ã¡ ã
ãè£è¶³ãäºåæ¢çŽ¢ã«é¡äŒŒããã¢ã«ãŽãªãºã ãšããŠãäºåæ³ãããããŸããããã«ã€ããŠè©³ããç¥ãããæ¹ã¯ä»¥äžã®èšäºããèªã¿ãã ããã
æ·±ãåªå æ¢çŽ¢ (DFS)
ç«¶ããã«äœ¿ãããã¯ããã¯ã®äžã€ã§ãã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
- DFS (æ·±ãåªå æ¢çŽ¢) è¶ å ¥éïŒ ã ã°ã©ãã»ã¢ã«ãŽãªãºã ã®äžçãžã®å ¥å£ ããåç·šã
- DFS (æ·±ãåªå æ¢çŽ¢) è¶ å ¥éïŒ ã ã°ã©ãã»ã¢ã«ãŽãªãºã ã®äžçãžã®å ¥å£ ããåŸç·šã
å¹ åªå æ¢çŽ¢ (BFS)
ç«¶ããã§äœ¿ãããã¯ããã¯ã®äžã€ã§ãã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
åçèšç»æ³ (DP)
以äžã® 3 ã€ã®çš®é¡ã®åçèšç»æ³ïŒDPïŒãçè§£ã§ããã°ãæ°Žè²ã³ãŒããŒã«ãªãããã«æ±ããããåçèšç»æ³ã®åé¡ã¯å€§äœè§£ããŸãã
- ãããã¶ã㯠DPïŒéšåååé¡ã»æå°å ±ééšååãªã©ã¯å šãŠããã«å«ãŸããŸãïŒ
- åºé DP
- bit DP
ããããã®çš®é¡ã«ã€ããŠãã¢ã«ãŽãªãºã ã¯ä»¥äžã®èšäºã§è§£èª¬ãããŠããŸãã
- ãããã¶ã㯠DPïŒãå žåç㪠DP (åçèšç»æ³) ã®ãã¿ãŒã³ãæŽç Part 1 ïœ ããããµã㯠DP ç·š ïœ
- åºé DPïŒãåºé DP ãå匷ããŠã¿ã - Kutimoti ã®ç«¶ããã¡ã¢
- bit DPïŒããããæŒç® (bit æŒç®) ã®äœ¿ãæ¹ãç·ç¹éïŒ ã ãã¹ã¯ããããã bit DP ãŸã§ ããã®ã11 ç«
ã¡ãªã¿ã«ãè¶è²ã³ãŒããŒã»ç·ã³ãŒããŒã«ã¯å°ãé£ããã§ãããDP ã®æè²çãªåé¡ããŸãšãŸã£ãã³ã³ãã¹ããããã®ã§ãéå»åãšããŠãããæåã®æ°åã ãã§ãè§£ããšè¯ããšæããŸããïŒå šéšã§ 26 åãããŸãïŒ
- ã³ã³ãã¹ãïŒãEducational DP Contest | AtCoder
- 解説èšäºïŒããªã³ã¯
ãã€ã¯ã¹ãã©æ³
$N$ é ç¹ $M$ 蟺ã®ã°ã©ãã«ãããé ç¹ $1$ ããåé ç¹ãžã®æççµè·¯é·ãã$O(M \log{N})$ ã§èšç®ããã¢ã«ãŽãªãºã ã§ãã詳ããã¯ã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
ã¯ãŒã·ã£ã«ããã€ãæ³
$N$ é ç¹ $M$ 蟺ã®ã°ã©ãã«ãããå šé ç¹å¯Ÿéã®æççµè·¯é·ãã$O(N^3)$ ã§èšç®ããã¢ã«ãŽãªãºã ã§ãã詳ããã¯ã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
ã¯ã©ã¹ã«ã«æ³
以äžã® 2 èšäºã§è§£èª¬ãããŠããŸãã
- ã¢ã«ãŽãªãºã ïŒæå°å šåæšåé¡ (ã¯ã©ã¹ã«ã«æ³ãšããªã æ³)
- ïŒåèïŒæ£åœæ§ã®èšŒæïŒKruskalæ³ãã³ã³ãããçŽåŸãã | ããã¡ããã®ç«¶ãã粟é²èšé²
é«éãªçŽ æ°å€å®æ³
$N$ ãçŽ æ°ã§ããã $O(\sqrt{N})$ ã§èšç®ããææ³ã§ãã
åçŽã«ã$N$ ã $2, 3, 4, 5, ..., \sqrt{N}$ ã§å²ã£ãŠãã©ãã§ãå²ããªããã°çŽ æ°ã§ãããšããã¢ã«ãŽãªãºã ã§ããäŸãã°ã$37$ 㯠$2, 3, 4, 5, 6$ ã®ãããã§ãå²ããªãã®ã§çŽ æ°ã§ãã
â» æ£åœæ§ã¯ããã $N$ ãçŽ æ°ã§ãªã㊠$N = pq$ $(p \geq 2, q \geq 2)$ ã§è¡šãããšãããšã$p, q$ ã®å°ãªããšãçæ¹ã $\sqrt{N}$ 以äžã ããã§ããäž¡æ¹ $\sqrt{N}$ ãè¶ ããŠããŸããšã$pq > \sqrt{N} * \sqrt{N} = N$ããã£ãŠ $pq > N$ ãšãªã£ãŠããŸããççŸãçããŸãã
ã¹ãä¹ãé«éã«èšç®ããã¢ã«ãŽãªãºã
$a^b$ ã $m$ ã§å²ã£ãäœãã $O(\log{b})$ ã§èšç®ããã¢ã«ãŽãªãºã ã§ãã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
éå ãé«éã«èšç®ããã¢ã«ãŽãªãºã
$ax \equiv b \pmod{p}$ [$p$ ã¯çŽ æ°] ãšãªããã㪠$x$ ã $O(\log{p})$ ã§èšç®ããã¢ã«ãŽãªãºã ã§ãã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
-
ã1000000007 ã§å²ã£ãããŸããã®æ±ãæ¹ãç·ç¹éïŒ ã éå
ãã颿£å¯Ÿæ°ãŸã§ ããã®ã5 ç«
- $p = 1000000007$ ã®å ŽåãæžãããŠããŸããããã®èšäºã«æžãããŠããææ³ã¯äžè¬ã®çŽ æ° mod ã«ãå¿çšãå¹ããŸãã
环ç©å
ç«¶ããã§äœ¿ãããã¯ããã¯ã®äžã€ã§ãã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
ãŸãã环ç©åã®äºçš®ãšããŠãããããæ³ããšããã¢ã«ãŽãªãºã ããããŸãããããå匷ããŠãããšè¯ãã§ãã
2-2-3. 3 åã®åºæ¬ããŒã¿æ§é ããã¹ã¿ãŒããïŒ
åç¯ã§è¿°ã¹ãéããç«¶æããã°ã©ãã³ã°ã«ã¯ã¢ã«ãŽãªãºã ãåŠã¶ããšã倧åã§ããäžæ¹ãããŒã¿æ§é ãåŠã¶ããšã倧äºã§ããã¡ãªã¿ã«ãã¢ã«ãŽãªãºã ãšããŒã¿æ§é ãæ··åããŠèŠãã人ãå€ãã®ã§ãããéãã¯ä»¥äžã®ããã«ãªããŸãã
- ã¢ã«ãŽãªãºã ïŒåé¡ãè§£ãããã®æ¹æ³ã®ããšã
- ããŒã¿æ§é ïŒããŒã¿ã®éãŸããäžå®ã®åœ¢åŒã§ç³»çµ±ç«ãŠãŠæ ŒçŽãããšãã®åœ¢åŒã
ããŠãæ°Žè²ã³ãŒããŒã«ãªãããã«å¿ èŠãªããŒã¿æ§é ã¯äž»ã«ä»¥äžã® 3 ã€ã§ãã
- ã°ã©ã
- æš
- Union-Find
ãããã®ããŒã¿æ§é ãåŠç¿ã§ããèšäºãã¡ãªã©ã玹ä»ããŸãã
ã°ã©ã
ã°ã©ããšã¯ããé ç¹ããšã蟺ãã§æ§æãããããŒã¿æ§é ã§ããåºç€ç¥èã¯ã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
æš
æšãšã¯ã$N$ é ç¹ $N-1$ 蟺ã®é£çµãªã°ã©ãã§ãããã®ç¹æ®ãªæ§è³ªããã«ãç«¶ããã§ã¯ããåé¡ã«ãããŸããïŒæ·±ãåªå æ¢çŽ¢ãªã©ãšã»ããã§åºãããããšãå€ãã§ãïŒè©³ããã¯ã以äžã®èšäºãã芧ãã ããã
Union-Find
ç«¶ããã§é »åºã®ããŒã¿æ§é ã§ãã以äžã®èšäºã§è§£èª¬ãããŠããŸãã
2-2-4. éå»åãè§£ããŸããïŒ
çãããã¢ã«ãŽãªãºã ãšããŒã¿æ§é ãçè§£ããåŸã«ãéèŠãšãªã£ãŠããããšã¯éå»åãè§£ãããšã§ããæ°Žè²ã³ãŒããŒã«ãªã蟺ããŸã§ã¯ã
ãç«¶ããã®å®å = ã¢ã«ãŽãªãºã ã®ç解床 à 競ããã®æŒç¿é
ã ãšèããããšãã§ããŸãããããã£ãŠãéå»åãè§£ãããšã¯ãšãŠãéèŠã§ããå®éã«ãmencotton ããã®ãã€ãŒã ã«ãããšã800 åè§£ãã° 60% ã1100 åè§£ãã° 90% ã®äººãæ°Žè²ã³ãŒããŒã«ãªããŸããïŒ2020/01/17 æç¹ã®çµ±èšã§ãïŒ

äžæ¹ã§ã**ãè§£ããéå»åã®å顿° = ç«¶ããã®æŒç¿éããšã¯éããŸããã**ç§ã®èããšããŠãç¹ã«åäžçŽè ã®ãã¡ã¯ããæè²çãªè³ªã®é«ãåé¡ããšãããã»ã©é«ããªãåé¡ãã«åãããŠãããšæã£ãŠããŸãã
ããã§ãå°ãªãå顿°ã§ããæ°Žè²ã³ãŒããŒããéæããããããã«ãè¶è²ã³ãŒããŒã»ç·ã³ãŒããŒã«ãšã£ãŠæè²çè¯åã ãšæã£ãåé¡ãåèš 100 åéžã³ãŸããã
ã«ãŸãšããããŠããŸãã®ã§ãåºæ¬çãªã¢ã«ãŽãªãºã ãåŠç¿ããåŸã¯ããã®ç²Ÿéž 100 åãè§£ããäœåãããã° AtCoder Problems ãªã©ã®ãµãŒãã¹ãå©çšããŠããã«éå»åãè§£ããŠããããšããå§ãããŸãã
2-2-5. æ©è§£ããéããïŒãïœããŒãã£ã«ã³ã³ãã¹ãã®ãããïœ
ç«¶ããã§æŠãäžã§ãé£ããåé¡ãè§£ãããšãéèŠã§ãããç°¡åãªåé¡ãå®å®ããŠæ©è§£ãããããšãéèŠã§ããå®éã«ãAtCoder Beginner Contest 155 ã«ãããŠã
- 3 宿äžäœã®ããã©ãŒãã³ã¹ïŒ1430
- 3 宿äžäœã®ããã©ãŒãã³ã¹ïŒ307
ãšããšãŠã倧ããªå·®ããããŸããããŠãæ©è§£ããéããã«ã¯äœãããã°è¯ãã®ã§ãããããããã§ãå§ããªã®ããããŒãã£ã«ã³ã³ãã¹ããã§ãã
䟿å©ãªãµã€ããAtCoder Problemsãã«ããããŒãã£ã«ã³ã³ãã¹ã
(2020/08/03 AtCoder Virtual Contest ã®ãµãŒãã¹çµäºã«äŒŽããä¿®æ£ããŸãã)
ã䜿ããšãä»®æ³çã«èªåã§ã³ã³ãã¹ãã奜ããªæéã«ããããšãã§ããŸããããå
·äœçã«æžããšãAtCoder ã®éå»åããäœåãéžãã§ãéå§æéãšçµäºæéãæ±ºããŠãã³ã³ãã¹ã圢åŒã§éå»åãè§£ãããšããæãã®ãµãŒãã¹ã§ããã¡ãªã¿ã«ã2 人以äžã®åå è
ãšåæã«æŠãããšãã§ããã®ãé¢çœãç¹ã®äžã€ã§ããïŒä»¥äžã®ããã«ãã³ã³ãã¹ããšåæ§é äœè¡šããªã¢ã«ã¿ã€ã ã§åããŸãïŒ

ãµãŒãã¹ã®å©ç𿹿³
åºæ¬çã«ãGitHub ã®ã¢ã«ãŠã³ããããã°ã€ã³ããå¿ èŠããããŸããAtCoder Problems ã®ãµã€ããéããšãå³äžã«ãLoginããšæžãããŠãããªã³ã¯ã衚瀺ããããšæããŸãããããã¯ãªãã¯ããŠãGitHub ã¢ã«ãŠã³ããšé£æºããããšã§ãã°ã€ã³ããŠãã ããã
ããŒãã£ã«ã³ã³ãã¹ãã«åå ããããã«ã¯ãAtCoder Problems ã®å³äžã®ãVirtual Contestããšãããªã³ã¯ãã¯ãªãã¯ããŠãããŒãã£ã«ã³ã³ãã¹ãã®ããŒãžã«ç§»åããŠãã ããããããããšãäžå³ã®ãããªç»é¢ã衚瀺ããããšæããŸãã

ããšã¯ã奜ããªããŒãã£ã«ã³ã³ãã¹ããéžãã§ãããã«åå ããŠãã ãããèªåã§ããŒãã£ã«ã³ã³ãã¹ããäœãããå Žåã¯ããCreate New Contestã ãšããç·è²ã®ãã¿ã³ãæŒããŠãã³ã³ãã¹ãèšå®ãã©ãŒã ã«é²ãã§ãã ãããããšã¯ãã©ãŒã ã®éãã«ãã³ã³ãã¹ãã¿ã€ãã«ã䜿ãåé¡ãªã©ãå ¥åãããšè¯ãã§ãã
ããŒãã£ã«ã³ã³ãã¹ãã«ã¯ããJoinããšãããã¿ã³ãæŒãããšã§åå ã§ããŸããã³ã³ãã¹ãæéäžã« AtCoder ã§è©²åœããåé¡ã®æåºãããããšã§ããŒãã£ã«ã³ã³ãã¹ãã«åå ã§ããé äœè¡šãæŽæ°ãããŸãã

ããŒãã£ã«ã³ã³ãã¹ãã®æŽ»çšã®ä»æ¹
ãã®ãµãŒãã¹ã掻çšããŠãäŸãã°ä»¥äžã®ãããªããŒãã£ã«ã³ã³ãã¹ãã宿çã«ïŒäŸãã° 1 é±éã« 2 åãšãïŒãããšãããã°ã©ã ã®å®è£ ãéãã§ããåã身ã«ã€ããšæããŸãã
- AtCoder Beginner Contest ãããA åé¡ 1 åã»B åé¡ 2 åã»C åé¡ 3 åã®åèš 6 åãéããã
- ãããåèš 30 åã§ã§ããã ãè§£ãã
æ°Žè²ã³ãŒããŒãç®æãåå è ã«ãšã£ãŠã¯ãAtCoder Beginner Contest ã® A, B åé¡ãªããããŸãã«ãç°¡åãããããŸããããæ©è§£ãåã¯ããããåºæ¬çãªãšããã§å·®ãä»ããŸãããã®ãããé«é£æåºŠã®ç·Žç¿ã ãã§ãªããäœé£æåºŠãæ©è§£ãããç·Žç¿ãããæ¹ãå®åã䌞ã³ããšèããããŸãã
2-3. åéå¥ãåäžçŽè ãè§£ãã¹ãéå»åç²Ÿéž 100 å
AtCoder ã§æ°Žè²ã³ãŒããŒãã€ãŸãã¬ãŒãã£ã³ã° 1200 ãå°ãªãå顿°ã§éæããããã«ãè¶è²ã³ãŒããŒã»ç·ã³ãŒããŒã«ãšã£ãŠé©åãªæè²çè¯åã 100 åéããŸããã
åéããšã«åé¡ãåããããŠããŸãããŸããã¢ã«ãŽãªãºã ã®ç¢ºèªåé¡ããå¿çšåé¡ãŸã§å¹ åºãå±€ã®åé¡ããããŸãã®ã§ãæ¯éè§£ããŠã¿ãããšãããããããŸããé£ããåé¡ãããã®ã§ãæ°Žè²ã³ãŒããŒãç®æã人㯠100 åäž 70 åæ£è§£ãç®å®ã«é 匵ã£ãŠãã ããã
100 åå šéšè§£ããããæ°Žè²ã³ãŒããŒã©ãããéè²ã³ãŒããŒãããã®å®åãä»ããšæããŸãããã®ãããæ¢ã«æ°Žè²ã³ãŒããŒä»¥äžã§ãã£ãŠãã100 åå šéšãè§£ããŠããªãå Žåã¯ãè§£ã䟡å€ã倧ãããšæããŸãã
å šæ¢çŽ¢ïŒå šåæ
1ãITP1_7_B - How Many Ways?ãåºæ¬åé¡ã§ãã
2ãAtCoder Beginner Contest 106 B - 105
3ãAtCoder Beginner Contest 122 B - ATCoder
4ããç æ¯2019 C - ã«ã©ãªã±ããããè§£ããã°å
šæ¢çŽ¢ã«æ
£ãããšæã£ãŠè¯ãã§ãã
å šæ¢çŽ¢ïŒå·¥å€«ããŠéãæ°ãæžããå šåæ
5ãAtCoder Beginner Contest 095 C - Half and Half
6ãäžäºäœåä¿¡èšéè¡ããã°ã©ãã³ã°ã³ã³ãã¹ã 2019 D - Lucky PIN
7ãJOI 2007 æ¬éž 3 - æå€ã®éºè·¡ãé¢çœãã§ããPython3 ã ãšæ³å®è§£æ³ã TLE ããå¯èœæ§ããããŸãã
8ãSquare869120Contest #6 B - AtCoder Marketsãå
šæ¢çŽ¢ãããšç¡æ°ã«éãæ°ãããããã«èŠããŸãããã²ãšã€å·¥å€«ãããšçŸå®çãªéãæ°ã§å
šåæã§ããåé¡ã§ãã
9ãJOI 2008 äºéž 4 - æåº§æ¢ã
å šæ¢çŽ¢ïŒãããå šæ¢çŽ¢
10ãALDS_5_A - ç·åœãããåºæ¬åé¡ã§ãã
11ãAtCoder Beginner Contest 128 C - Switches
12ãAtCoder Beginner Contest 002 D - 掟é¥
13ãJOI 2008 äºéž 5 - ãããã¹ããè¶è²ã³ãŒããŒã«ã¯ããé£åã§ããè§£ãããšãããããããŸãã
14ãSquare869120Contest #4 B - Buildings are Colorful!ã工倫ãå¿
èŠã§ãäžççžã§ã¯è§£ããªãé£åã§ãããè§£ãã°ç¢ºå®ã«åãã€ããŸãã
å šæ¢çŽ¢ïŒé åå šæ¢çŽ¢
15ãAtCoder Beginner Contest 145 C - Average Length
16ãAtCoder Beginner Contest 150 C - Count Order
17ãALDS_13_A - 8 ã¯ã€ãŒã³åé¡ãé¢çœãã§ãã
äºåæ¢çŽ¢
18ãALDS_4_B - äºåæ¢çŽ¢ãåºæ¬åé¡ã§ããmap ã§ãè§£ããŸããäºåæ¢çŽ¢ã§è§£ããŠã¿ãŠãã ããã
19ãJOI 2009 æ¬éž 2 - ãã¶
20ãAtCoder Beginner Contest 077 C - Snuke Festivalãé¢çœãã§ãã
21ãAtCoder Beginner Contest 023 D - å°æçãæè²çã«è¯ãã§ãã
22ãAtCoder Regular Contest 054 B - ã ãŒã¢ã®æ³åã埮åããŠäºåæ³ããããšè§£ããŸããäžåæ¢çŽ¢ãšè©±ãç¹ãã£ãŠããã®ã§ãããã調ã¹ãŠã¿ããšè¯ããšæããŸãã
23ãJOI 2008 æ¬éž 3 - ããŒãã工倫ããŠäºåæ¢çŽ¢ããããã£ã¬ã³ãžåé¡ã§ãã
æ·±ãåªå æ¢çŽ¢
24ãALDS_11_B - æ·±ãåªå
æ¢çŽ¢ãåºæ¬åé¡ã§ãã
25ãAOJ 1160 - å³¶ã¯ããã€ããïŒãã°ã©ãã®é£çµæåæ°ã¯ãæ·±ãåªå
æ¢çŽ¢ã§èšç®ã§ããŸãã
26ãAtCoder Beginner Contest 138 D - Kiãæšæ§é ã®åé¡ã®å€ãã¯ãæ·±ãåªå
æ¢çŽ¢ã䜿ããŸãã
27ãJOI 2009 äºéž 4 - èæ°·æž¡ããæ·±ãåªå
æ¢çŽ¢ã¯ãæšæ§é ã ãã§ã¯ãããŸããããšããããšãæããŠãããåé¡ã§ããååž°é¢æ°ã䜿ã£ãŠè§£ããŸãã
å¹ åªå æ¢çŽ¢
28ãALDS_11_C - å¹
åªå
æ¢çŽ¢ãåºæ¬åé¡ã§ãã
29ãAtCoder Beginner Contest 007 C - å¹
åªå
æ¢çŽ¢ãéã¿ç¡ãã°ã©ãã®æççµè·¯åé¡ã¯ãå¹
åªå
æ¢çŽ¢ã§è§£ããŸãã
30ãJOI 2011 äºéž 5 - ããŒãº
31ãJOI 2012 äºéž 5 - ã€ã«ãããŒã·ã§ã³ãå°ãå®è£
ãéãã§ãããé 匵ãã°è§£ããŸãã
32ãAOJ 1166 - è¿·å³ãšåœããå®è£
ãå°ãéãã§ãã
33ãAtCoder Beginner Contest 088 D - Grid Repaintingããããè§£ããã°ãå¹
åªå
æ¢çŽ¢ã«æ
£ãããšæã£ãŠè¯ãã§ãã
åçèšç»æ³ïŒãããã¶ã㯠DP
34ãALDS_10_A - ãã£ããããæ°ãè¶
åºæ¬ããDP ãšã¯äœãããæããããšãã§ããŸãã
35ãDPL_1_B - 0,1ãããã¶ãã¯åé¡ãåºæ¬åé¡ã§ãã
36ãDPL_1_C - ãããã¶ãã¯åé¡ãåºæ¬åé¡ã§ãã
37ãDPL_1_A - ã³ã€ã³åé¡ãåºæ¬åé¡ã§ãã
38ãALDS_10_C - æé·å
±ééšååãåºæ¬åé¡ã§ãã
(ããããå ã¯ãã©ã®ãã㪠DP ã§è§£ããã®ãã¯æžããŸããããå šéšãããã¶ã㯠DP ãŸãã¯ãã®äºçš®ã§è§£ãããšãã§ããŸãã)
39ãJOI 2011 äºéž 4 - 1 幎ç
40ãJOI 2012 äºéž 4 - ãã¹ã¿
41ãJOI 2013 äºéž 4 - æãæ¥ã
42ãJOI 2015 äºéž 4 - ã·ã«ã¯ããŒã
43ããç æ¯2019 D - ãç è»æ
44ãAOJ 1167 - ãããã¯äºæ³
45ãAOJ 2199 - å·®åãã«ã¹ç¬Šå·å€èª¿
åçèšç»æ³ïŒåºé DP
46ãALDS_10_B - é£éè¡åç©ãåºæ¬åé¡ã§ãã
47ãJOI 2015 æ¬éž 2 - ã±ãŒãã®åãåã 2ã$O(N^2)$ ã®åºé DP ã§ãã
48ãAOJ 1611 ãã«ãèœãšãã$O(N^3)$ ã®åºé DP ã§ãã
åçèšç»æ³ïŒbit DP
49ãDPL_2_A - å·¡åã»ãŒã«ã¹ãã³åé¡ãåºæ¬åé¡ã§ãã
50ãSquare869120Contest #1 G - Revenge of Traveling Salesman Problemãå·¡åã»ãŒã«ã¹ãã³åé¡ãå°ãå€ããåé¡ã§ãã
51ãJOI 2014 äºéž 4 - éšæŽ»ã®ã¹ã±ãžã¥ãŒã«è¡šãbitDP ã«å«ãŸããã埮åŠã§ãããäžå¿å
¥ããŠãããŸãã
52ãJOI 2017 äºéž 4 - ã¬ãããã¿ã®æŽçãå°ãé£ããã§ãããæ¯éææŠããŠã¿ãŠãã ããã
åçèšç»æ³ïŒãã®ä»
ãã®ä»ã® DP ãšããŠä»£è¡šçãªãã®ã¯ãæé·å¢å éšåååé¡ (LIS) ã§ãã
53ãDPL_1_D - æé·å¢å éšåå
54ãAtCoder Beginner Contest 006 D - ãã©ã³ãæ¿å
¥ãœãŒã
55ãAtCoder Beginner Contest 134 E - Sequence Decomposingããã£ã¬ã³ãžåé¡ã§ãã
æççµè·¯åé¡ïŒãã€ã¯ã¹ãã©æ³
56ãGRL_1_A - åäžå§ç¹æççµè·¯ãåºæ¬åé¡ã§ãã
57ãJOI 2008 äºéž 6 - è¹æ
ãåŸè¿°ã®ã¯ãŒã·ã£ã«ããã€ãæ³ã§ãè§£ããŸãã
58ãJOI 2016 äºéž 5 - ãŸã³ãå³¶ãåè¿°ã®å¹
åªå
æ¢çŽ¢ã䜿ããŸããå®è£
ãããéãã§ãã
59ãJOI 2014 äºéž 5 - ã¿ã¯ã·ãŒ
æççµè·¯åé¡ïŒã¯ãŒã·ã£ã«ããã€ãæ³
60ãGRL_1_C - å
šç¹å¯Ÿéæççµè·¯ãåºæ¬åé¡ã§ãã
61ãAtCoder Beginner Contest 012 D - ãã¹ãšé¿ããããªãéåœ
62ãAtCoder Beginner Contest 079 D - Wall
63ãAtCoder Beginner Contest 074 D - Restoring Road Networkãã¡ãã£ãšæ°åŠçèå¯ãå¿
èŠã§é£ããã§ãããæ¯éè§£ããŠã¿ãŸãããã
æå°å šåæšåé¡
64ãGRL_2_A - æå°å
šåæšãåºæ¬åé¡ã§ãã
65ãJOI 2010 æ¥å宿 - Finalsã(åé¡pdf) JOI æ¥å宿ã®åé¡ã§ãããæ¯èŒçç°¡åã§ãã
66ãAOJ 1127 - Building a Space Station
67ãAtCoder Beginner Contest 065 D - Built?ãããé£ããã§ããåçŽã«æå°å
šåæšãæ±ãããšã$N$ é ç¹ $N^2$ 蟺ã«ãªããŸããããªããšãããæžããããšãã§ããŸãã
é«éãªçŽ æ°å€å®æ³
68ãNTL_1_A - çŽ å æ°åè§£ãåºæ¬åé¡ã§ãã
69ãAtCoder Beginner Contest 084 D - 2017-like Number
é«éãªã¹ãä¹èšç®
70ãNTL_1_B - ã¹ãä¹
71ãSquare869120Contest #1 E - æ£æ©
â» ã¹ãä¹ã ãã䜿ãåé¡ã¯å°ãªãã§ããã$nCr$ ãªã©ãæ±ããéã«ãéå
ãšã»ããã§åºãŠããããšãå€ãã§ããäŸãã°ã$axâ¡1 \ (mod \ p)$ ã®è§£ã¯ $a^{p-2} \ mod \ p$ ãšãªããŸããïŒ$p$ ãçŽ æ°ã®å ŽåïŒ
éå ã䜿ãåé¡
72ãAtCoder Beginner Contest 034 C - çµè·¯ãnCr ãæ±ããã ãã®åºæ¬åé¡ã§ãã
73ãAtCoder Beginner Contest 145 D - Knight
74ãAtCoder Beginner Contest 021 D - å€éã«ãŒã
75ãAtCoder Beginner Contest 149 F - Surrounded Nodesããã£ã¬ã³ãžåé¡ã§ããè§£ããªããŠãããããããç¹æ®ãªåºå圢åŒã®åé¡ã£ãŠãããã ãªããšæããŠã»ããã§ãã
环ç©å
76ãå
šåœçµ±äžããã°ã©ãã³ã°çæ±ºå®æŠæ¬æŠ A - Abundant Resourcesãåºæ¬ã§ãã环ç©åã䜿ããªããŠãè§£ããŸãããæ¯é䜿ã£ãŠè§£ããŠã¿ãŠãã ããã
77ãJOI 2010 æ¬éž 1 - æ
人
78ãJOI 2011 æ¬éž 1 - æææ¢æ»ãäºæ¬¡å
环ç©åã§ãã
79ãAtCoder Beginner Contest 106 D - AtCoder Express 2
80ãGigaCode 2019 D - å®¶ã®å»ºèš
(ããããå ã¯ãããããæ³ããšããã¢ã«ãŽãªãºã ã䜿ãå ŽåããããŸãã)
81ãAtCoder Beginner Contest 014 C - AtColorãåºæ¬åé¡ã§ãã
82ãAOJ 2013 - 倧åŽ
83ãJOI 2015 æ¬éž 1 - éééè³
84ãJOI 2012 æ¬éž 4 - éããã£ã¬ã³ãžåé¡ã§ãã
Union-Find
85ãDSL_1_A - äºãã«çŽ ãªéåãåºæ¬åé¡ã§ãã
86ãAtCoder Beginner Contest 075 C - Bridgeãæ·±ãåªå
æ¢çŽ¢ã«ããé£çµæåã®åæ°ã®æ°ãäžãã§ãè§£ããŸãããUnion-Find ã§ãè§£ããŠã¿ãŸãããã
87ãAtCoder Beginner Contest 120 D - Decayed Bridgeãäžåã®èå¯ã¹ãããããããå°ãé£ããã§ãããè§£ãããšã§åŸãããåã¯å€§ãããšæããŸãã
ãã®ä»ã®ãã¯ããã¯
ãå§çž®ãã«ãã£ãŠè§£ããåé¡ãã¡ã§ãã
88ãJOI 2008 æ¬éž 1 - ç¢ç³ãªãã¹
89ãJOI 2013 æ¬éž 1 - é»é£Ÿ
ãåçŽãªå¹Ÿäœèšç®ãã«ãã£ãŠè§£ããåé¡ãã¡ã§ããæšæºã©ã€ãã©ãªã«ååšããã2 乿 ¹ã»äžè§é¢æ°ãªã©ã䜿ããšè§£ããŸãã
90ãSquare869120Contest #5 B - Emblem
91ãAtCoder Beginner Contest 144 D - Water Bottleãæ¬èšäºã§ã¯è§ŠããŠããŸããããäžè§é¢æ°ã®é颿°ã䜿ã£ãŠè§£ãããšãã§ããŸãã
å®è£ åé¡
èå¯ã«æ¯ã¹ãŠå®è£ ããšãŠãéãåé¡ã§ããç·Žç¿ã«ãªããšæããŸãã
92ãAOJ 1193 - é£éæ¶æ»
ããºã«
93ãSquare869120Contest #3 B - ç³èœãšãã²ãŒã
94ãAOJ 1149 - ã±ãŒãã«ãã
æ°åŠçãªåé¡
AtCoder ã®åé¡ã®äžéšã§ã¯ãè§£ãããã«æ°åŠçãªèå¯ãå¿ èŠãšããŸããäžçŽç·šã«ãç¹ããŠããããã«ãæ°Žè²ã³ãŒããŒãç®æããŠãã人ã¯ãæ°åŠçèå¯ã£ãŠäœãªã®ãããæ°åŠçèå¯ã£ãŠã©ããªæãã§äœ¿ãã®ãããããã¯ç¥ã£ãŠãããšè¯ããšæãã®ã§ããããæããããåé¡ã®ä»£è¡šäŸã玹ä»ããŠãããŸãã
95ãAtCoder Beginner Contest 149 B - Greedy Takahashiã200-300 ç¹åé¡ã§åºãæ°åŠçåé¡ã¯å€§äœãããªæãã§ããïŒè²ªæ¬²æ³ã¢ã«ãŽãªãºã ã«ç¹ãã£ãŠããŸããïŒ
96ãAtCoder Beginner Contest 139 D - ModSumãèå¯äžåã§ãã
97ãAtCoder Beginner Contest 150 D - Semi Common Multiple
98ãäžäºäœåä¿¡èšéè¡ããã°ã©ãã³ã°ã³ã³ãã¹ã2019 äºéž E - Colorful Hats 2
99ãDDCC2020 äºéž D - Digit Sum Replaceããããèå¯äžåã§ãã
100ãTenka1 Programmer Beginner Contest D - Crossingãããé£ããã§ãããé 匵ã£ãŠè§£ããŠãã ããã
ãããå
šéšè§£ããããèªä¿¡ããã£ãŠãæ°Žè²ã³ãŒããŒçžåœã®å®åãããããšãã£ãŠããã§ãã
2-4. ãæ°Žè²ã³ãŒããŒããç®æã人ã®ããã® Tips 5 å
äžçŽç·šã®æåŸã«ãæ°Žè²ã³ãŒããŒãç®æãçããã«ãšã£ãŠäŸ¿å©ãªæ å ±ãããã€ã玹ä»ããããšæããŸãã
2-4-1. ãè»æ¬ãã®ããã
ãšããã§ãããã°ã©ãã³ã°ã³ã³ãã¹ããã£ã¬ã³ãžããã¯ïŒéç§°ïŒè»æ¬ïŒãšããæ¬ããããŸãã
ãã®æ¬ã§ã¯ãç«¶æããã°ã©ãã³ã°ã§äœ¿ãããã¢ã«ãŽãªãºã ã®è§£èª¬ããããŠããã ãã§ãªããåçš®ã¢ã«ãŽãªãºã ã䜿ãç«¶ããã®åé¡ã®è§£ãæ¹ãäžå¯§ã«èª¬æãããŠããŸãã
ç«¶ããé¢é£ã®æ¬ã®äžã§æã売ããŠãããã®ã ãšãã£ãŠè¯ãã§ãããè»æ¬ãèªãã§åŒ·ããªã£ãïŒããšãã人ã¯ããããããã®ã§ãæ¯éæã£ãŠãããŸãããããµã³ãã«ã³ãŒããªã©ãèŒã£ãŠããã®ã§ããå
žåã¢ã«ãŽãªãºã ã®ã³ãŒãã®æžãæ¹ãå¿ããŠããŸã£ãïŒããªããŠãšãã«ã䟿å©ã§ãã

2-4-2. AOJ ã®ãALDSãã³ãŒã¹ã®ããã
åçŽç·šã§ãè¿°ã¹ãããã«ãAOJ ã¯ããã°ã©ãã³ã°ã®åºç€ãã¢ã«ãŽãªãºã ã®åºç€ãåŠã¹ãã³ãŒã¹ãããããããã®ãç¹åŸŽã§ãã2ããã®äžã§ãå žåã¢ã«ãŽãªãºã ãåŠã¹ãã³ãŒã¹ããã£ãŠã
ãšãããã®ã§ããå šéšã§ 60 åè¿ããããŸãããæ¬èšäºã®äžçŽç·šã«èŒã£ãŠãã倧äœã®ã¢ã«ãŽãªãºã ã確èªã§ããã®ã§ãåçš®ã¢ã«ãŽãªãºã ãåŠç¿ããåŸã«ãæ¯é該åœããåéã®åé¡ãè§£ããŠã¿ãŠãã ãããïŒå žåã¢ã«ãŽãªãºã ãæ¢ã«ç¥ã£ãŠãããšããæ¹ããã¢ã«ãŽãªãºã ã䜿ãç·Žç¿ã«ããªãã®ã§è§£ãããšããå§ãããŸãïŒ
â» ã¡ãªã¿ã«ãäžçŽç·šã©ãããäžçŽç·šã§ããè¿°ã¹ãªããããªã¢ã«ãŽãªãºã ã䜿ãåé¡ã ALDS ã«ã¯èŒã£ãŠããŸãã®ã§ãå šãŠã®åé¡ãè§£ãå¿ èŠã¯ãããŸããã
2-4-3. éå»åã¯äœåã§è§£èª¬ãèŠãã°ãããïŒ
ããŠãéå»åãè§£ããŠããŠãããããè§£æ³ãå šç¶åãããªããšãããã€ã«ãªã£ãã解説ãèªãã°é©åãªã®ãããããªã人ãå€ããšæããŸããããã§ãçµéšåããã®å€§äœã®ç®å®ãæç€ºããŠãããŸãã
| é£æåºŠ | 100 ç¹åé¡ | 200 ç¹åé¡ | 300 ç¹åé¡ | 400 ç¹åé¡ | 500 ç¹åé¡ | 600 ç¹åé¡ |
|---|---|---|---|---|---|---|
| è¶è²ã³ãŒã㌠| 5 å | 7 å | 30 å | 45 å | - | - |
| ç·è²ã³ãŒã㌠| 5 å | 5 å | 20 å | 35 å | 50 å | 2 æé |
| æ¯èŒçç°¡åãªåé¡ã«ãé¢ãããè§£æ³ãããããªãå Žåããå žåç¥èãå žåãã¯ããã¯ãç¥ããªãããè§£ããªãã£ãããšããå¯èœæ§ããšãŠãé«ãã§ãããã®ãããæ©ãã«è§£èª¬ãèŠãããšãããããããŸãã(2/20 00:47 PM. 远èš) |
â» äœåçµã£ãŠãè§£æ³ãåãããªãã£ããããšããããšã§ããã€ãŸããäŸãã°ç·ã³ãŒããŒã 400 ç¹åé¡ãè§£ããšããè§£ãå§ããŠãã 15 åã§è§£æ³ãããã£ãŠå®è£ ã 10 åã§ã§ããã®ã«ã10 åéãã°ã®åå ãããããªããŠåèš 35 åè¶ ããŠããŸã£ãã®ã§è§£èª¬ãèŠãã¹ãããšããããšã§ã¯ãªãã§ãã
2-4-4. Twitter 掻çšã®ããã
ç«¶æããã°ã©ãã³ã°ããã£ãŠãããã¡ã«ãäœãããããªãããšã質åããããªãããšããããšæããŸããäŸãã°ã
ããã®ã³ãŒãã®ãã°ãåãããªãã誰ãåå æããŠãã
ãåçèšç»æ³ãçè§£ã§ããªãã®ã§æããŠãã ãããã
ãšããè²ã ãããšæããŸãããããªæã«äŸ¿å©ãªã®ã¯ Twitter ã§ããåºæ¬çã«ç«¶æããã°ã©ãã³ã°ããã£ãŠãã人ã¯åªããïŒãšãããã³ãã¥ããã£ããããããïŒã®ã§ãTwitter ã«è³ªåãæçš¿ãããããã€ã¬ã¯ãã¡ãã»ãŒãžã§åŒ·ã人ã«èããããããšãçããŠãããå Žåãå€ãã§ãã
ãŸããTwitter ããã£ãŠããå Žåãã³ã³ãã¹ãã§æåããŠäžè²äžã«ããã£ããšãã«ãäŸãã°ãæ°Žè²ã«ãªããŸããïŒïŒïŒïŒããšããããã€ãŒãããããšããšãŠãå€ãã®äººãããããã§ãšãããšãªãã©ã€ãããããšããããŸããããã¯ç«¶ããçéã®æåã®äžã€ãªã®ã§ãããè²ãäžãã£ããšãã«ãšãŠã€ããªãéææãåŸãããšãã§ããŸãã
2-4-5. ç«¶ããé¢é£ã€ãã³ãåå ã®ããã
ç«¶æããã°ã©ããŒãäžç®æã®äŒå Žã«éãŸã£ãŠã³ã³ãã¹ãããããããªã€ãã³ãã宿çã«éãããŸããäŸãã°ã
- æ±äº¬å·¥æ¥å€§åŠããã°ã©ãã³ã°ã³ã³ãã¹ã2019 (TTPC2019) ãªã³ãµã€ã [2019幎8æ31æ¥éå¬]
- GigaCode 2019 [2019幎11æ24æ¥éå¬]
- ãããµãç«¶æããã°ã©ãã³ã°ãªã³ãµã€ã at FORCIA [2020幎2æ29æ¥éå¬]
ãªã©ããããŸãã
ãã®ãããªç«¶æããã°ã©ãã³ã°é¢é£ã®ã€ãã³ãã«åå ããåäžçŽè ã¯çŸç¶ããã»ã©å€ããªãã®ã§ãããäžåºŠåå ããŠã¿ãããšããå§ãããŸãã
- ç«¶ããåå è ãšã®äº€æµãã§ããŠæ¥œãã
- æ®æ®µã¯ãªã³ã©ã€ã³äžã§ã®æŽ»åãã»ãšãã©ã§ãããç«¶æããã°ã©ãã³ã°ãã«å¯Ÿããã¢ãããŒã·ã§ã³ã®ç¶æããããã¯ã¢ãããŒã·ã§ã³ã®åäžã«ç¹ãã
ãªã©ããå©ç¹ãšããŠæããããŸãã
2-5. æ¬èšäºãçµããæ¬¡ã¯ïŒ
æ¬èšäºã®å 容ããã¹ã¿ãŒã§ããã°ãæ°Žè²ã³ãŒããŒã«ãªãããšæããŸããæ°Žè²ã³ãŒããŒãšãã£ãããAtCoder ã®äžäœ 1 å²ã§ãã®ã§ãååäžçŽè ãåä¹ã£ãŠè¯ããšæããŸããã¡ãªã¿ã«æ°Žè²ã³ãŒããŒã«ãªããšã忰以äžã®äŒæ¥ã«ãããŠã¢ã«ãŽãªãºã æ§ç¯èœåãã«ã³ã¹ãããŸãã
ããããããã«äžãç®æããããéè²ã³ãŒããŒãé»è²ã³ãŒããŒããããŠæ©è²ã³ãŒããŒãšãã£ãç«¶ããæçžŸäžäœã©ã³ã«ãŒãçã£ãŠãããããšããæ¹ãäžçŽç·šãããããã«é«ãã¬ãã«ãŸã§ãã©ããŒããŠããŸãã®ã§ãæ¯éäžçŽç·šããèªã¿ãã ããã
ïŒåäžçŽè ã®æ¹ã§ããäžçŽè ã«ã©ãããã¢ã«ãŽãªãºã ã»ç¥èã»ç·Žç¿æ¹æ³ãæ±ããããããç¥ãæ©äŒã«ãªããšæãã®ã§ãèå³ãããã°æ¯éãèªã¿ãã ãããïŒ
äžçŽç·š
-1. ã€ã¥ã
次ã¯ãäžçŽç·šã«ç¶ããŸãã
-
2020 幎 8 æ 3 æ¥æç¹ã§ãã â©
-
åçŽç·šã§èª¬æãã Introduction To Programming I (ITP1)ãäžçŽç·šã§èª¬æãã Introduction To Algorithms and Data Sets (ALDS) ã ãã§ã¯ãªããåçèšç»æ³ãåŠã¹ã DPLãã°ã©ãçè«ãåŠã¹ã GRLãæŽæ°è«ãåŠã¹ã NTL ãªã©ãAOJ ã«ã¯æ§ã ãªã³ãŒã¹ãçšæãããŠããŸãã â©
