ABC lessons learned9 - zettsu-t/zettsu-t.github.io GitHub Wiki

AtCoder Beginner Contest lessons learned (ๆœ€ๆ–ฐใพใง)

ใ‚ณใƒณใƒ†ใ‚นใƒˆใซๅ‚ๅŠ ใ—ใŸๆ•™่จ“ใ‚’ใพใจใ‚ใฆใ„ใใพใ™ใ€‚ๆœ€่ฟ‘ใฏARCใซๅ‚ๅŠ ใ—ใ€ABCใธใฎratedๅ‚ๅŠ ใฏ่ฆ‹้€ใ‚Šไธญใงใ™ใ€‚

ใƒˆใƒƒใƒ—ใƒšใƒผใ‚ธใธ ๅ‰ใฎABC ๅ‚ๅŠ ่จ˜ใธ ARC ๅ‚ๅŠ ่จ˜ใธ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ52ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ52ๅ›ž็›ฎใฏ ARC 185 ใงใ‚ใ‚‹ใ€‚ใ“ใฎARCใง็จผใ„ใ ใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใŒABC 2ๅ›žใง็„กใใชใฃใŸใ€‚

ABC 376-A

ใ‚ณใƒณใƒ†ใ‚นใƒˆ53ๅ›ž็›ฎใงใ‚ใ‚‹ใ€‚A,B,C,D 4ๅฎŒใฎๅคงๆ•—ใงใ‚ใ‚‹ใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡ใ‚’ใใฎใพใพๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚ไธ‹ๆ‰‹ใซๅทฅๅคซใ™ใ‚‹ใจ่งฃใ‘ใชใ„ใ€‚

ABC 376-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

A,C,Dๅ•้กŒใ‚’่งฃใใ€Eๅ•้กŒใ‚’่ซฆใ‚ใฆใ‹ใ‚‰Bๅ•้กŒใ‚’่งฃใ„ใŸใฎใงใ€ใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นใŒๅคงใใไธ‹ใŒใฃใŸใ€‚ๅ…ˆใซBๅ•้กŒใ‚’่งฃใ‘ใฐใ€ๅคงๆ•—ใ‚‚ๅฐ‘ใ—ใฏใพใ—ใ ใฃใŸใ‹ใ‚‚ใ—ใ‚Œใชใ„ใ€‚

ๆญฃใ—ใๅ ดๅˆๅˆ†ใ‘ใ‚’ใ—ใ‚ˆใ†ใจใ—ใฆWAใ—ใŸใ€‚ $NQ \leq 10000$ ใชใฎใงๅ…จๆŽข็ดขใจใ„ใ†ใ‹ใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ทใƒงใƒณใงใ‚ˆใ‹ใฃใŸใ€‚Bๅ•้กŒใ ใจใ„ใ†ใ“ใจใ‚’ใ™ใฃใ‹ใ‚Šๅฟ˜ใ‚Œใฆใ„ใŸใ€‚

ๆญฃใ—ใๅ ดๅˆๅˆ†ใ‘ใ™ใ‚‹ใจ ใ“ใ† ๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚

  • ๅทฆๆ‰‹ใ‚’0, ๅณๆ‰‹ใ‚’1ใจใ—ใฆใ€ใ„ใพๆ“ไฝœใ™ใ‚‹ๆ‰‹ใ‚’ $A$ ใ€ใ„ใพๆ“ไฝœใ—ใชใ„ๆ‰‹ใ‚’ $B = 1-A$ ใจใ™ใ‚‹
  • ๆ™‚่จˆๅ›žใ‚Šใซใฟใฆใ€ ใ„ใพๆ“ไฝœใ™ใ‚‹ๆ‰‹ $A$ ใ‚’ใ€ๆ‰‹ใ‚’ๅ‹•ใ‹ใ™ๅ…ˆ $T$ ใ€ๆ“ไฝœใ—ใชใ„ๆ‰‹ $B$ ใฎ้ †็•ชใซไธฆใ‚“ใงใ„ใ‚‹ใ‹ใฉใ†ใ‹็ขบใ‹ใ‚ใ‚‹ใ€‚ใ“ใ‚Œใฏไปฅไธ‹ใฎใฉใกใ‚‰ใ‹ใงใ‚ใ‚‹
    • ๅŽŸ็‚นใ‚’ใพใŸใŒใชใ„ใ€‚ $A < B \land A < T < B$
    • ๅŽŸ็‚นใ‚’ใพใŸใใ€‚ $A > B \land ((A < T) \lor (T < B))$
  • $A,T,B$ ใŒๆ™‚่จˆๅ›žใ‚Šใซไธฆใ‚“ใงใ„ใ‚‹ใชใ‚‰ $A$ ใ‚’ๆ™‚่จˆๅ›žใ‚Šใซ $(N + T - A) mod N$ ็งปๅ‹•ใ™ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐๅๆ™‚่จˆๅ›žใ‚Šใซ $A$ ใ‚’ๆ™‚่จˆๅ›žใ‚Šใซ $(N + A - T) mod N$ ็งปๅ‹•ใ™ใ‚‹ใ€‚
  • ็งปๅ‹•ใ—ใŸๆ‰‹ใฎๅบงๆจ™ใ‚’ $T$ ใงๆ›ดๆ–ฐใ™ใ‚‹

ๅ…ฌๅผ่งฃ่ชฌ2ใซๅพ“ใ„ใ€็Šถๆณใ‚’ๆ•ด็†ใ™ใ‚‹ใจ ใ“ใ† ใชใ‚‹ใ€‚

  • ๅทฆๆ‰‹ใ‚’0, ๅณๆ‰‹ใ‚’1ใจใ—ใฆใ€ใ„ใพๆ“ไฝœใ™ใ‚‹ๆ‰‹ใ‚’ $A$ ใ€ใ„ใพๆ“ไฝœใ—ใชใ„ๆ‰‹ใ‚’ $B = 1-A$ ใจใ™ใ‚‹
  • $A$ ใฎๅบงๆจ™ใŒ0ใซใชใ‚‹ใ‚ˆใ†ใช็›ธๅฏพๅบงๆจ™ใจใ—ใฆใ€ๅบงๆจ™ $T^{'} = T$ ใจๆ‰‹ $B^{'} = B$ ใฎๅบงๆจ™ใ‚’ๅฎšใ‚ใ‚‹
  • $(0 < ) T < B$ ใชใ‚‰ $A,T,B$ ใŒๆ™‚่จˆๅ›žใ‚Šใซไธฆใ‚“ใงใ„ใ‚‹ใฎใง $T^{'}$ ็งปๅ‹•ใ™ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐๅๆ™‚่จˆๅ›žใ‚Šใซ $A$ ใ‚’ๆ™‚่จˆๅ›žใ‚Šใซ $N - T^{'}$ ็งปๅ‹•ใ™ใ‚‹ใ€‚
  • ็งปๅ‹•ใ—ใŸๆ‰‹ใฎๅบงๆจ™ใ‚’ $T$ ใงๆ›ดๆ–ฐใ™ใ‚‹

ABC 376-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่€ƒๅฏŸใŒ็”˜ใ‹ใฃใŸใŒใ€ๆๅ‡บใ—ใŸใ‚‰้€šใฃใฆใ—ใพใฃใŸใ€‚

ๅทฆใ‹ใ‚‰ใŠใ‚‚ใกใ‚ƒใŒ้€ฃ็ถšใ—ใฆ็ฎฑใซๅŽใพใ‚‹ๆœ€ๅคงๅ€ค $L$ ใ€ใคใพใ‚Š $\forall i \in [1,L], A_i \leq B_i$ ใ‚’ๆบ€ใŸใ™ๆœ€ๅคงใฎ $L$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ๅŒๆง˜ใซๅณใ‹ใ‚‰้€ฃ็ถšใ—ใฆใŠใ‚‚ใกใ‚ƒใŒ็ฎฑใซๅŽใพใ‚‹ๆœ€ๅคงๅ€ค $R$ ใ€ใคใพใ‚Š $min(\forall i \in [N-R+1,N], A_i \leq B_i$ ใ‚’ๆบ€ใŸใ™ๆœ€ๅคงใฎ $R$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ไธ€ๅ€‹ใ‚‚ใŠใ‚‚ใกใ‚ƒใŒๅŽใพใ‚‰ใชใ„ใจใใฏ0ใจใ™ใ‚‹ใ€‚

$L + R < (N-1)$ ใชใ‚‰ใ€ใŠใ‚‚ใกใ‚ƒ $[L+1,N-R]$ ใ‚’ๅŽใ‚ใ‚‹ใซใฏ่ฟฝๅŠ ใฎ็ฎฑใŒ1ๅ€‹ใงใฏ่ถณใ‚Šใชใ„ใฎใงใ€็ญ”ใˆใฏ -1 ใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ็ฎฑใซๅŽใพใ‚‰ใชใ„ใŠใ‚‚ใกใ‚ƒใฎใ†ใกๆœ€ใ‚‚ๅคงใใ„ใ‚‚ใฎใซ่ฟฝๅŠ ใฎ็ฎฑใ‚’ใ‚ใฆใŒใ†ใฎใงใ€็ญ”ใˆใฏ $B_{N-R}$ ใงใ‚ใ‚‹ใ€‚

ใ“ใ“ใพใงใฏ้ †่ชฟใซ่ฆ‹ใˆใŸใŒใ€‚

ABC 376-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

SCC (Strongly Connected Component) ใƒฉใ‚คใƒ–ใƒฉใƒชใซ้€šใ—ใŸใ‚‰็ญ”ใˆใŒๅˆใ‚ใชใ„ใ€‚ใ‚ˆใ่€ƒใˆใŸใ‚‰SCCใฏใƒซใƒผใƒ—ใ‚’ๅซใ‚€ใŒๅ˜ไธ€ใƒซใƒผใƒ—ใ ใ‘ใ‹ใ‚‰ๆง‹ๆˆใ™ใ‚‹่จณใงใฏใชใ„(่ค‡ๆ•ฐใฎใƒซใƒผใƒ—ใ‚’่กŒใๆฅใงใใ‚‹)ใฎใ ใ‹ใ‚‰ใ€้€šใ‚‹่จณใŒใชใ‹ใฃใŸใ€‚

ไป•ๆ–นใŒใชใ„ใฎใงDFSใ—ใŸใ‚‰TLEใ—ใŸใ€‚ๆœ€็Ÿญ่ท้›ขใ‚’DFSใ™ใ‚‹ใจTLEใ™ใ‚‹ใจๅพŒใง่ชญใ‚“ใ ใŒใ€็—›ใ„ๆ•™่จ“ใ ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใฏBFSใ ใŒใ€ใฉใ†ใ—ใฆ็งใฏDFSใงๆ›ธใ„ใฆTLEใ—ใŸใฎใ‹ๅˆ†ใ‹ใ‚‰ใชใ„ใ€‚็ด ็›ดใซใƒ€ใ‚คใ‚ฏใ‚นใƒˆใƒฉๆณ•ใ™ใ‚Œใฐใ‚ˆใ„ใ€‚้ท็งปๅ…ˆใŒ้ ‚็‚น0ใชใ‚‰ใ€้ ‚็‚น0ใพใงใฎๆœ€็Ÿญ่ท้›ขใ‚’ๆ›ดๆ–ฐใ—ใฆใใฎๆŽข็ดขใฏใใ‚Œๆทฑๅ €ใ‚Šใ—ใชใ„ใ€‚BFSใงๅฎŸ่ฃ…ใ™ใ‚‹ใจ ใ“ใ† ใชใ‚‹ใŒใ€ใƒ€ใ‚คใ‚ฏใ‚นใƒˆใƒฉๆณ•ใจๅฎŸ่กŒๆ™‚้–“ใฏใ‚ใพใ‚Šๅค‰ใ‚ใ‚‰ใชใ„ใ€‚

ABC 376-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆœ€ๅˆใซ้–“้•ใฃใŸ่งฃๆณ•ใ‚’็คบใ™ใ€‚ไปฅไธ‹Greedyใ ใจๅ…ฅๅŠ›ไพ‹ใŒ้€šใ‚‹ใŒWAใฎๅฑฑใŒ่ฟ”ใ‚‹ใ€‚ใคใพใ‚Šใ‚ตใ‚คใ‚บ $K$ ใฎ้›†ๅˆ $S$ ใซๅฏพใ—ใฆ่ฆ็ด  $i = (A_i,B_i)$ ใ‚’ไป˜ใ‘ๅŠ ใˆใฆ

  • $A$ ใŒๆœ€ๅคงใฎ่ฆ็ด ใ‚’ๅ–ใ‚Š้™คใ
  • $B$ ใŒๆœ€ๅคงใฎ่ฆ็ด ใ‚’ๅ–ใ‚Š้™คใ
  • ่ฆ็ด  $i$ ใ‚’ๅ–ใ‚Š้™คใใ€ใคใพใ‚Šใใ‚‚ใใ‚‚ไป˜ใ‘ๅŠ ใˆใชใ‹ใฃใŸใ“ใจใซใ™ใ‚‹

ใจใ—ใŸใ‚‰ๆญฃ่งฃใงใฏใชใ‹ใฃใŸใ€‚ $A,B$ ใ‚’ๆ˜‡้ †ใซใ‚ฝใƒผใƒˆใ—ใฆใ‚‚ใ ใ‚ใ ใฃใŸใ€‚

ๆญฃใ—ใ„่งฃๆณ•ใ‚’็คบใ™ใ€‚ $(A_i, B_i)$ ใ‚’ $A$ ใฎๆ˜‡้ † ($A$ ใŒๅŒใ˜ใชใ‚‰ $B$ ใฎๆ˜‡้ †)ใซไธฆใณๆ›ฟใˆใ€ไธ€ใคใšใค $S$ ใซ่ฟฝๅŠ ใ™ใ‚‹ใ€‚ใ“ใ†ใ™ใ‚‹ใจ $max(\sum A_j) : j \in S$ ใŒๆœ€ๅพŒใซ่ฟฝๅŠ ใ—ใŸ $A_i$ ใซใชใ‚‹ใ€‚ใใฎๅพŒใ€ไธŠใ‹ใ‚‰ $K$ ็•ช็›ฎใซๅคงใใ„ $B$ ใ‚’้™คใใ€‚ใ“ใ†ใ™ใ‚‹ใจ $\sum B_j : j \in S$ ใ‚’้€ๆฌกๆ›ดๆ–ฐใ™ใ‚‹ใ“ใจใง $A_i \times \sum B_j : j \in S$ ใ‚‚ๆ›ดๆ–ฐใงใใ‚‹ใ€‚ $S$ ใ‚’ $(A_i, B_i)$ ใจใ€ใใ‚Œไปฅๅค–ใฎ $K-1$ ่ฆ็ด ใ‹ใ‚‰ใชใ‚‹้›†ๅˆใซใ™ใ‚‹ใจๅˆ†ใ‹ใ‚Šใ‚„ใ™ใ„ใ€‚

ใ“ใฎ ๅฎŸ่ฃ… ใงใฏใ€ๆœ€ๅพŒใซ่ฟฝๅŠ ใ—ใŸ $A_i$ ใ‚’ใ™ใ้™คใ„ใŸใจใใฏ $max(\sum A_j) : j \in S$ ใŒ้Žๅคงใซใชใ‚‹ใ€‚ใ—ใ‹ใ—ใใฎใจใใฏใใฎๅ‰ใฎๆ“ไฝœใŒ็ญ”ใˆใชใฎใงๅ•้กŒใชใ„ใ€‚ใ‚ณใƒณใƒ†ใ‚นใƒˆใฎๅพŒใซใ“ใฎ่งฃๆณ•ใ‚’ๆ€ใ„ใคใ„ใŸใŒๆ™‚ใ™ใงใซ้…ใ—ใ€‚

Bๅ•้กŒใŒ่งฃใ‘ใšDๅ•้กŒใŒTLEใฎใพใพEๅ•้กŒใ‚’่งฃใๅง‹ใ‚ใ€2ๅฎŒใง็ต‚ใ‚ใ‚‹่จณใซใฏ่กŒใ‹ใชใ„ใฎใง้€”ไธญใง่ซฆใ‚ใฆD,Bๅ•้กŒใซ็งปใฃใŸใ€‚ๆฎ‹ใ‚Š14ๅˆ†ใงๆ”ป็•ฅใงใใชใ‹ใฃใŸใฎใ‚‚็—›ใ‹ใฃใŸใ€‚่€ƒๅฏŸๅŠ›ใŒ่ถณใ‚Šใชใ„ใจใ„ใ†ใ‚ˆใ‚Šใ€ใฉใฎๅ•้กŒใ‚’ใฉใ†ใ„ใ†้ †็•ชใงใฉใ‚Œใ ใ‘ๆ™‚้–“ใ‚’ๆŽ›ใ‘ใ‚‹ใ‹ใ€้€ฒ่กŒใŒใใ ใใ ใงใ‚ใ‚‹ใ€‚ไปŠๅ›žใฏๅ‰ๅ›žใจ็•ฐใชใ‚Šใ€Eๅ•้กŒใ‚’่ฆ‹้™ใฃใฆD,Bๅ•้กŒใซ่กŒใฃใŸใŒๆฑบๆ–ญใŒ้…ใ™ใŽใŸใ€‚

ABC 377-A

ไธ€ๅนดใถใ‚Šใซratedๅ‚ๅŠ ใ—ใชใ‹ใฃใŸใ€‚A,B,C 3ๅฎŒใฎๅคงๆ•—ใงใ‚ใ‚‹ใ€‚ใ„ใคใซใชใฃใŸใ‚‰ๆˆปใ‚Œใ‚‹ใฎใ‹ใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$S$ ใ‚’ๆ˜‡้ †ใซใ‚ฝใƒผใƒˆใ—ใฆใ€ ABC ใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚

ABC 377-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ณใƒžใ‚’็ฝฎใใŸใณใซใ€็ฝฎใ„ใŸใ‚ณใƒžใจใใฎไธŠไธ‹ๅทฆๅณใ‚’ๅก—ใ‚Šใคใถใ™ใ€‚

ABC 377-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ณใƒžใ‚’็ฝฎใใŸใณใซใ€็ฝฎใ„ใŸใ‚ณใƒžใจๅ‘จ่พบ8ใ‚ณใƒžใ‚’ std::set<std::pair<Num,Num>> ใซ่ฟฝๅŠ ใ™ใ‚‹ใ€‚้‡่ค‡ใ‚’ๆ•ฐใˆใชใ„ใ€‚

ABC 377-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไฝ•ๆ™‚้–“ๆŽ›ใ‹ใฃใŸใ‹ๅˆ†ใ‹ใ‚‰ใชใ„ใŒ่งฃใ‘ใŸใ€‚ใ‚ณใƒณใƒ†ใ‚นใƒˆใซใฏๅ…จ็„ถ้–“ใซๅˆใ‚ใชใ„ใ€‚

$1 \leq left \leq M$ ใซใคใ„ใฆใ€ๅฏพใซใชใ‚‹ๅณ็ซฏ $right$ ใ‚’ไธ€ใคใšใคๆ•ฐใˆใ‚‹ใ€‚ๆณจ็›ฎใ™ในใใฏใ€ๅŒบ้–“ $[L,R]$ ใงใ‚ใฃใฆใ€ $left \leq L$ ใฎๅŒบ้–“ใฎใ†ใกใ€ๆœ€ใ‚‚ๅฐใ•ใ„(ๅทฆๅดใซใ‚ใ‚‹) $R$ ใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ $right$ ใจใŠใใ€‚ $L &lt; left$ ใชๅŒบ้–“ใฏ็„ก่ฆ–ใ—ใฆๆง‹ใ‚ใชใ„ใ€‚

  • ใ“ใฎใ‚ˆใ†ใช $right$ ใŒๅญ˜ๅœจใ™ใ‚‹ใชใ‚‰ใ€ๅŒบ้–“ $[left, left..right-1]$ ใฏไป–ใฎๅŒบ้–“ใ‚’ๅฎŒๅ…จใซใฏๅซใพใชใ„ใ€‚ใ“ใฎ .. ใฏไธก็ซฏใ‚’ๅซใ‚€ใ€‚
  • ใ“ใฎใ‚ˆใ†ใช $right$ ใŒๅญ˜ๅœจใ—ใชใ„ใชใ‚‰ใ€ๅŒบ้–“ $[left, left..M]$ ใฏไป–ใฎๅŒบ้–“ใ‚’ๅฎŒๅ…จใซใฏๅซใพใชใ„ใ€‚

ใ“ใฎใ‚ˆใ†ใช $right$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใซใฏใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚’ไฝฟใ†ใ€‚ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎๆทปใˆๅญ—ใ‚’ๅŒบ้–“ใฎ $L$ ใจใ™ใ‚‹ใ€‚ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎๅ€ค $tree(L)$ ใ‚’ใ€ๅทฆ็ซฏใŒ $L$ ใชใ™ในใฆใฎๅŒบ้–“ใฎๆœ€ๅฐ $R$ (ใใฎใ‚ˆใ†ใชๅŒบ้–“ใŒ็„กใ‘ใ‚Œใฐ $M$ )ใจใ™ใ‚‹ใ€‚ใ“ใ†ใ™ใ‚ŒใฐไธŠ่จ˜ใฎ $right = tree(L)$ ใจใงใใ‚‹ใ€‚

ใชใœใ“ใ‚“ใชใซๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใฎใ‹ใ•ใฃใฑใ‚Šใ‚ใ‹ใ‚‰ใชใ„ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฎ้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใจ ใ“ใ† ใชใ‚‹ใ€‚ๅฐบๅ–ใ‚Šๆณ•ใฃใฝใ่งฃใ“ใ†ใจใ—ใฆๅคฑๆ•—ใ—ใŸใ€‚

ABC 377-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ตใ‚คใ‚ฏใƒซๅˆ†่งฃใพใงใฏๅˆ†ใ‹ใฃใŸใŒใ€ใใฎๅ…ˆ $2^K$ ใŒๅ…จใๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚ใƒ€ใƒ–ใƒชใƒณใ‚ฐใง่งฃใใจๆ€ใฃใŸใ‚‰ใ€ใ“ใฎๅ•้กŒใฎๆง‹้€ ใŒใƒ€ใƒ–ใƒชใƒณใ‚ฐใใฎใ‚‚ใฎใ ใฃใŸใ€‚

่งฃ่ชฌใ‚’่ชญใ‚“ใงใชใŠใ€ atcoder::pow_mod ใ‚’่‡ชไฝœใ—ใ‚ˆใ†ใจใ—ใฆๅคฑๆ•—ใ—ใŸใ€‚่‡ชไฝœpowerๅฎŸ่ฃ…ใฏ ใ“ใกใ‚‰ ใ€‚

ABC 378-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚100ๅˆ†้–“ใง่งฃใ‘ใŸใฎใฏใ€€A,B,C,D 4ๅฎŒใจไปŠไธ€ใคใฎๅ‡บๆฅใงใ‚ใ‚‹ใ€‚Fๅ•้กŒใฏ่‡ชๅŠ›ACใ—ใŸใŒใ€Eๅ•้กŒใ‚’ๆจใฆใฆๆฎ‹ใ‚Šๆ™‚้–“ใ‚’Fๅ•้กŒใซๅ…จๆŒฏใ‚Šใ™ในใใ ใฃใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅŒใ˜ๆ•ฐๅญ— $X$ ใŒ $C$ ๅ›žๅ‡บใŸใ‚‰ใ€ๆ“ไฝœใ‚’ $\lfloor C/2 \rfloor$ ๅ›žใงใใ‚‹ใฎใงใ€ใใฎๅˆ่จˆใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

ABC 378-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅค‰ๆ•ฐๅใฎไป˜ใ‘ๆ–นใŒๆ‚ชใใฆ่‡ชๅˆ†่‡ช่บซใŒๆททไนฑใ—ใŸใ€‚

ใ‚ดใƒŸใฎ็จฎ้กž $k = t_j$ ใจใ—ใฆใ€ๅŽ้›†ๅ‘จๆœŸใซใŠใ„ใฆไปŠไฝ•ๆ—ฅ็›ฎใ‹ $r_j = d_j MOD q_k$ ใจใ™ใ‚‹ใ€‚ $r_k \geq r_j$ ใชใ‚‰ๅŒใ˜ๅ‘จๆœŸใซๅ›žๅŽใ•ใ‚Œใ‚‹ใฎใง $r_k - r_j \geq 0$ ๆ—ฅๅพŒใ€ใใ†ใงใชใ‘ใ‚Œใฐๆฌกใฎๅ‘จๆœŸใซๅ›žๅŽใ•ใ‚Œใ‚‹ใฎใง $r_k + q_k - r_j$ ๆ—ฅๅพŒใงใ‚ใ‚‹ใ€‚

ABC 378-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Bๅ•้กŒใฎ็ญ”ใˆใŒๅˆใ‚ใชใ„ใฎใงๅ…ˆใซCๅ•้กŒใ‚’่งฃใ„ใŸใ€‚

้€ฃๆƒณ้…ๅˆ— $x,p$ ใฏใ€ๅ€ค $x$ ใŒ $A_i$ ใซๅ‡บ็พใ—ใŸใจใใฎๆœ€ๅพŒใฎๆทปใˆๅญ—(ใชใ‘ใ‚Œใฐ -1 )ใจใ™ใ‚‹ใ€‚ใ“ใฎ้€ฃๆƒณ้…ๅˆ—ใฎไธญ่บซใ‚’็ญ”ใˆใฆใ‹ใ‚‰ๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ใ™ใ่งฃใ‘ใŸใฎใง่ฝใก็€ใ„ใฆBๅ•้กŒใซๆˆปใฃใŸใ€‚

ABC 378-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$HW4^K$ ่งฃๆณ•ใ‚’ๅ…จๆŽข็ดขใ—ใ‚ˆใ†ใจใ—ใฆๆ€ใ„ใจใฉใพใฃใŸใ€‚่งฃ่ชฌใ‚’่ชญใ‚“ใงใ€ $HWK43^K$ ่งฃๆณ•ใ ใฃใŸใจ็Ÿฅใ‚Šใ€ใ‚ใšใ‹ใช้•ใ„ใงTLEใ‚’้€ƒใ‚ŒใŸใ€‚

ใ‚นใ‚ฟใƒผใƒˆๅœฐ็‚นใ‚’ $HW$ ้€šใ‚Šๅ…จๆŽข็ดขใ™ใ‚‹ใ€‚ใ‚นใ‚ฟใƒผใƒˆๅœฐ็‚นใ‹ใ‚‰็ตŒ่ทฏ้•ท=ๆทฑใ•ใŒ $K$ ๅ‘จใฎBFSใ‚’่กŒใ†ใ€‚ใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใ‚‹ใฎใฏใ€็พๅœจๅœฐ $(r,c)$ ใจใ€ใ“ใ‚Œใพใง่จชใ‚ŒใŸใƒžใ‚น $visited$ ใงใ‚ใ‚‹ใ€‚ใƒžใ‚นใฎ็•ชๅทใ‚’ $(r-1)W + (c-1)$ ใจใ—ใฆใ€ $visited$ ใ‚’ std::bitset<128> ใซใ™ใ‚‹ใจ้€Ÿใ่งฃใ‘ใ‚‹(103 msec)ใ€‚

$1..K$ ใฎๅๅพฉใงใ€ๅ…ƒใฎใ‚ญใƒฅใƒผใซใ‚ใ‚‹ใƒžใ‚นใ‹ใ‚‰1ๆญฉ้€ฒใ‚€(ใƒžใ‚นๅค–ใจ้šœๅฎณ็‰ฉไปฅๅค–ใซ่กŒใ‘ใ‚‹)ๅ ดๆ‰€ใ‚’ๆ–ฐใŸใชใ‚ญใƒฅใƒผใซ็ฉใฟใ€ๆ–ฐๆ—งใฎใ‚ญใƒฅใƒผใ‚’ std::swap ใ™ใ‚‹ใ€‚ๆทฑใ• $K$ ๅ‘จใฎๅพŒใฎใ‚ญใƒฅใƒผใฎ้•ทใ•ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ DFSใ™ใ‚Œใฐ ใƒกใƒขใƒชไฝฟ็”จ้‡ใฏๅ•้กŒใชใ„ใ—BFSใ‚ˆใ‚Š้€Ÿใ„ใŒ(47 msec, 3680 KB) ใ€BFSใงใ‚ญใƒฅใƒผใŒๅปถใณใฆใ„ใใฎใฏใพใšใ‹ใฃใŸใ‹ใ‚‚ใ—ใ‚Œใชใ„(ใใ‚Œใงใ‚‚103 msec, 5368 KB)ใ€‚

ABC 378-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$mod M$ ใ‚’ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใซ่ผ‰ใ›ใฆใ€ $M$ ใ‚’่ถ…ใˆใ‚‹ๆกใ‚ใตใ‚Œใ‚’ใฉใ†ใซใ‹ใ™ใ‚‹ใ“ใจใฏๅฏŸใ—ใŸใŒใ€ใใ‚ŒไปฅไธŠไฝ•ใ‚‚ใงใใชใ‹ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใซใ‚ใ‚‹้€šใ‚Šใงใ‚ใ‚‹ใ€‚ใ“ใฎ็จฎใฎๅ•้กŒใŒ่งฃใ‘ใชใ„ใฎใฏใกใ‚‡ใฃใจใพใšใ„ใŒใ€ใฉใ†ๅฏพ็ญ–ใ™ใ‚‹ใ‹ใ€‚

ABC 378-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ…ฅๅŠ›ไพ‹ใ—ใ‹ๅˆใ‚ใชใใฆๅ›ฐใฃใŸใ€‚ๅ˜็ด”ใ‚ฐใƒฉใƒ•ใงใชใ„ใ‚ฐใƒฉใƒ•ใ‚’ๆ•ฐใˆใŸใฎใŒ่›‡่ถณใ ใฃใŸใฎใ ใŒใ€ๆฐ—ใฅใใพใง1ๆ™‚้–“ไปฅไธŠๆŽ›ใ‹ใฃใŸใ€‚

ใ‚ใ‚‹ๆฌกๆ•ฐ2ใฎ้ ‚็‚น $i$ : 1ๅ€‹ไปฅไธŠใฎๆฌกๆ•ฐ3ใฎ้ ‚็‚น : ๆฌกๆ•ฐ2ใฎ้ ‚็‚นใŒ้ ‚็‚น $i$ ใ‚’ๅซใ‚ใฆ $K$ ๅ€‹ใ€ใจใ„ใ†้€ฃ็ตใ‚ฐใƒฉใƒ•ใ‚’่€ƒใˆใ‚‹ใ€‚ๆฌกๆ•ฐ2ใฎ้ ‚็‚นๅŒๅฃซใ‚’็ตในใฐ้กŒๆ„ใ‚’ๆบ€ใŸใ™ใฎใงใ€ใ“ใฎใ‚ฐใƒฉใƒ•ใซใคใ„ใฆใฏ $K(K-1)/2$ ้€šใ‚Šใฎ็ญ”ใˆใŒใ‚ใ‚‹ใ€‚

ใ“ใ‚Œใ‚’้ ‚็‚น $i=1..N$ ใซใคใ„ใฆ็นฐใ‚Š่ฟ”ใ™ใ€‚ๆฌกๆ•ฐ3ใฎ้ ‚็‚นใฏไธ€ๅบฆ่จชใ‚ŒใŸใ‚‰ไบŒๅบฆๆ•ฐใˆใชใ„ใ‚ˆใ†ใซๅฐใ‚’ใคใ‘ใ‚‹ใ€‚

ๆฌกๆ•ฐ2ใฎ้ ‚็‚นๅŒๅฃซใŒ้€ฃ็ตใ—ใฆใ„ใ‚‹ๅ ดๅˆใ€ใใ‚Œใ‚‰ใ‚’็ตในใฐๆฌกๆ•ฐ3ใฎ้ ‚็‚นใ‹ใ‚‰ๆˆใ‚‹ใƒซใƒผใƒ—ใซใฏใชใ‚‹ใŒใ€ๅ˜็ด”ใ‚ฐใƒฉใƒ•ใงใฏใชใ„ใ€‚ใ“ใ‚Œใ‚’็†่งฃใงใใชใใฆใ”ไธๅฏงใซๆ•ฐใˆใŸ็ตๆžœใ€ๅ…ฅๅŠ›ไพ‹ไปฅๅค–ใ‚’ๅ…จ้ƒจWAใ—ใŸใ€‚ๅŸบๆœฌๆ–น้‡ใŒใ‚ใฃใฆใ„ใ‚‹ใฎใซๅ…ฅๅŠ›ไพ‹ไปฅๅค–ใŒๅ…จๆป…ใ™ใ‚‹ใ“ใจใฏใ€ABCใงใฏ็ใ—ใ„ๆฐ—ใŒใ™ใ‚‹ใŒไปŠๅ›žใฏใใ†ใ„ใ†ใƒ†ใ‚นใƒˆใ‚ฑใƒผใ‚นใ ใฃใŸใ€‚

ABC 379-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚100ๅˆ†้–“ใง่งฃใ‘ใŸใฎใฏใ€€A,B,D 3ๅฎŒใจใผใ‚ใผใ‚ใงใ‚ใ‚‹ใ€‚C,Fๅ•้กŒใซใ‹ใพใ‘ใฆใ€Eๅ•้กŒใ‚’้ธใณๆใญใ€Cๅ•้กŒใซๅŠๆ—ฅใ‹ใ‹ใฃใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Leading 0sใŒใชใ„ใฎใงๆ–‡ๅญ—ๅˆ—ใซใ—ใฆไธฆใณๆ›ฟใˆใ‚‹ใ€‚ๆทปใˆๅญ—ใ‚’้–“้•ใˆใฆใ„ใใชใ‚ŠWAใ—ใŸใ€‚

ๅˆใ‚ใ‹ใ‚‰ๆ–‡ๅญ—ๅˆ—ใจใ—ใฆ่ชญใ‚ใฐใ„ใ„ใ—ใ€ std::rotate ใ‚’ไฝฟใˆใฐๆทปใˆๅญ—ใ‚’้–“้•ใˆใซใใ„ใ€‚ๅฎŸ่ฃ…ใฏ ใ“ใกใ‚‰ ใ€‚

ABC 379-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

O ใŒ $L$ ้€ฃ็ถšใ—ใฆใ„ใ‚Œใฐ $\lfloor L/K \rfloor$ ๅ›ž้ฃŸในใ‚‰ใ‚Œใ‚‹ใ€‚ไปŠๅ›žใฏๅคงๆ–‡ๅญ—ใงใ‚ใ‚‹ใ€‚

ABC 379-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅณๅดใคใพใ‚Š $N$ ใฎๅคงใใชๅดใฎใƒžใ‚นใซใ‚ใ‚‹็Ÿณใ‹ใ‚‰้ †ใซ้…ใฃใฆใ„ใใ€‚ไฝ็ฝฎ $X_i$ ใซใ‚ใ‚‹ $A_i$ ๅ€‹ใฎ็Ÿณใ‚’้…ใ‚‹ใ€‚็Ÿณใ‚’้…ใ‚Š็ต‚ใ‚ใฃใฆใ„ใชใ„ๅŒบ้–“ใ‚’ $R=N$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚

  • ็Ÿณใ‚’้…ใ‚‹ๅŒบ้–“ $[X_i, R)$ ใ‚’่ฟฝๅŠ ใ™ใ‚‹
  • ใใ‚Œใ‚ˆใ‚Šๅณๅดใซ้…ใ‚‹ใ€‚้…ใ‚‹ใจใใฏใงใใ‚‹ใ ใ‘ๅณๅดใซใ‹ใ‚‰ๅ…ˆใซ้…ใ‚‹ใ€‚ $X_i$ ใซใ‚ใ‚‹็Ÿณใ‚’ $[Y_i, Y_i+W)$ ใซ้…ใ‚‹ใ‚ณใ‚นใƒˆใฏใ€ $W (Y_i - X_i) + W(W-1)/2$ ใงใ‚ใ‚‹ใ€‚
  • ็Ÿณใ‚’ๅทฆๅดใซใฏ้…ใ‚Œใชใ„ใฎใงใ€้…ใ‚Šๅˆ‡ใ‚Œใชใ‹ใฃใŸ็Ÿณใฏๆจใฆใ‚‹
  • $R = X_i$ ใซๆ›ดๆ–ฐใ™ใ‚‹

ใจ่งฃใ‘ใ‚‹ใ€‚็Ÿณใฎๆ•ฐใŒๅˆ่จˆใ—ใ—ใฆ $N$ ใชใ‚‰่งฃใ‘ใชใ„ใฎใ ใŒใ€ใ“ใ‚Œใ‚’ๅฟ˜ใ‚ŒใŸใŸใ‚ใซๅŠๆ—ฅๆบถใ‹ใ—ใŸใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใจใฆใ‚‚ใ‚จใƒฌใ‚ฌใƒณใƒˆใงใ‚ใ‚‹ใ€‚ใใ—ใฆ็Ÿณใฎๆ•ฐใŒๅˆ่จˆใ—ใ—ใฆ $N$ ใชใ‚‰่งฃใ‘ใชใ„ใฎใ‚‚่‡ชๆ˜Žใงใ‚ใ‚‹ใ€‚็ŸณใŒๆญฃ็ขบใซ $N$ ๅ€‹ใจ่งฃใฃใฆใ„ใ‚Œใฐ็Ÿณใฎ่กŒๅ…ˆใฏไธ€ๆ„ใชใฎใงใ€ใ‚‚ใฃใจๅ˜็ด”ใชๅฎŸ่ฃ…ใŒใ‚ใ‚Šใˆใ‚‹ใ€‚ๅ…ฌๅผ่งฃ่ชฌ้€šใ‚Šใซใ™ใ‚‹ใจ ใ“ใกใ‚‰ ใ€‚

ABC 379-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไธ‹้ง„ใ‚’ๅฑฅใ‹ใ›ใ‚‹ใ€‚

ใ‚ฏใ‚จใƒชใŒๆฅใŸๆ™‚็‚นใงใฎๆ™‚ๅˆปใ‚’ $A$ (ๅˆๆœŸๅ€ค0)ใจใ™ใ‚‹ใ€‚ๆค็‰ฉใ‚’ๆคใˆใฆใ‹ใ‚‰ใฎ่ฃœๆญฃไป˜ใ็ตŒ้Žๆ™‚้–“ใ‚’ใ€ๅคš้‡้›†ๅˆ std::multiset<Num> $S$ ใง็ฎก็†ใ™ใ‚‹ใ€‚

  • ใ‚ฏใ‚จใƒช1ใŒๆฅใŸใ‚‰ใ€ $M$ ใซ $X = -A$ ใ‚’่ฟฝๅŠ ใ™ใ‚‹ใ€‚ใคใพใ‚Šใ‚ฏใ‚จใƒชใŒๆฅใŸๆ™‚็‚นใฎ $A$ ใซใ€่ฟฝๅŠ ใ—ใŸๆ™‚ๅˆป $X$ ใ‚’่ถณใ™ใจใ€ใใฎๆค็‰ฉใ‚’ๆคใˆใฆใ‹ใ‚‰ใฎ็ตŒ้Žๆ™‚้–“ใŒ $0$ ใงใ‚ใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ™ใ‚‹ใ€‚
  • ใ‚ฏใ‚จใƒช2ใŒๆฅใŸใ‚‰ใ€ $A$ ใซ $T$ ใ‚’่ถณใ™ใ€‚
  • ใ‚ฏใ‚จใƒช3ใŒๆฅใŸใ‚‰ใ€้ซ˜ใ•ใŒ $H$ ไปฅไธŠใฎๆค็‰ฉใ‚’ๅŽ็ฉซใ™ใ‚‹ใ€‚ $M$ ใฎ่ฆ็ด  $X$ ใซใคใ„ใฆใ€็พๅœจใฎ้ซ˜ใ•ใฏ $X + A$ ใงใ‚ใ‚Šใ€ๆค็‰ฉใ‚’ๆคใˆใŸๆ™‚ๅˆปใ‚’ $B$ ใจใ™ใ‚‹ใจ $A - B$ ใงใ‚ใ‚‹ใ“ใจใจไธ€่‡ดใ™ใ‚‹ใ€‚

ใ‚ฏใ‚จใƒช3ใฏ $H - A$ ไปฅไธŠใฎ่ฆ็ด ใ‚’ๆ•ฐใˆใฆๅ‰Š้™คใ™ใ‚‹ใ€‚็›ด่ฆณ็š„ใซใฏใ€ $M$ ใ‚’ๅ›บๅฎšใ—ใฆใ€ๆ™‚ๅˆปใ‚’้€ฒใ‚ใ‚‹ใ“ใจใ‚’ $A$ ใ‚’ๆธ›ใ‚‰ใ™ใ“ใจใง่กจ็พใ™ใ‚‹ใ€‚ std::multiset<Num>::lower_bound(h-a) ใ‹ใ‚‰ std::multiset<Num>::end() ใพใงใ‚คใƒ†ใƒฌใƒผใ‚ฟใ‚’ๅ›žใ—ใฆๆค็‰ฉใ‚’ๅŽ็ฉซใ—ใ€ๅŽ็ฉซใ—ใŸๆ•ฐใ‚’็ญ”ใˆใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใซใ‚ใ‚‹้€šใ‚Šใ€ๅ˜ใชใ‚‹ใ‚ญใƒฅใƒผใงใ‚ˆใ‹ใฃใŸใ€‚ๅพŒใงๆคใˆใŸๆค็‰ฉใŒๅ…ˆใซๆคใˆใŸๆค็‰ฉใ‚’่ฟฝใ„่ถŠใ™ใ“ใจใฏ็„กใ„ใฎใงใ€ไธŠ่จ˜ใฎๅฎŸ่ฃ…ใฏใ‚ชใƒผใƒใƒผใ‚นใƒšใƒƒใ‚ฏใงใ‚ใ‚‹ใ€‚ใ‚ญใƒฅใƒผใชใ‚‰ไธ‹้ง„ใฎๅฑฅใ‹ใ›ๆ–นใซ ๆ‚ฉใพใชใ„ ใ€‚

ABC 379-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Fๅ•้กŒใ‚’LISใงใ‚ใฃใ•ใ‚Š่งฃใ‘ใ‚‹ใจๆ€ใฃใŸใฎใŒๅคง้–“้•ใ„ใงใ€ๅฎŸใฏEๅ•้กŒใฎๆ–นใŒ็ฐกๅ˜ใ ใฃใŸใ€‚

ๅ…ฅๅŠ›ไพ‹ใ‹ใ‚‰ๅฏŸใ™ใ‚‹ใ“ใจใŒใงใใ‚‹ใ‚ˆใ†ใซใ€็ญ”ใˆใฎ1ๆก็›ฎใฏ $S$ ใฎ $i$ ๆก็›ฎใ‚’ $i$ ๅ›ž่ถณใ—ใŸใ‚‚ใฎใ€ใคใพใ‚Š $\sum_{i=1}^{N} i S_i$ ใงใ‚ใ‚‹ใ€‚ๅŒๆง˜ใซ็ญ”ใˆใฎ $j$ ๆก็›ฎใฏใ€ $S$ ใฎ $i$ ๆก็›ฎใ‚’ $max(0,i-(j-1))$ ๅ›ž่ถณใ—ใŸใ‚‚ใฎใ€ใคใพใ‚Š $\sum_{i=1}^{N-(j-1)} i S_i$ ใงใ‚ใ‚‹ใ€‚ $iS_i$ ใฎ้ƒจๅˆ†ใŒๅ…ฑ้€šใชใฎใง $N$ ๅ›žใฎๆ“ไฝœใง้€ๆฌก็š„ใซๆฑ‚ใ‚ใ‚‹ใ“ใจใŒใงใใ‚‹ใ€‚

$\sum_{i=1}^{N} i S_i$ ใฎ็ดฏ็ฉๅ’Œใ‚’้€†้ †ใซใ—ใŸใ‚‚ใฎใ‚’ $C_i : i=1..N$ ใจใ™ใ‚‹ใ€‚ $C_i$ ใฎ $i$ ๆก็›ฎใŒ็ญ”ใˆใฎ $i$ ๆก็›ฎใงใ‚ใ‚‹ใ€‚ใŸใ ใ— $C_i$ ใฏ10ใ‚’่ถ…ใˆใ‚‹ใ“ใจใŒใ‚ใ‚‹ใฎใงใ€ไธ‹ใฎๆกใ‹ใ‚‰็นฐไธŠใ’ใฆๅ„ๆกใ‚’10ๆœชๆบ€ใซใ—ใ€ใ‚‚ใ†็นฐใ‚ŠไธŠใ’ใ‚‹ๆกใŒใชใใชใฃใŸใ‚‰็ญ”ใˆใงใ‚ใ‚‹ใ€‚็ญ”ใˆใ‚’ไธŠใฎๆกใ‹ใ‚‰้ †ใซๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 379-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅณๅดใคใพใ‚Š $N$ ใฎๅคงใใชๅดใฎใƒ“ใƒซ $i$ ใ‹ใ‚‰LISใ‚’ๆฑ‚ใ‚ใ‚‹ใจๆ€ใฃใŸใ‚‰ๅ…จ็„ถ้•ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใซใ‚ใ‚‹้€šใ‚Šใ€ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใจใ‚นใ‚ฟใƒƒใ‚ฏใงๆฑ‚ใ‚ใ‚‹ใ€‚้ŽๅŽปๅ•ใฎๆ•™่จ“ใŒใกใฃใจใ‚‚็”Ÿใใฆใชใ„ใ€‚

ABC 380-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚100ๅˆ†้–“ใง่งฃใ‘ใŸใฎใฏใ€€A,B,C,D,E 5ๅฎŒใจไน…ใ€…ใฎๅพฉ่ชฟใ€ใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใ‚’ไธŠๅ›žใ‚‹ใƒ‘ใƒ•ใ‚ฉใŒๅ‡บใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆ•ฐๅญ—ใ‚’ๆ–‡ๅญ—ๅˆ—ใจใ—ใฆๆ‰ฑใ†ใ“ใจใ‚’่ฆšใˆใŸใ€‚ 123 ใŒๆ–‡ๅญ—ใจใ—ใฆๅ‡บ็พใ™ใ‚‹ๅ›žๆ•ฐใ‚’ๆ•ฐใˆใ‚‹ใ€‚

ABC 380-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใƒฉใƒณใƒฌใƒณใ‚ฐใ‚นๅœง็ธฎใงใ‚ใ‚‹ใ€‚้€ฃ็ถšใ™ใ‚‹ - ใ‚’ๆ•ฐใˆใ€ | ใ‚’่ฆ‹ใŸใ‚‰ใใ‚Œไปฅๅ‰ใฎ้€ฃ็ถšใ™ใ‚‹ - ใ‚’็ญ”ใˆใซ็ฉใ‚€ใ€‚ๆœ€ๅˆใฎ | ใซใคใ„ใฆใฏใใ“ใพใง0้€ฃ็ถšใชใฎใง็„ก่ฆ–ใ™ใ‚‹ใ€‚

ABC 380-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ†ใณใƒฉใƒณใƒฌใƒณใ‚ฐใ‚นๅœง็ธฎใงใ‚ใ‚‹ใ€‚้€ฃ็ถšใ™ใ‚‹ 1 ใฎๅค‰ๅŒ–็‚นใ‚’ๆ•ฐใˆใ‚‹ใ€‚ $i$ ๅ›ž็›ฎใซ 1 ไปฅๅค–ใ‹ใ‚‰ 1 ใซใชใ‚‹ๅ ดๆ‰€ใ‚’ $L_i$ ใ€ $i$ ๅ›ž็›ฎใซ 1 ใ‹ใ‚‰ 1 ไปฅๅค–ใชใ‚‹ๅ ดๆ‰€ใ‚’ $R_i$ ใจใ™ใ‚‹ใ€‚ $[R_{i-1},R_i)$ ใ‚’ใ€ $L_i$ ใŒๅ…ˆ้ ญใซใชใ‚‹ใ‚ˆใ†ใซ $S$ ใ‚’ std::rotate ใงๅ›ž่ปขใ™ใ‚‹ใ€‚

ABC 380-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$K$ ใ‚’1ๅผ•ใ„ใฆใŠใ0-based indexingใง่€ƒใˆใ‚‹ใ€‚

$W = |S|$ ๅ˜ไฝใง่€ƒใˆใ‚‹ใ€‚ $K mod W$ ๆ–‡ๅญ—็›ฎใ‚’ $C = \lfloor K / W \rfloor$ ๅ˜ไฝใซ็นฐใ‚Š่ฟ”ใ—ใŸๆ™‚ใ€ๅคงๆ–‡ๅญ—ๅฐๆ–‡ๅญ—ใŒๅ่ปขใ™ใ‚‹ใ‹ใฉใ†ใ‹่€ƒใˆใ‚‹ใ€‚ๅ่ปขใ™ใ‚‹ๅ›žๆ•ฐใฏ $C$ ใ‚’ไบŒ้€ฒๆ•ฐ่กจ่จ˜ใ—ใŸใจใใซ็ซ‹ใฃใฆใ„ใ‚‹ใƒ“ใƒƒใƒˆใฎๆ•ฐใงใ‚ใ‚‹ใ€‚ใชใœใชใ‚‰็ซ‹ใฃใฆใ„ใ‚‹ใƒ“ใƒƒใƒˆใฏใ€ $log_{2}C$ ๅ›žใฎๅ…ฅใ‚Œๅญๆ“ไฝœใซใŠใ„ใฆใ€ๅ่ปขใ™ใ‚‹็ฎ‡ๆ‰€ใซๅฏพๅฟœใ™ใ‚‹ใ‹ใ‚‰ใงใ‚ใ‚‹ใ€‚

ใ‚ˆใฃใฆ $C$ ใฎ็ซ‹ใฃใฆใ„ใ‚‹ใƒ“ใƒƒใƒˆใ‚’ std::popcount ใงๆฑ‚ใ‚ใ€ $C$ ใŒๅถๆ•ฐใชใ‚‰ $K mod W$ ๆ–‡ๅญ—็›ฎใ‚’ใใฎใพใพๅ‡บๅŠ›ใ—ใ€ๅฅ‡ๆ•ฐใชใ‚‰ๅคงๆ–‡ๅญ—ๅฐๆ–‡ๅญ—ใ‚’ๅ่ปขใ—ใฆๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 380-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใƒžใƒผใ‚ธใƒ†ใ‚ฏใ ใจๅˆ†ใ‹ใฃใŸใŒๅฎŸ่ฃ…ใซๆ‰‹ใ“ใšใฃใŸใ€‚ใƒ‡ใƒผใ‚ฟๆง‹้€ ใ‚’ๆœ€ๅˆใซๅฎšใ‚ใ‚‹ใ€‚ๅบงๆจ™ใจ่‰ฒใฏ 0-based indexingใซใ™ใ‚‹ใ€‚

  • Union-findๆœจ $T$ ใฏใ€้šฃๆŽฅใ™ใ‚‹ใƒžใ‚นใŒๅŒใ˜่‰ฒใชใ‚‰้€ฃ็ตๆˆๅˆ†ใซใ™ใ‚‹
  • ใƒžใ‚นใฎ้›†ๅˆ $G_i$ ใฏใ€ $T$ ใฎไปฃ่กจๅ…ƒ $i$ ใซๅฑžใ™ใ‚‹ใƒžใ‚นใฎ็•ชๅทใงใ‚ใ‚‹ใ€‚ๆœ€ๅคงๅ€คใจๆœ€ๅฐๅ€คใŒๅˆ†ใ‹ใ‚‹ใ‚ˆใ†ใ€ std::set ใซใ™ใ‚‹ใ€‚ๆœ€ๅคงๅ€คใจๆœ€ๅฐๅ€คใ ใ‘ๅˆ†ใ‹ใ‚Œใฐใ„ใ„ใฎใง std::set ใฏๅฎŸ่กŒๅŠน็އใŒๆ‚ชใ„ใŒใ€ใƒžใƒผใ‚ธใƒ†ใ‚ฏใงใ‚‚TLEใ—ใชใ„ใฎใงไปŠๅ›žใฏใใ†ใ—ใŸใ€‚
  • ่‰ฒใฎ้›†ๅˆ $C_i$ ใฏใ€ $T$ ใฎไปฃ่กจๅ…ƒ $i$ ใฎ่‰ฒใงใ‚ใ‚‹ใ€‚
  • ่‰ฒใฎ้›†ๅˆ $S_i$ ใฏใ€่‰ฒ $i$ ใซๅก—ใฃใŸใƒžใ‚นใฎๆ•ฐใงใ‚ใ‚‹ใ€‚่‰ฒ $i$ ใซๅก—ใฃใŸใƒžใ‚นใฏ้€ฃ็ถšใ™ใ‚‹ใจใฏ้™ใ‚‰ใชใ„ใ“ใจใซๆณจๆ„ใ™ใ‚‹ใ€‚

ใ‚ใจใฏ่‰ฒใ‚’ๅก—ใฃใŸใ‚‰ใƒžใƒผใ‚ธใƒ†ใ‚ฏใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

  • ใƒžใ‚นใ‚’ไปฅๅ‰ใจๅŒใ˜ใƒžใ‚นใงๅก—ใฃใŸๅ ดๅˆใฏ็„ก่ฆ–ใ™ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐไปฅไธ‹ใ‚’่กŒใ†ใ€‚
  • ใƒžใ‚นใฎ้€ฃ็ตๆˆๅˆ†ใซใคใ„ใฆใ€้€ฃ็ตๆˆๅˆ†ใฎไปฃ่กจๅ…ƒใ‚’ $i$ ใจใ—ใ€้€ฃ็ตๆˆๅˆ†ใฎๅคงใใ•ใ‚’ $W$ ใจใ™ใ‚‹ใ€‚ไปฅๅ‰ใฎ่‰ฒ $S_{C_{i}}$ ใ‹ใ‚‰ $W$ ๅผ•ใใ€ๆ–ฐใ—ใ„่‰ฒใ‚’ $S_{c}$ ใซ $W$ ่ถณใ—ใ€ $C_i = c$ ใซใ™ใ‚‹
  • ใƒžใ‚นใฎๅ‰ๅพŒใซใคใ„ใฆใ€ๅŒใ˜่‰ฒ $c$ ใชใ‚‰ๅˆไฝตใ™ใ‚‹ใ€‚ใคใพใ‚Š $T$ ใง้€ฃ็ตใ—ใ€ $G_i$ ใ‚’ๅˆไฝตใ™ใ‚‹ใ€‚ๅฐใ•ใช้›†ๅˆใ‚’ๅคงใใช้›†ๅˆใซๅŠ ใˆใฆใ‹ใ‚‰็ฉบ้›†ๅˆใจไบคๆ›ใ™ใ‚‹ใ€‚

$x$ ใ‚’ๅซใ‚€ไปฃ่กจๅ…ƒใŒใ€ใ‚ฏใ‚จใƒชใŒๆฅใ‚‹ๅ‰ใ€ๅทฆๅดใฎใƒžใ‚นใ‚’ๅˆไฝตใ€ๅณๅดใฎใƒžใ‚นใ‚’ๅˆไฝตใ€ใฎๆ™‚็‚นใง็•ฐใชใ‚‹ใ“ใจใŒใ‚ใ‚‹ใ€‚ใ“ใฎใจใใƒžใƒผใ‚ธใƒ†ใ‚ฏใฎๅธธๅฅ—ๆ‰‹ๆฎตใงใ‚ใ‚‹ std::swap ใฏใ€็ฉบ้›†ๅˆใจไบคๆ›ใ—ใŸๅพŒใซ่‡ชๅˆ†่‡ช่บซใ‚’ไบคๆ›ใ™ใ‚‹ใจใ€้–“้•ใฃใฆ็ฉบ้›†ๅˆใŒๆœ€็ต‚็ตๆžœใซใชใ‚‹ใ€‚ใ“ใ‚Œใ‚‰ใ‚’้–“้•ใˆใฆ2ใƒšใƒŠๅ‡บใ—ใฆใ—ใพใฃใŸใ€‚

ใใ‚‚ใใ‚‚้›†ๅˆใ‚’ใƒžใƒผใ‚ธใƒ†ใ‚ฏใ™ใ‚‹ใฎใงใฏใชใใ€ๆœ€ๅคงๆœ€ๅฐๅ€คใ‚’ ใƒžใƒผใ‚ธใ™ใ‚Œใฐ ใ“ใฎ็จฎใฎใƒใ‚ฐใฏ้˜ฒใ’ใŸๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใ€‚

ABC 380-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅฏ่ƒฝๆ‰‹ใ‚’ๅ…จๆŽข็ดขใ™ใ‚‹ใ—ใ‹ใชใ„ใจๅˆ†ใ‹ใฃใŸใŒใ€ใƒใƒใƒฃไธญใซๅฎŸ่ฃ…ใŒ็ต‚ใ‚ใ‚‰ใšใ€็ฟŒๆ—ฅใซใชใฃใฆใ‚‚2 WAsใŒๅ–ใ‚Œใš่ซฆใ‚ใŸใ€‚ไป–ใฎๆ–นใฎๅฎŸ่ฃ…ใ‚’่ฆ‹ใฆใ‚‚ใ‚„ใฏใ‚Šๅฏ่ƒฝๆ‰‹ใ‚’ๅ…จๆŽข็ดขใ™ใ‚‹ใ—ใ‹ใชใ„ใฎใ ใŒใ€ใฉใ“ใงๅฎŸ่ฃ…ใ‚’่ชคใฃใŸใฎใ‹ๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

ใ“ใฎใ‚ฒใƒผใƒ ๆœจใฏๅ…ˆๆ‰‹ใจๅพŒๆ‰‹ใŒๅŒใ˜็Šถๆ…‹ใซใŸใฉใ‚Š็€ใๅฏ่ƒฝๆ€งใ‚’่€ƒๆ…ฎใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆใ‚ฒใƒผใƒ ๆœจใจใ„ใ†ใ‚ˆใ‚Šforestใงใ‚ใ‚‹ใ€‚ไพ‹ใˆใฐๅˆๆœŸ็Šถๆ…‹ $[(2),(3),(1)]$ ใ‹ใ‚‰ $[(),(2),(1,3)]$ ใซใŸใฉใ‚Š็€ใใŒใ€ $[(1),(3),(2)], [(1),(2),(3)]$ ็ตŒ็”ฑใ ใจๅพŒๆ‰‹ใ€ $[(),(3),(1,2)]$ ็ตŒ็”ฑใ ใจๅ…ˆๆ‰‹ใงใ‚ใ‚‹ใ€‚

ใใฎใŸใ‚็›ค้ข็ฎก็†ใฏใ€้ƒจๅˆ†ใ‚ฒใƒผใƒ ใงๅ‹ใคใ‹ใฉใ†ใ‹ใ‚’ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ™ใ‚‹ใ€‚้ƒจๅˆ†ใ‚ฒใƒผใƒ ใฎไธ€ๆ‰‹ๅ…ˆใงๅพŒๆ‰‹ๅฟ…ๆ•—ใชใ‚‰ใ€ใ“ใฎ้ƒจๅˆ†ใ‚ฒใƒผใƒ ใฏๅ…ˆๆ‰‹ๅฟ…ๅ‹ใ€ใใ†ใ„ใ†็ŠถๆณใŒใชใ‘ใ‚Œใฐใ“ใฎ้ƒจๅˆ†ใ‚ฒใƒผใƒ ใฏๅพŒๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹ใ€‚ๆ‰‹ๆœญใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใฆไธ€ๆ‰‹ๅ…ˆใ‚’่€ƒใˆใ‚Œใฐใ€ไปŠใฉใกใ‚‰ใฎๆ‰‹็•ชใชใฎใ‹่€ƒใˆใชใใฆใ‚ˆใใชใ‚‹ใ€‚ใจใ„ใ†ใ‚ˆใ‚Šๅ…ˆๆ‰‹ใจๅพŒๆ‰‹ใŒๅŒใ˜็Šถๆ…‹ใซใŸใฉใ‚Š็€ใๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใฎใงๆ‰‹็•ชใ‚’่€ƒใˆใฆใฏใชใ‚‰ใชใ„ใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ54ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ54ๅ›ž็›ฎใฏ ARC 187 ใงใ‚ใ‚‹ใ€‚1ๅ•ใ‚‚่งฃใ‘ใšใซ็ต‚ใ‚ใฃใŸใŒใ€่งฃใ‘ใ‚‹ๅ•้กŒใŒAๅ•้กŒใ—ใ‹ใชใ‹ใฃใŸใฎใงใ€ABCใจ้•ใฃใฆ่ฟทใ„ใŒ็„กใๆœ€ๅพŒใพใงๆฐ—ๅˆ†ใŒ่ฝใก็€ใ„ใŸใ€‚็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸABC 380ใŒใพใ‚ใพใ‚ใ ใฃใŸใฎใฏใ€2ๆ™‚้–“ใ‚ณใƒณใƒ†ใ‚นใƒˆใซ้›†ไธญใ™ใ‚‹ๆ„Ÿ่ฆšใ‚’ๅ–ใ‚Šๆˆปใ—ใŸใ‹ใ‚‚ใ—ใ‚Œใชใ„ใ€‚

ABC 381-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚100ๅˆ†้–“ใง่งฃใ‘ใŸใฎใฏใ€€A,B,C,D 4ๅฎŒใจไปŠๅ›žใ‚‚ใผใ‚ใผใ‚ใงใ‚ใ‚‹ใ€‚ใใฎๅพŒEๅ•้กŒใ‚’่‡ชๅŠ›ACใ—ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡ใฎๆกไปถใ‚’่ชญใฟ้•ใˆใฆๆ—ฉ้€Ÿ1ใƒšใƒŠใ—ใŸใ€‚ๆ–‡ๅญ—ๅˆ—ใŒๅฅ‡ๆ•ฐ้•ทใ‹ใฉใ†ใ‹ใฏ่ชฟในใชใ„ใจๅˆ†ใ‹ใ‚‰ใชใ„ใ€‚ๅพŒใฏ0-based indexingใซๆณจๆ„ใ—ใฆ้กŒๆ„้€šใ‚Š่ชฟในใ‚‹ใ€‚

ABC 381-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Aๅ•้กŒใจ้•ใฃใฆใ€ๆ–‡ๅญ—ๅˆ—ใŒๅถๆ•ฐ้•ทใ‹ใฉใ†ใ‹่ชฟในใŸใ€‚ๅพŒใฏ0-based indexingใซๆณจๆ„ใ—ใฆ้กŒๆ„้€šใ‚Š่ชฟในใ‚‹ใ€‚

ABC 381-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆœ€ๅˆใซ / ใฎไฝ็ฝฎใ‚’ๅ…จ้ƒจ่ชฟในใ‚‹ใ€‚ใใ‚Œใžใ‚Œใฎ / ใฎไฝ็ฝฎใ‹ใ‚‰ 12 ใ‚’ๅทฆๅณใซๅบƒใ’ใ‚‰ใ‚Œใ‚‹ใ ใ‘ๅบƒใ’ใฆใ€ๆœ€ใ‚‚ๅบƒใ„ๅน…ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ๅŒใ˜ๆ–‡ๅญ—ใฏๅทฆๅณใ‹ใ‚‰ไฝตใ›ใฆๆœ€ๅคง2ๅ›žใ—ใ‹ใฟใชใ„ใฎใง $O(N)$ ใงใ‚ใ‚‹ใ€‚

ABC 381-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

็€ๆƒณใฏใ‚ˆใ‹ใฃใŸใŒใƒ‡ใƒใƒƒใ‚ฐใง่‹ฆใ—ใฟใ€12ใƒšใƒŠ72ๅˆ†ๆŽ›ใ‹ใฃใŸใ€‚

0-based indexingใง่€ƒใˆใ‚‹ใ€‚้šฃใ‚Šๅˆใ†ๆ•ฐๅญ—ใŒๅŒใ˜ $A_{2i} = A_{2i+1}$ ใจใ„ใ†็ŠถๆณใŒไฝ•ๅ›ž็ถšใใ‹ใ‚’ใƒฉใƒณใƒฌใƒณใ‚ฐใ‚นๅœง็ธฎใ™ใ‚‹ใ€‚ใƒฉใƒณ $(L,W)$ ใฏใ€ $i=0..(W-1)$ ใซใคใ„ใฆ $A_{2(L+i)} = A_{2(L+i)+1}$ ใŒๆˆใ‚Š็ซ‹ใคใ“ใจใ‚’็คบใ™ใ€‚ๅทฆ็ซฏใ‚’ๅ…ƒใ€…ใฎ $A$ ใฎๅถๆ•ฐ็•ช็›ฎใจๅฅ‡ๆ•ฐ็•ช็›ฎใฎไธกๆ–นใซใคใ„ใฆ่€ƒใˆใ‚‹ใ€‚ๅฅ‡ๆ•ฐ็•ช็›ฎใฏ std::rotate ใง1ๅ€‹ๅˆ†ๅทฆใ‚ทใƒ•ใƒˆใ—ใฆ $N$ ใ‚’1ๆธ›ใ‚‰ใ›ใฐใ‚ˆใ„ใ€‚็ญ”ใˆใฎๅˆๆœŸๅ€คใ‚’ $ans = 0$ ใจใ™ใ‚‹ใ€‚

ใ‚ใ‚‹ใƒฉใƒณ $(L,W)$ ใซใคใ„ใฆใ€็ญ”ใˆใฏ $2W$ ใ‚’่ถ…ใˆใชใ„ใ€‚ $i=0..(W-1)$ ใซใคใ„ใฆใ€ใ„ใพๆณจ็›ฎใ—ใฆใ„ใ‚‹ๆ•ฐๅญ— $a = A_{2(L+i)}$ ใŒๆ—ขๅ‡บใชใฎใงๅŒบ้–“ใ‚’็Ÿญใใ—ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ‹ใฉใ†ใ‹ใซๆณจ็›ฎใ—ใ€ๅฐบๅ–ใ‚Šๆณ•ใงๆฑ‚ใ‚ใ‚‹ใ€‚

ใƒฉใƒณใ‚’ใฟใ‚‹ใจใใ€ๅŒบ้–“ใฎๅทฆ็ซฏใ‚’ $G = -1$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚ใพใŸใ‚ใ‚‹ๆ•ฐ $a$ ใŒๆœ€ๅพŒใซๅ‡บใŸไฝ็ฝฎใ‚’ $T[a]$ ใจใ™ใ‚‹(ใพใ ๅ‡บใฆใ„ใชใ„ใชใ‚‰-1)ใ€‚ใ‚ใ‚‹ $i$ ใซใคใ„ใฆ $G = max(G, T[a])$ ใงๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ใ“ใฎ $max$ ใ‚’ๅฟ˜ใ‚Œใฆใƒใ‚ฐใฎๅฑฑใ‚’็ฏ‰ใ„ใŸใ€‚ๆฌกใซ็ญ”ใˆใ‚’ $ans = max(ans, i - G)$ ใงๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ใใฎๅพŒ $T[a] = i$ ใงๆ›ดๆ–ฐใ™ใ‚‹ใ€‚

ใ™ในใฆใฎใƒฉใƒณใซใคใ„ใฆใฎใ™ในใฆใฎ็Šถๆณใฎๆœ€ๅคงๅ€คใŒ $2 \times ans$ ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใ“ใฎๆ–นๆณ•ใฏๅ…ฌๅผ่งฃ่ชฌ1ใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚

ABC 381-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใซ่ผ‰ใ›ใ‚ˆใ†ใจใ—ใฆๆ•ฐๅๅˆ†ใ‚’็„ก้ง„ใซใ—ใŸใ€‚

ๆœ€ๅˆใซ / ใฎไฝ็ฝฎใ‚’ๅ…จ้ƒจ่ชฟในใ‚‹ใ€‚ใ“ใฎไฝ็ฝฎใฎ้›†ๅˆใ‚’ $P$ ใจใ™ใ‚‹ใ€‚ๆฌกใซใ€ $T$ ใฎๅ…ˆ้ ญใ‹ใ‚‰ 1 ใŒๅ‡บ็พใ—ใŸๅ›žๆ•ฐใฎ็ดฏ็ฉๅ’Œใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚1-based indexingใง $i$ ๆ–‡ๅญ—็›ฎใพใงใฎ็ดฏ็ฉๅ’Œใ‚’ $C1_i$ ใจใ™ใ‚‹ใ€‚ๅŒๆง˜ใซ $T$ ใฎๅ…ˆ้ ญใ‹ใ‚‰ 2 ใŒๅ‡บ็พใ—ใŸๅ›žๆ•ฐใฎ็ดฏ็ฉๅ’Œ $C2$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

ใ‚ฏใ‚จใƒช $L,R$ ใซใคใ„ใฆใ€ๅŒบ้–“ $[L,R]$ ใซ / ใŒใชใ‘ใ‚Œใฐ็ญ”ใˆใฏ0ใงใ‚ใ‚‹ใ€‚ๅฐ‘ใชใใจใ‚‚ไธ€ใคไปฅไธŠใฎ / ใŒใ‚ใ‚‹ใจใ—ใฆใ€ๆœ€้ฉใช / ใฎไฝ็ฝฎใ‚’ไบŒๅˆ†ๆŽข็ดขใ™ใ‚‹ใ€‚

$p \in [L,R]$ ใซใคใ„ใฆใ€ $p$ ใ‚ˆใ‚Šๅทฆๅดใซใ‚ใ‚‹ 1 ใฎๆ•ฐใฏ $B1_p = C1_{p} - C1_{L-1}$ ๅ€‹ใงใ‚ใ‚‹ใ€‚ $p$ ใ‚ˆใ‚Šๅณๅดใซใ‚ใ‚‹ 2 ใฎๆ•ฐใฏ $B2_p = C2_{R} - C2_{p}$ ๅ€‹ใงใ‚ใ‚‹ใ€‚ $B1_p$ ใฏ $p$ ใซๅฏพใ—ใฆๅ˜่ชฟๅข—ๅŠ ใ€ $B2_p$ ใฏ $p$ ใซๅฏพใ—ใฆๅ˜่ชฟๆธ›ๅฐ‘ใชใฎใงใ€ $D_P = B1_p -B2_p$ ใ‚‚ๅ˜่ชฟๅข—ๅŠ ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ $D_p$ ใŒ่ฒ ใ‹ใ‚‰้ž่ฒ ใซๅค‰ใ‚ใฃใŸไฝ็ฝฎใ‚’ $j \in P$ ใจใ™ใ‚‹ใ€‚ใ‚ˆใ‚ŠๅŽณๅฏ†ใซใฏ $P$ ใซๅซใพใ‚Œ $L &lt; k &lt; j$ ใ‚’ๆบ€ใŸใ™ๆœ€ๅคงใฎ $k$ ใŒใ‚ใ‚‹ใจใใ€ $D_{k} &lt; 0 \land D_{j} \geq 0$ ใ‚’ๆบ€ใŸใ™ $k$ ใจใ‚‚ใ—ใ‚ใ‚Œใฐ $j$ ใจใ™ใ‚‹ใ€‚

/ ใฎๅ€™่ฃœ $c$ ใจใ—ใฆใ€ $min([L,R]), k, j, max([L,R])$ ใŒใ‚ใ‚‹ใ€‚ใใ‚Œใžใ‚Œใซใคใ„ใฆ11/22ๆ–‡ๅญ—ๅˆ—้•ทใ‚’ $1 + min(P1_c, P2_c)$ ใงๆฑ‚ใ‚ใ€ใใ‚Œใ‚‰ใฎๆœ€ๅคงๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ $k,j$ ใŒ็ฏ„ๅ›ฒๅค–ใซใชใ‚‰ใชใ„ใ‚ˆใ†ใซๆฐ—ใ‚’ไป˜ใ‘ใ‚‹ใ€‚

ใ“ใฎๆ–นๆณ•ใฏๅ…ฌๅผ่งฃ่ชฌ2(ๅˆฅ่งฃ)ใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ55ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ55ๅ›ž็›ฎใฏ ARC 188 ใงใ‚ใ‚‹ใ€‚Bๅ•้กŒใ‚’26ๅˆ†17็ง’ใง่งฃใ„ใฆ้ป„ใƒ‘ใƒ•ใ‚ฉใ€้’diffใ‚’ACใ—ใŸใฎใฏๅˆใ‚ใฆใ ใฃใŸใ€‚ABCใ‚ˆใ‚ŠARCใฎๆ–นใŒๆ˜Žใ‚‰ใ‹ใซ้ซ˜ใ„ใƒ‘ใƒ•ใ‚ฉใงใ‚ใ‚‹ใ€‚

ABC 382-ๆœ€ๆ–ฐ (ใ‚ณใƒณใƒ†ใ‚นใƒˆ56..ๅ›ž็›ฎ)

ABC 382-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚100ๅˆ†้–“ใง่งฃใ‘ใŸใฎใฏใ€€A,B,C,D 4ๅฎŒใจไปŠๅ›žใ‚‚ไปŠไธ€ใคใงใ‚ใ‚‹ใ€‚Fๅ•้กŒใ‚’ๆจใฆใฆEๅ•้กŒใ‚’่งฃใ„ใŸใ‚‰100ๅˆ†ใซๅŽใพใ‚‰ใš(ใใฎๅพŒ่‡ชๅŠ›ACใ—ใŸ)ใ€ๆจใฆใŸFๅ•้กŒใฎๆ–นใŒใฏใ‚‹ใ‹ใซ็ฐกๅ˜ใ ใฃใŸ(ใใฎๅพŒ่‡ชๅŠ›ACใ—ใŸ)ใ€‚็›ธๅค‰ใ‚ใ‚‰ใš็ขบ็އDPใ‚‚่ฉฆๅˆ้‹ใณใ‚‚ไธ‹ๆ‰‹ใงใ‚ใ‚‹ใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

. ใŒ $A$ ๅ€‹ใ€ @ ใŒ $B$ ๅ€‹ใ‚ใ‚‹ใ“ใจใ‚’ๆ•ฐใˆใฆใ€ $A + B - D$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 382-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$S$ ใ‚’ๅณใ‹ใ‚‰้ †ใซใฟใฆใ€ๆœ€ๅคง $D$ ๅ€‹ใฎ @ ใ‚’ . ใซ็ฝฎใๆ›ใˆใ‚‹ใ€‚

ABC 382-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

็พŽ้ฃŸๅบฆ $A$ ใฎไบบใฎๆœ€ๅฐใฎๆทปใˆๅญ— $i$ ใ‚’ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ $T[A] = i$ ใซ่ผ‰ใ›ใ‚‹(่ฉฒๅฝ“่€…ใŒใ„ใชใ‘ใ‚Œใฐ $T[A] = \infty$ ใ€‚ใŠใ„ใ—ใ• $B$ ใฎๅฏฟๅธใ‚’้ฃŸในใ‚‹ใฎใฏ $T[0,B]$ ใฎๆœ€ๅฐๅ€ค( $\infty$ ใชใ‚‰ -1 )ใฎไบบใงใ‚ใ‚‹ใ€‚ๅŒใ˜็พŽ้ฃŸๅบฆใฎไบบใŒ่ค‡ๆ•ฐใ„ใŸใ‚‰ๆœ€ๅฐใฎๆทปใˆๅญ— $i$ ใฎไบบใŒ็ทๅ–ใ‚Šใ™ใ‚‹ใ“ใจใ‚’่‡ช็„ถใจ่กจ็พใงใใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌ้€šใ‚ŠใซๅฎŸ่ฃ…ใ™ใ‚‹ใจ ใ“ใฎใ‚ˆใ†ใซ ใชใ‚‹ใ€‚

ABC 382-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ…จๅˆ—ๆŒ™ใ‚’ๆฑ‚ใ‚ใ‚‰ใ‚Œใฆใ„ใ‚‹ใฎใงใ€DFSใงๆฑ‚ใ‚ใ‚‹ใ€‚ๅˆถ็ด„ใฏไปฅไธ‹ใฎ้€šใ‚Šใงใ‚ใ‚‹ใ€‚DFSใ™ใ‚Œใฐ่‡ช็„ถใจ่พžๆ›ธ้ †ใซใชใ‚‹ใ€‚

  • ๅ•้กŒๆ–‡้€šใ‚Š $A_{i-1} \leq A_i$
  • ๅ•้กŒๆ–‡ใซๅŠ ใˆใฆ $1 \leq A_{i-1} + 10 \leq A_{i} + 10(N-i) \leq M$

ABC 382-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅŸบๆœฌๆ–น้‡ใฏใ™ใ็ซ‹ใฃใŸใŒใ€่จˆ็ฎ—้‡ใ‚’ๅ‰Šๆธ›ใ™ใ‚‹ใฎใซๆ‰‹้–“ๅ–ใฃใฆ100ๅˆ†ใซๅŽใพใ‚‰ใชใ‹ใฃใŸใ€‚

1ใƒ‘ใƒƒใ‚ฏใ‚’้–‹ใ‘ใŸๆ™‚ใซใ€ใƒฌใ‚ขใ‚ซใƒผใƒ‰ใŒ $0..N$ ๆžšๅข—ใˆใ‚‹็ขบ็އใ‚’ $P[0..N]$ ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใ0ๆžšๅข—ใˆใ‚‹ใจ่จˆ็ฎ—ใŒๅคงๅค‰ใชใฎใงใ€1ๆžšไปฅไธŠๅข—ใˆใ‚‹็ขบ็އใ‚’ $S = 1 - P[0]$ ใจๅฎšใ‚ใ‚‹ใ€‚

ใƒฌใ‚ขใ‚ซใƒผใƒ‰ใŒ $i$ ๆžšใ‚ใ‚‹็Šถๆ…‹ใซใชใ‚‹็ขบ็އใ‚’ $DP[i=0..(N-1)]$ ใจใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€คใฏ $DP[] = 0$, $DP[0] = 1$ ใงใ‚ใ‚‹ใ€‚DPใฎ้€”ไธญใงๆฑ‚ใพใ‚‹็ดฏ็ฉๆœŸๅพ…ๅ€คใ‚’ $E$ ใจใ™ใ‚‹ใ€‚ $from=0..(X-1)$ ใซใคใ„ใฆDPใฎๆผธๅŒ–ๅผใงๆ›ดๆ–ฐใ™ใ‚‹ใ€‚

  • $NextDP = DP$ ใจใ™ใ‚‹
  • $E$ ใซ $S \times DP[from]$ ใ‚’่ถณใ™ใ€‚ใคใพใ‚Š $from &lt; X$ ใชใ‚‰็ตๆžœใฏใฉใ†ใ‚ใ‚Œ $S$ ใƒ‘ใƒƒใ‚ฏๅผ•ใใฎใงใ€ $DP[from]$ ใซใชใ‚‹็ขบ็އใ‚’ๆŽ›ใ‘ใฆใ‹ใ‚‰่ถณใ™ใ€‚
  • $added = 1..N$ ใจใ™ใ‚‹ใ€‚ใƒฌใ‚ขใ‚ซใƒผใƒ‰ใฏ $to = from + added$ ๆžšใซใชใ‚‹ใ€‚ $to \geq X$ ใชใ‚‰ใƒฌใ‚ขใ‚ซใƒผใƒ‰ใŒใใ‚ใฃใŸใฎใงไฝ•ใ‚‚ใ—ใชใ„ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ $NextDP[to]$ ใซ $DP[from] \times P[added] \times S$ ใ‚’่ถณใ™ใ€‚ใคใพใ‚Š้ท็งปๅ‰ใฎ็Šถๆ…‹ใซใ„ใ‚‹็ขบ็އ $DP[from]$ ใซ้ท็งปใ™ใ‚‹็ขบ็އ $P[added] \times S$ ใ‚’ๆŽ›ใ‘ใ‚‹ใ€‚0ๆžšๅผ•ใ้ท็งปใ‚’ๅ‰Š้™คใ—ใŸใฎใง $S$ ใ‚’ๆŽ›ใ‘ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚
  • $DP$ ใ‚’ $NextDP$ ใง็ฝฎใๆ›ใˆใ‚‹

ไธŠ่จ˜ใฎๅๅพฉใฏ $O(NX)$ ๅ›žใงใ‚ใ‚Šใ€ๅๅพฉใŒ็ต‚ใ‚ใฃใŸใจใใฎ $E$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 382-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Eๅ•้กŒใซ็†ฑไธญใ™ใ‚‹ใ‚ใพใ‚Šใ€Fๅ•้กŒใฎๆ–นใŒ็ฐกๅ˜ใชใฎใ‚’ใ™ใฃใ‹ใ‚Š่ฆ‹้Žใ”ใ—ใŸใ€‚ๅ•้กŒ้ธใณใฎๅคฑๆ•—ใฏไฝ•ๅบฆ็›ฎใ ใ‚ใ†(ใƒใƒใƒฃใงไป–ไบบใฎๆญฃ่งฃ่€…ๆ•ฐใ‚’่ฆ‹ใฆใ„ใชใ‹ใฃใŸใฎใ‚‚ใ‚ใ‚‹ใŒ)ใ€‚

ๅ•้กŒๆ–‡ใ‚’ใฟใฆใ™ใใซใ€้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ $T$ ใซ่ผ‰ใ›ใ‚Œใฐใ„ใ„ใจๅˆ†ใ‹ใ‚‹ใ€‚ๅˆ— $c$ ใซ็ฝฎใ‹ใ‚ŒใŸๆœ€ไธŠ(็•ชๅทใŒๅฐใ•ใ„)ใฎใƒใƒผใฎ่กŒ็•ชๅทใ‚’ $T[c]$ ใจใ™ใ‚‹ใ€‚ใใฎใ‚ˆใ†ใชใƒใƒผใŒใชใ‘ใ‚Œใฐ $H+1$ ใจใ™ใ‚‹ใ€‚

ๅŒบ้–“ $[C, C+L)$ ใ‚’ๅ ใ‚ใ‚‹ใƒใƒผใฏใ€ๆ—ขใซ็ฝฎใ„ใฆใ‚ใ‚‹ใƒใƒผใซใคใ„ใฆๅŒบ้–“ $[C, C+L)$ ใฎๆœ€ใ‚‚ไธŠใซใ‚ใ‚‹(็•ชๅทใŒๅฐใ•ใ„)่กŒใ‚’ $r$ ใจใ—ใŸใจใ(ใชใ‘ใ‚Œใฐ $H+1$ )ใ€ $r-1$ ใซ็ฝฎใใ€‚ใ“ใ‚Œใฏ $T.prod([C,C+L])$ ใงๆฑ‚ใพใ‚‹ใ€‚

ใ“ใ“ใพใงๅˆ†ใ‹ใ‚Œใฐใ€ใ™ในใฆใฎใƒใƒผใ‚’ $R$ ใฎ้™้ †ใซใ‚ฝใƒผใƒˆใ—ใฆใ€ใƒใƒผใ‚’ไธŠ่จ˜ใฎ้€šใ‚Š็ฝฎใใ€้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚’ $T.apply([C,C+L], r-1)$ ใงๆ›ดๆ–ฐใ™ใ‚‹ใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ56ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ56ๅ›ž็›ฎใฏ ARC Div. 2 189 ใงใ‚ใ‚‹ใ€‚1ๅ•ใ‚‚่งฃใ‘ใšใซ็ต‚ใ‚ใฃใŸใ€‚ใ‚ใจไธ€ๆญฉใงๆญฃ่งฃใ ใฃใŸใŒใ€ใใฎไธ€ๆญฉใŒ้ ใ„ใ€‚

ABC 383-A

ใƒใƒใƒฃใงใฏใชใใ€ๅ„ๅ•้กŒใ‚’diffใ‚’็ŸฅใฃใŸไธŠใง่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆœ€ๅพŒใซ็ตฆๆฐดใ—ใŸๆ™‚ๅˆปใจๅˆๆœŸๅ€คใ‚’ $L = 0$ ใ€ๆœ€ๅพŒใซ็ตฆๆฐดใ—ใŸใจใใฎๆฐด้‡ใ‚’ $S = 0$ ใจใ™ใ‚‹ใ€‚

$i$ ๅ›ž็›ฎใฎ็ตฆๆฐดๆ™‚ใซใ€ๆฐด้‡ใฏ $A = max(0, S - (T_i - L))$ ใงใ‚ใ‚‹ใ€‚ใ“ใ“ใซ็ตฆๆฐดใ—ใฆใ€ $L = T_i$, $S = A + V_i$ ใซใชใ‚‹ใ€‚ $N$ ๅ›žใฎ็ตฆๆฐดใŒ็ต‚ใ‚ใฃใŸๅพŒใฎ $S$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 383-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$O(H^3W^3)$ ใฎ็ทๅฝ“ใŸใ‚Šใงๆฑ‚ใ‚ใ‚‹ใ€‚

ABC 383-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒใ‚’่งฃใๅ‰ใซBFSใจใ„ใ†่จ€่‘‰ใŒใกใ‚‰ใฃใจ่ฆ‹ใˆใฆใ—ใพใฃใŸใŒใ€ใฉใ†่€ƒใˆใฆใ‚‚ๅŠ ๆนฟๅ™จใ‚’ๅง‹็‚นใจใ—ใฆๅ…จๆ–นไฝBFSใ™ใ‚‹ใ—ใ‹ใชใ•ใใ†ใงใ‚ใ‚‹ใ€‚

BFSใฎ้ †็•ชใ‚’่ชคใ‚‹ใจTLEใ™ใ‚‹ใ€‚ใ‚ใ‚‹ๅบŠใซใคใ„ใฆใ€ใ‚ใ‚‹ๅŠ ๆนฟๅ™จใ‹ใ‚‰ใฎ่ท้›ขใŒ็Ÿญใ„=ๆฎ‹ใ‚Šๅˆฐ้”ๅฏ่ƒฝ่ท้›ขใŒ้•ทใ„ใจใใฏใ€ใใ‚Œใ‚ˆใ‚Š็Ÿญใ„ๅŠ ๆนฟๅ™จใฏ็„ก่ฆ–ใ—ใฆใ‚ˆใ„ใ€‚ใ“ใฎๅ„ชๅ…ˆ้ †ใ‚’่‡ช็„ถใซ้”ๆˆใ™ใ‚‹ใซใฏใ€ๆฎ‹ใ‚Šๅˆฐ้”ๅฏ่ƒฝ่ท้›ข $D..0$ ใฎ้ †็•ชใซBFSใ™ใ‚‹ใ€‚

  • ใใ‚Œใžใ‚ŒๅŠ ๆนฟๅ™จใฎใ‚ใ‚‹ใƒžใ‚นใ‚’ใ‚ญใƒฅใƒผใฎๅˆๆœŸใƒกใƒณใƒใซใ™ใ‚‹
  • ใ‚ญใƒฅใƒผใ‹ใ‚‰ๅŠ ๆนฟๅ™จใพใŸใฏๅบŠ $F$ ใ‚’ๅ–ใ‚Šๅ‡บใ™ใ€‚ใ“ใฎใจใๆฎ‹ใ‚Šๅˆฐ้”ๅฏ่ƒฝ่ท้›ขใ‚’ $L$ ใจใ™ใ‚‹ใ€‚ $C$ ใฎไธŠไธ‹ๅทฆๅณใใ‚Œใžใ‚ŒใฎๅŠ ๆนฟๅ™จใพใŸใฏๅบŠ $T$ ใซใคใ„ใฆใ€ $T$ ใฎๆฎ‹ใ‚Šๅˆฐ้”ๅฏ่ƒฝ่ท้›ขใŒ $L-1$ ใ‚ˆใ‚Š็Ÿญใ‘ใ‚Œใฐใ‚ญใƒฅใƒผใซ $T$ ใ‚’ๅ…ฅใ‚Œใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐไป–ใฎๅŠ ๆนฟๅ™จใŒใ‚ซใƒใƒผใ—ใฆใ„ใ‚‹ใฎใงใ‚ญใƒฅใƒผใซๅ…ฅใ‚Œใชใ„(ๅ…ฅใ‚Œใ‚‹ใจTLEใ™ใ‚‹)ใ€‚
  • ใ“ใฎๆŽข็ดขใฏใ€ใ‚ใ‚‹ๅŠ ๆนฟๅ™จใพใŸใฏๅบŠใซใคใ„ใฆไธŠไธ‹ๅทฆๅณใ‹ใ‚‰่ฆ‹ใ‚‹4ๅ›žใ—ใ‹่กŒใ‚ใชใ„ใฎใงใ€่จˆ็ฎ—้‡ใฏใƒžใ‚นใฎๆ•ฐ $O(HW)$ ใงใ‚ใ‚‹

ๅฎŸ่ฃ…ไธŠใฎใƒ†ใ‚ฏใƒ‹ใƒƒใ‚ฏใจใ—ใฆใ€ใ‚ใ‚‹ๅบŠใฎๆฎ‹ใ‚Šๅˆฐ้”ๅฏ่ƒฝ่ท้›ขใ‚’ std::optional<Num> ใซใ™ใ‚‹ใ€‚ๅ€คใจใ—ใฆใ€ๅŠ ๆนฟๅ™จใฏ $D$ ใ€ๅฃใฏ $\infty$ ใ€ๅบŠใฎๅˆๆœŸๅ€คใฏๅ€ค็„กใ—ใงไธŠ่จ˜ใฎๅๅพฉใงๅ€คใ‚’ๆ›ธใ่พผใ‚€ใ€‚ๅ€คใŒๆ›ธใ่พผใพใ‚Œใฆๅ€คใŒ $\infty$ ใงใฏใชใ„้ž่ฒ ใชใƒžใ‚นใฎๆ•ฐใŒ็ญ”ใˆใงใ‚ใ‚‹(ๅฃใฏ็„ก้™ๅคง)ใ€‚

ABC 383-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

C++ใฎๅŠ›ใงใ”ใ‚ŠๆŠผใ—ใ—ใŸใ€‚

ๆœ€ๅˆใซใ‚จใƒฉใƒˆใ‚นใƒ†ใƒใ‚นใฎ็ฏฉใงใ€ $2..2000000$ ใฎ็ด„ๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ‚‚ใ—ใ‹ใ—ใŸใ‚‰ไบ‹ๅ‰ใซๆฑ‚ใ‚ใ‚‹ๆ–นใŒๆ—ฉใ„ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใ€‚

็ญ”ใˆใฏๅนณๆ–นๆ•ฐใ—ใ‹ใชใ„ใฎใงใ€ $i=2..2000000$ ใซใคใ„ใฆ $i^2 \geq N$ ใซใชใ‚‹ $i^2$ ใŒ็ญ”ใˆใฎๅ€™่ฃœใงใ‚ใ‚‹ใ€‚ $i$ ใŒๅนณๆ–นๆ•ฐใชใ‚‰ใ€ $1ใจi$ ใ‚’ๅซใ‚€ $i$ ใฎ็ด„ๆ•ฐใŒ5ๅ€‹ใชใ‚‰ $i^2$ ใฏใกใ‚‡ใ†ใฉ9ๅ€‹ใฎ็ด„ๆ•ฐใ‚’ๆŒใคใ€‚ $i$ ใŒๅนณๆ–นๆ•ฐใงใชใ‘ใ‚Œใฐใ€ $1ใจi$ ไปฅๅค–ใฎ็ด„ๆ•ฐใ‚’ๆŽ›ใ‘ใฆ $i$ ใ‚’่ถ…ใˆใชใ‘ใ‚Œใฐ $i^2$ ใฎ็ด„ๆ•ฐใงใ‚ใ‚‹ใ€‚ $i$ ใฎ็ด„ๆ•ฐใŒ5ๅ€‹ใ‚’่ถ…ใˆใŸใ‚‰ๆ—ฉใ‚ใซๆ‰“ใกๅˆ‡ใ‚‹ใจใŽใ‚ŠใŽใ‚ŠTLEใ—ใชใ„ใ€‚

็ด ๅ› ๆ•ฐใฎๆ•ฐใ‹ใ‚‰็ด„ๆ•ฐใฎๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใฎใ‚’ใ™ใฃใ‹ใ‚Šๅฟ˜ใ‚Œใฆใ„ใŸใ€‚

ABC 383-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆœ€ๅฐ้‡ใฟใจใใ‚Œใฐใ€MSTใ‚’ใ‚ฏใƒฉใ‚นใ‚ซใƒซๆณ•ใงไฝœใ‚‹ใ€‚ใใ“ใซใƒžใƒผใ‚ธใƒ†ใ‚ฏใ‚’ไฝฟใ†ใ€‚

ใƒžใƒผใ‚ธใ™ใ‚‹ใฎใฏใ€้ ‚็‚นใฎ้€ฃ็ตๆˆๅˆ† $u$ ใฎไปฃ่กจๅ…ƒใซใ€ $A$ ใซๅฑžใ™ใ‚‹้ ‚็‚นใฎๆ•ฐ(้‡่ค‡ใ‚ใ‚Š)ใ€ $B$ ใซๅฑžใ™ใ‚‹้ ‚็‚นใฎๆ•ฐ(้‡่ค‡ใ‚ใ‚Š)ใ‚’ๆŒใŸใ›ใ‚‹ใ€‚ใ“ใ‚Œใฏ $i$ ใ‚’ไปฃ่กจๅ…ƒใจใ™ใ‚‹ๅ„้€ฃ็ตๆˆๅˆ†ใซใคใ„ใฆ $f(A,B)$ ใŒๆœชๅฎšใช้ ‚็‚นใฎๆ•ฐใงใ‚ใ‚Šใ€ $CA_i$ ใฏ $A$ ใŒๆœชๅฎšใ€ $CB_i$ ใฏ $B$ ใŒๆœชๅฎšใจใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€คใฏใใ‚Œใžใ‚Œใฎ้ ‚็‚นใŒ็‹ฌ็ซ‹ใช้€ฃ็ตๆˆๅˆ†ใชใฎใงใ€ $A_1, ..., A_k$ ใฎๆ•ฐใงใ‚ใ‚‹( $v = A_i$ ใชใ‚‰ใ€ $CA_v$ ใซ1ๅŠ ใˆใ‚‹)ใ€‚

ใ‚ฏใƒฉใ‚นใ‚ซใƒซๆณ•้€šใ‚Šใ€้‡ใฟใฎๅฐใ•ใ„่พบใ‹ใ‚‰ๅคงใใช่พบใฎ้ †ใงใ‚ฐใƒฉใƒ• $(u,v,w)$ ใ‚’้€ฃ็ตใ™ใ‚‹ใ€‚

  • $u,v$ ใŒใ™ใงใซ้€ฃ็ตใ•ใ‚Œใฆใ„ใ‚Œใฐไฝ•ใ‚‚ใ—ใชใ„
  • $u$ ใฎไปฃ่กจๅ…ƒใ‚’ $U$ ใจใ—ใ€ $v$ ใฎไปฃ่กจๅ…ƒ $V$ ใจใ™ใ‚‹ใ€‚ $U$ ใ‚’ๅซใ‚€้€ฃ็ตๆˆๅˆ†ใซใคใ„ใฆใ€ $f(A,B)$ ใŒๆœชๅฎšใช $A,B$ ใ‚’ๆธ›ใ‚‰ใ›ใ‚‹ใ ใ‘ๆธ›ใ‚‰ใ™ใ€‚ใคใพใ‚Š $S = max(min(CA_U, CB_V), min(CA_V, CB_U))$ ๆธ›ใ‚‰ใ™ใ€‚
  • ็ดฐใ‹ใ่จ€ใ†ใจใ€ $min(CA_U, CB_V) \geq min(CA_V, CB_U)$ ใชใ‚‰ $S = min(CA_U, CB_V)$ ใงใ‚ใ‚Šใ€ $CA_U, CB_V$ ใฎไธ€ๆ–นใฏๅฟ…ใš0ใซใชใ‚Šใ€ไป–ๆ–นใฏ0ไปฅไธŠใซใชใ‚‹ใ€‚ $min(CA_U, CB_V) &lt; min(CA_V, CB_U)$ ใ‚‚ๅŒๆง˜ใ€‚
  • ็ญ”ใˆใซ $wS$ ใ‚’่ถณใ™ใ€‚
  • $u,v$ ใ‚’้€ฃ็ตใ—ใ€้€ฃ็ตๅพŒใฎไปฃ่กจๅ…ƒใ‚’ $T$ ใจใ™ใ‚‹ใ€‚ $CA_T = CA_U + CA_V$ , $B_T = CB_U + CB_V$ ใจใ™ใ‚‹ใ€‚ใ“ใฎ้ƒจๅˆ†ใŒใƒžใƒผใ‚ธใƒ†ใ‚ฏใงใ‚ใ‚‹ใ€‚

ABC 383-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

DPใ‚’ไบŒๆฎตๆŒใคใ€‚

่‰ฒ $C$ ใ‚’ๅ›บๅฎšใ—ใ€ๅŒใ˜่‰ฒใฎๅ•†ๅ“ใ ใ‘ใ‚’DPใงๆ›ดๆ–ฐใ™ใ‚‹ใ“ใจใ‚’่€ƒใˆใ‚‹ใ€‚ $DP[T][B]$ ใ‚’ใ€่ณผๅ…ฅ้‡‘้กใฎๅˆ่จˆใŒ $0 \leq T \leq X$ ใงใ€ๅŒใ˜่‰ฒใฎๅ•†ๅ“ใ‚’่ณผๅ…ฅๅ‰ใชใ‚‰ $B=0$ ใ€่ณผๅ…ฅๆธˆใชใ‚‰ $B=1$ ใฎใจใใฎๆœ€ๅคงๅŠน็”จใจใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€คใฏ $DP[][] = 0$ ใงใ‚ใ‚‹ใ€‚

่‰ฒ $C$ ใฎๅ•†ๅ“ใซใคใ„ใฆใ€ $DP$ ใฎ้ท็งปๅ…ˆใ‚’ $Next = DP$ ใงๅˆๆœŸๅŒ–ใ—ใ€ๅ•†ๅ“ใ”ใจใซ $from=0..X$ ใซใคใ„ใฆ $Next[to \leq X][1] = max(Next[to][1], DP[from][0] + U_i + K, DP[from][1] + U_i)$ ใง้ท็งปใ™ใ‚‹ใ€‚1ๅ•†ๅ“้ท็งปใ—็ต‚ใ‚ใฃใŸใ‚‰ $Next$ ใ‚’ $DP$ ใซใ™ใ‚‹ใ€‚

ๅŒใ˜่‰ฒใฎๅ•†ๅ“ใซใคใ„ใฆไธ€้€šใ‚Š้ท็งปใ—ใŸใ‚‰ใ€ $DP[from][0] = max(DP[from][0..1])$ ใจใ™ใ‚‹ใ€‚ใคใพใ‚Šๆฌกใฎ่‰ฒใฎๅ•†ๅ“ใ‚’ๆœช่ณผๅ…ฅใฎ็Šถๆ…‹ใซใƒชใ‚ปใƒƒใƒˆใ™ใ‚‹ใ€‚

็ญ”ใˆใฏ $DP[][]$ ใฎๆœ€ๅคงๅ€คใงใ‚ใ‚‹ใ€‚

ABC 384-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚100ๅˆ†้–“ใง่งฃใ‘ใŸใฎใฏใ€€A,B,C,D,E 5ๅฎŒใ ใŒ้…ใ™ใŽใ‚‹ใ€‚Fๅ•้กŒใฏ่งฃใ‘ใชใ‹ใฃใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

for(auto&& c : s) ใฎไฝฟใ„ใฉใ“ใ‚ใงใ‚ใ‚‹ใ€‚

ABC 384-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡ใฎ้€šใ‚Šใ€ใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใ‚’ๆ›ดๆ–ฐใ™ใ‚‹ใ‹ใ—ใชใ„ใ‹ๅˆคๆ–ญใ—ใคใคๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚็งใซใฏDiv. 1ใŒ้ ใ„ใ€‚

ABC 384-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

31ไบบใจ่ชญใ‚“ใ ็žฌ้–“ $2^5-1$ ้€šใ‚Šใ‚’ๅ…จๅˆ—ๆŒ™ใ™ใ‚‹ใจๅˆ†ใ‹ใฃใŸใŒใ€้กŒๆ„ใ‚’็†่งฃใ™ใ‚‹ใฎใซๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚

$1..31$ ใ‚’ไบŒ้€ฒๆ•ฐใง่งฃ้‡ˆใ—ใฆใ€ใƒ“ใƒƒใƒˆ 0..4 ใŒ็ซ‹ใฃใฆใ„ใŸใ‚‰ A..E ใ‚’ๆญฃ่งฃใ—ใŸใจใ„ใ†ๆ–‡ๅญ—ๅˆ— $S$ ใจๅพ—็‚น $T$ ใ‚’่จˆ็ฎ—ใ™ใ‚‹ใ€‚ๅพŒใฏ $(-S, T)$ ใฎๆ˜‡้ †ใซ $T$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 384-D

Dๅ•้กŒใฎใปใ†ใŒEๅ•้กŒใ‚ˆใ‚Š็ฐกๅ˜ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใจๆ€ใฃใŸใ€‚ใ—ใ‹ใ—Eๅ•้กŒใฎๅๅ‰ใ‚’่ฆ‹ใฆใ€ARC 189-Dใ‚’4ๆ—ฅๆŽ›ใ‹ใฃใฆ่งฃใ‘ใชใ‹ใฃใŸใ“ใจใ‚’ๆ€ใ„ๅ‡บใ—ใฆใ€ใƒ ใ‚ญใซใชใฃใฆEๅ•้กŒใ‹ใ‚‰่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ‘จๅ›žๅ•้กŒใฏไบŒๅ‘จใ™ใ‚‹ใจใ„ใ†ๅ…ธๅž‹ใŒใ‚ใ‚‹ใ€‚ใคใพใ‚Šๆœ€ๅˆใซ $A_{1..2N} = A_1, ..., A_N, A_1, ..., A_N$ ใจไธฆในใฆใ€็ดฏ็ฉๅ’Œ $C_{i=0..2N} = \sum_{j=1}^{i} A_j$ ใ‚’ๅ–ใ‚‹ใ€‚

ไธ€ๅ‘จใ—ใŸใจใใฎๅ’Œ $W = \sum_1^N A_i$ ใฏ1ๅ›žไปฅไธŠไฝ•ๅ›žใงใ‚‚ๅŠ ็ฎ—ใงใใ‚‹ใ€‚ใ‚ˆใฃใฆ $S$ ใ‚’ $S mod W$ ใซ็ฝฎใๆ›ใˆใ‚‹ใ€‚ $S=0$ ใชใ‚‰ใใฃใกใ‚Šๅ‘จๅ›žใ™ใ‚Œใฐไฝœใ‚Œใ‚‹ๅ€คใชใฎใง Yes ใงใ‚ใ‚‹ใ€‚ใ“ใ“ใ‚’้–“้•ใˆใฆ1ใƒšใƒŠใ—ใŸใ€‚

$S &gt; 0$ ใซใคใ„ใฆใฏใ€ $A_{1..N}$ ใ‚’่ตท็‚นใซๅ€คใ‚’ไฝœใ‚Œใ‚‹ใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚ $A_1$ ใŒ่ตท็‚นใชใ‚‰็ดฏ็ฉๅ’Œ $C$ ใใฎใ‚‚ใฎใชใฎใงใ€ $C$ ใฎไธญใซ $S$ ใŒใ‚ใ‚Œใฐ Yes ใงใ‚ใ‚‹ใ€‚ $A_i$ ใŒ่ตท็‚นใชใ‚‰ใ€ $C$ ใฎไธญใซ $C_{i-1} + S$ ใŒใ‚ใ‚Œใฐ Yes ใงใ‚ใ‚‹ใ€‚ใใฎใ‚ˆใ†ใชใ‚‚ใฎใŒ่ฆ‹ใคใ‹ใ‚‰ใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ABC 384-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไฝ•ใ‚’ๆ€ใฃใŸใ‹ๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใฆ2ใƒšใƒŠใ‚’ๅ‡บใ—ใฆใ—ใพใฃใŸใ€‚ๅŒใ˜ใƒžใ‚นใ‚’ไฝ•ๅบฆใ‚‚ใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใŸใ‚‰ใใ†ใชใ‚‹ใ€‚

ๅง‹็‚นใ‹ใ‚‰ๅธๅŽใ—ใŸใ‚นใƒฉใ‚คใƒ ใ‚’Union-findๆœจใง้€ฃ็ตๆˆๅˆ†ใซใพใจใ‚ใ‚‹ใ€‚็พๅœจใฎใ‚นใƒฉใ‚คใƒ ใฎๅคงใใ•ใ‚’ $C = S_{p,q}$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚ใƒžใ‚นใฎ $(y,x)$ ใ‚นใƒฉใ‚คใƒ ใ‚’ๅธๅŽใ™ใ‚‹ใ”ใจใซ $C$ ใซ $S_{y,x}$ ใ‚’ๅŠ ใˆใฆใ€Union-findๆœจใง $(p,q)$ ใจ $(y,x)$ ใ‚’ใƒžใƒผใ‚ธใ™ใ‚‹ใ€‚

่จˆ็ฎ—้‡ใ‚’ๆธ›ใ‚‰ใ™ใ‚ˆใ†ใซๅธๅŽใ™ใ‚‹ใƒžใ‚น็พค $S$ ใ‚’็ฎก็†ใ™ใ‚‹ใ€‚ $(p,q)$ ใฎ้€ฃ็ตๆˆๅˆ† $U$ ใฎไธŠไธ‹ๅทฆๅณใฎใ†ใกใ€ใพใ ๅธๅŽใ—ใฆใ„ใชใ„ใƒžใ‚นใ ใ‘ใ‚’ๆŒใฆใฐใ‚ˆใ„ใ€‚ $S$ ใ‚’ std::set<Num,Num,Num> ๅž‹ใซใ—ใฆใ€ใƒžใ‚น $(S_{y,x}, y, x)$ ใ‚’ๆŒใคใ€‚้‡่ค‡ใชใ—ใฎ้ †ๅบ้›†ๅˆใซใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใ€ๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใซใ™ใ‚‹ใจๅŒใ˜ใƒžใ‚นใ‚’ไฝ•ๅบฆใ‚‚ใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใฆใ—ใพใ†ใ€‚

ๆœ€ๅˆใฏ $(p,q)$ ใฎไธŠไธ‹ๅทฆๅณใ‚’ $S$ ใซ่ผ‰ใ›ใ‚‹ใ€‚

  1. ๅ€™่ฃœใคใพใ‚Šใ‚ใ‚‹ๆ™‚็‚นใฎ $U$ ใฎไธŠไธ‹ๅทฆๅณใซใคใ„ใฆใ€ $S$ ใฎๅผฑใ„ใ‚นใƒฉใ‚คใƒ ใ‹ใ‚‰้ †ใซๅธๅŽใ™ใ‚‹ใ€‚ๅธๅŽใ—ใŸใ‚นใƒฉใ‚คใƒ ใ‚’ $V$ ใจใ™ใ‚‹ใ€‚
  2. ใ‚นใƒฉใ‚คใƒ ใ‚’ๅธๅŽใ—ใŸใ‚‰ใ€ $U$ ใจ $C$ ใ‚’ๆ›ดๆ–ฐใ™ใ‚‹
  3. ใ“ใ‚ŒไปฅไธŠๅธๅŽใงใใชใใชใฃใŸใ‚‰ใ€ $V$ ใฎไธŠไธ‹ๅทฆๅณใฎใƒžใ‚นใ‚’ๅ€™่ฃœใซๅŠ ใˆใ‚‹ใ€‚ใŸใ ใ—ใ™ใงใซๅธๅŽใ—ใŸใƒžใ‚นใฏๅŠ ใˆใชใ„ใ€‚
  4. ไธŠ่จ˜1,2,3ใ‚’็นฐใ‚Š่ฟ”ใ—ใฆใ€ใ“ใ‚ŒไปฅไธŠๅธๅŽใงใใชใใชใฃใŸใ‚‰็ต‚ใ‚ใ‚‹ใ€‚

ๅธๅŽใงใใ‚‹ใ‚นใƒฉใ‚คใƒ ใฏใ€ $C / X$ ๆœชๆบ€ใ ใŒใ€ๆ•ดๆ•ฐๆผ”็ฎ—ใฎๅขƒ็•Œใซๆฐ—ใ‚’ไป˜ใ‘ใ‚‹ใ€‚ไน—็ฎ—ใ ใจใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใ™ใ‚‹ใฎใงใ€้™ค็ฎ—ใงๆฑ‚ใ‚ใŸใ€‚

  • $C$ ใŒ $X$ ใฎๅ€ๆ•ฐใชใ‚‰ $C / X - 1$ ไปฅไธ‹
  • $C$ ใŒ $X$ ใฎๅ€ๆ•ฐใงใชใ‘ใ‚Œใฐ $\lfloor C / X \rfloor$ ไปฅไธ‹

ABC 384-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Trailing zeros ($A$ ใ‚’ $2^k$ ใงๅ‰ฒใ‚Šๅˆ‡ใ‚Œใฆ $2^{K+1}$ ใงๅ‰ฒใ‚Šๅˆ‡ใ‚Œใชใ„ใจใใฎ $K$) ใŒ็ญ‰ใ—ใ„ๆ•ฐใ‚’ใฒใจใพใจใ‚ใซใ™ใ‚‹ใ€ใจใ„ใ†ใ“ใจใฏๅˆ†ใ‹ใฃใŸใ€‚Trailing zerosใŒ็•ฐใชใ‚‹ๆ•ฐใ‚’่ถณใ™ใจใ“ใฎ $K$ ใฏๅฐใ•ใ„ๆ–นใซใชใ‚‹ใŒใ€Trailing zerosใŒ็ญ‰ใ—ใ„็‰ฉใ‚’่ถณใ—ใŸใจใใฎ $K$ ใ‚’ๆฑ‚ใ‚ใ‚‹ๆ–นๆณ•ใ‚’ไธŠๆ‰‹ใ่€ƒใˆใ‚‰ใ‚Œใชใ‹ใฃใŸใ€‚

ๅ…ฌๅผ่งฃ่ชฌ2ใฎใ‚ณใƒผใƒ‰ใ‚’ๅ†™็ตŒใ—ใชใŒใ‚‰ๆ›ธใ„ใŸใ€‚ std::unordered_map<Num,Num> ใ‚’ std::map<Num,Num> ใซใ™ใ‚‹ใจTLEใ™ใ‚‹ใ€‚

ABC 385-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไฝ•ใ‚’ๆ€ใฃใŸใ‹ $A,B,C$ ใ‚’ใ‚ฐใƒซใƒผใƒ—ๅˆ†ใ‘ใ™ใ‚‹ๆ–นๆณ•ใ‚’็ทๅฝ“ใŸใ‚Šใ—ใ‚ˆใ†ใจใ—ใŸใ€‚Aๅ•้กŒใŒใใ“ใพใง้‡ใ„ใฏใšใฏใชใใ€ $A \leq B \leq C$ ใซใ‚ฝใƒผใƒˆใ—ใฆใ€ $A = B = C$ ใพใŸใฏ $A + B = C$ ใชใ‚‰ Yes ใ€ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ABC 385-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚ $X,Y$ ใŒ็›ดๆ„Ÿใจ้€†ใชใฎใงๅ…ฅใ‚Œๆ›ฟใˆใ‚‹ใ€‚ๅ‘จๅ›ฒใฏๅฃใชใฎใงใ‚ปใƒณใƒใƒใƒซใ‚’ไฝœใ‚‰ใชใใฆใ‚ˆใ„ใ€‚

ABC 385-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่ชฟๅ’Œ็ดšๆ•ฐใจใฏๅˆ†ใ‹ใฃใŸใŒใจใฆใ‚‚่‹ฆๅŠดใ—ใŸใ€‚

้ซ˜ใ•ใŒ็•ฐใชใ‚‹ใƒ“ใƒซใŸใกใฏใใ‚Œใžใ‚Œ็‹ฌ็ซ‹ใซ่€ƒใˆใฆใ‚ˆใ„ใ€‚ใ‚ใ‚‹้ซ˜ใ•ใฎใƒ“ใƒซใฎไฝ็ฝฎใฎ้›†ๅˆใ‚’ใ‚’ $S$ ใจใ™ใ‚‹ใ€‚ใƒ“ใƒซใฎ้–“้š” $W = 1..(N-1)$ ใ‚’ๆฑบใ‚ๆ‰“ใกใ—ใฆๆฑ‚ใ‚ใ‚‹ใ€‚

$x \in S$ ใซใคใ„ใฆๅฐบๅ–ใ‚Šๆณ•ใงๆฑ‚ใ‚ใ‚‹ใ€‚

  • $S$ ใฎใ†ใกใ€ใพใ ่ฆ‹ใฆใ„ใฆใ„ใชใ„ใƒ“ใƒซ $U$ ใงๆœ€ใ‚‚ๅทฆใซใ‚ใ‚‹(ไฝ็ฝฎใŒๅฐใ•ใ„)ใ‚‚ใฎใ‚’ $x$ ใจใ™ใ‚‹ใ€‚ $U$ ใฎๅˆๆœŸๅ€คใฏ $S$ ใงใ‚ใ‚‹ใ€‚
  • $x, x+W, x+2W, ..., x+iW,$ ใจใฟใฆใ„ใใ€ใใฎใ‚ˆใ†ใซ้€ฃ้Ž–ใ™ใ‚‹ใƒ“ใƒซใŒ $S$ ใซใ‚ใ‚‹้™ใ‚Šใ€็ญ”ใˆใ‚’ $i+1$ ใ‚’ๅข—ใ‚„ใ—ใฆใ„ใใ€‚ๅŒๆ™‚ใซใ€ใ™ใงใซ่ฆ‹ใŸใƒ“ใƒซใ‚’ $U$ ใ‹ใ‚‰้™คใ„ใฆใ€ไปฅๅพŒใฏ่ฆ‹ใชใ„ใ‚ˆใ†ใซใ™ใ‚‹ใ€‚
  • ไธŠ่จ˜ใฎ้€ฃ้Ž–ใŒ้€”ๅˆ‡ใ‚ŒใŸใ‚‰ใ€ๆœ€ๅˆใซๆˆปใฃใฆใ€ใพใ ่ฆ‹ใฆใ„ใฆใ„ใชใ„ใƒ“ใƒซใ‚’่ฆ‹ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ใ™ในใฆใฎใƒ“ใƒซใ‚’่ฆ‹ใ‚‹ใพใง็นฐใ‚Š่ฟ”ใ™ใ€‚

ใ‚ใ‚‹ใƒ“ใƒซใŒ้€ฃ้Ž–ใฎไธ€้ƒจใชใ‚‰ใ€ๅทฆใ‹ใ‚‰ๆฅใŸ้€ฃ้Ž–ใงๆ•ฐใˆใ‚‰ใ‚Œใฆใ„ใ‚‹ใฏใšใชใฎใงใ€ไธŠ่จ˜ใฎ้€šใ‚Šใงใ‚ˆใ„ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใ‚’่ฆ‹ใŸใ‚‰ใ€ $W$ ใฎๅ‰ฐไฝ™ใงๅ ดๅˆๅˆ†ใ‘ใ™ใ‚Œใฐใ‚ˆใ‹ใฃใŸใ€‚็ขบใ‹ใซใใ‚Œใฏๆ€ใ„ใคใ„ใŸใŒใ€ใฉใ†ใ—ใฆไธŠๆ‰‹ใๅฎŸ่ฃ…ใงใใชใ‹ใฃใŸใฎใ ใ‚ใ†ใ€‚

ABC 385-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Cๅ•้กŒใ‚ˆใ‚Šใšใฃใจ็ฐกๅ˜ใ ใฃใŸใ€‚

ใพใ ่จชใ‚Œใฆใ„ใชใ„ๅฎถใฎๅบงๆจ™ใ‚’ใ€ $X$ ใ‚’ๅ›บๅฎšใ—ใŸ $Y$ ใฎ้›†ๅˆใ€ $Y$ ใ‚’ๅ›บๅฎšใ—ใŸ $X$ ใฎ้›†ๅˆใจไบŒ้‡ใซๆŒใคใ€‚ std::map<Num,Set> ใง็ฎก็†ใ™ใ‚‹ใ€‚ $X$ ใ‚’ๅค‰ใˆใšใซ $Y$ ่ปธๆ–นๅ‘ใซ็งปๅ‹•ใ™ใ‚‹ใจใใฏใ€ๅง‹็ต‚็‚นใฎ้–“(ไธก็ซฏใ‚’ๅซใ‚€)ใซใ‚ใ‚‹ๅฎถใ‚’้›†ๅˆใ‹ใ‚‰ๅ‰Š้™คใ—ใ€ไฝ•่ป’ๅ‰Š้™คใ—ใŸใ‹ๆ•ฐใˆใ‚‹ใ€‚

ABC 385-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒใฎๆ„ๅ›ณใ‚’ใชใ‹ใชใ‹็†่งฃใงใใชใ‹ใฃใŸใ€‚

ใƒฆๆœจใฎๅฎš็พฉใ‹ใ‚‰ใ€ใƒฆๆœจใฏ็›ดๅพ„ใŒ2ใพใŸใฏ4ใงใ‚ใ‚‹ใ“ใจใŒใ‚ใ‹ใ‚‹ใ€‚ $T$ ใฎ็›ดๅพ„ใŒ2ใชใ‚‰ๅฟ…ใš $x=1$ ใฎใƒฆๆœจใงใ‚ใ‚‹ใ€‚ๆ˜Ÿๅฝขใจใ‚‚ใ„ใ†ใ€‚ใ“ใ‚Œใ‚’่ฆ‹่ฝใจใ—ใฆ 3 WAsใŒ่ฟ”ใฃใฆใใŸใ€‚ไปฅไธ‹็›ดๅพ„ใ‚’4ใซใ™ใ‚‹ใ“ใจใ‚’่€ƒใˆใ‚‹ใ€‚

็›ดๅพ„ใŒ4ใจๆฑบใพใฃใฆใ„ใ‚‹ใฎใงใ€ใ‚ใ‚‹้ ‚็‚น $v$ ใ‚’ๆœจใฎๆ นใ‚’ๆฑบใ‚ๆ‰“ใกใ™ใ‚‹ใ€‚ $v$ ใฎ้šฃๆŽฅ้ ‚็‚น็พค $S$ ใŒใ‚ใ‚Šใ€ $u \in S$ ใฎๆฌกๆ•ฐใ‚’ใใ‚ใˆใ‚Œใฐใƒฆๆœจใซใชใ‚‹ใ€‚ใ“ใ‚Œใ‚’ใ™ในใฆใฎ้ ‚็‚น $v$ ใซใคใ„ใฆ่ฉฆใ—ใ€ๆœ€ๅฐๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ $v$ ใŒ่‘‰(ๆฌกๆ•ฐ1)ใชใ‚‰็„ก่ฆ–ใ™ใ‚‹( $T$ ใฎ็›ดๅพ„ใŒ2ใฎใจใใฏใ™ใงใซๆฑ‚ใ‚ใŸ)ใ€‚

$S$ ใซๆฌกๆ•ฐใŒ $D_i$ ใฎ้ ‚็‚นใŒ $K_i$ ๅ€‹ใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ $D_i = 1$ ใฎ้ ‚็‚นใฏๅฟ…ใšๅ–ใ‚Š้™คใ‹ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„( $y &gt; 0$ ใ‚ˆใ‚Šใ€ใใ†ใ—ใชใ„ใจใƒฆๆœจใซใชใ‚‰ใชใ„)ใ€‚ใ™ในใฆใฎ $D_i$ ใซใคใ„ใฆใ€ $S$ ใฎๆฌกๆ•ฐใ‚’ $D_i$ ใซใ™ใ‚‹ใ“ใจใ‚’่ฉฆใ™(ใใ‚Œไปฅๅค–ใฎ้ธๆŠž่‚ขใฏไธญ้€”ๅŠ็ซฏใงไฝฟใˆใชใ„)ใ€‚

  • $S$ ใฎๆฌกๆ•ฐ $D_i$ ๆœชๆบ€ใฎ้ ‚็‚น $u$ ใจใใฎๅ…ˆใฎ้ ‚็‚นใ‚’ๅ…จ้ƒจๅ‰Š้™คใ™ใ‚‹
  • $S$ ใฎๆฌกๆ•ฐ $D_i$ ไปฅไธŠใฎ้ ‚็‚น $u$ ใซใคใ„ใฆใ€ $D_i$ ใ‚’่ถ…ใˆใ‚‹ๅˆ†ใฎ่พบใ‚’ๅ‰Š้™คใ™ใ‚‹

ใ“ใฎใจใๆฎ‹ใ‚‹้ ‚็‚นใฎๆ•ฐใฏใ€ๆ นใฎๅˆ†ใŒ1ๅ€‹ใ€ๆ นใซ้šฃๆŽฅใ™ใ‚‹้ ‚็‚นใŒ $C = \sum_{j=i} K_i$ ๅ€‹ใ€่‘‰ใŒ $C \times D_i$ ๅ€‹ใชใฎใงใ€ $1 + C(1 + D_i)$ ๅ€‹ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆๅ–ใ‚Š้™คใ้ ‚็‚นๆ•ฐใฏใ€ $N - 1 - C(1 + D_i)$ ๅ€‹ใงใ‚ใ‚‹ใ€‚ใ™ในใฆใฎ้ ‚็‚นใฎใ€ใ™ในใฆใฎ $D_i &gt; 0$ ใซใคใ„ใฆๆฑ‚ใ‚ใ‚‹ใจ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใ“ใฎๆ–นๆณ•ใฏใ€็ตๆžœ็š„ใซ็›ดๅพ„ใŒ2ใซใชใ‚‹ๅ ดๅˆใ‚’ๅซใ‚€ใ€‚

ๆŽข็ดขๅ›žๆ•ฐใฏ่พบใฎๆ•ฐใชใฎใงใ€่จˆ็ฎ—้‡ใฏ $(D_i,K_i)$ ใฎ้€ฃๆƒณ้…ๅˆ—ใ‚’ไฝœใ‚‹ใฎใŒใƒœใƒˆใƒซใƒใƒƒใ‚ฏใง $O(Nlog(N))$ ใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏๅ…จๆŽข็ดขใ ใฃใŸใ€‚็ขบใ‹ใซๅ‰Š้™คๅพŒใฎๆœจใฎ้ ‚็‚นๆ•ฐใฏใ€ $1 + x + xy$ ใชใฎใงใ“ใฎๆ€ง่ณชใ‚’ไฝฟใˆใชใ„ใ‹ใจๆ€ใฃใŸใŒใ€ใใ‚ŒไปฅไธŠ่€ƒๅฏŸใŒ้€ฒใพใชใ‹ใฃใŸใ€‚

ABC 385-F

ไบŒๅˆ†ๆŽข็ดขใ ใจๆ€ใฃใŸใ‚‰ใใ†ใงใฏใชใ‹ใฃใŸใ€‚

ABC 386-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚90ๅˆ†29็ง’ใง A,B,C,D ใ‚’่งฃใ„ใŸใ€‚้…ใ™ใŽใ‚‹ใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

2ๆžšใ‚ใ‚‹ใ‚ซใƒผใƒ‰ใŒ2็จฎใ€ใพใŸใฏใ€1ๆžšใ‚ใ‚‹ใ‚ซใƒผใƒ‰ใŒ1็จฎใ‹ใค3ๆžšใ‚ใ‚‹ใ‚ซใƒผใƒ‰ใŒ1็จฎใ€ใชใ‚‰ Yes ใ€ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ABC 386-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆ–‡ๅญ—ๅˆ— $S$ ใฎ้•ทใ•ใ‚’ $N$ ใจใ™ใ‚‹ใ€‚ใƒœใ‚ฟใƒณใ‚’ๆŠผใ™ๅ›žๆ•ฐใฏ $N$ ไปฅไธ‹ใงใ‚ใ‚‹ใ€‚ 0 ใง็ถšใ้•ทใ• $L$ ใฎใƒฉใƒณใŒใ‚ใ‚‹ใŸใณใซใ€ $\lfloor L/2 \rfloor$ ๅ›žใ ใ‘ใ€ใƒœใ‚ฟใƒณใ‚’ๆŠผใ™ๅ›žๆ•ฐใŒๆธ›ใ‚‹ใ€‚

ABC 386-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$S,T$ ใฎๆ–‡ๅญ—ๅˆ—ใฎ้•ทใ• $|S|, |T|$ ใŒ็ญ‰ใ—ใ„ใจใใ€็•ฐใชใ‚‹ๆ–‡ๅญ—ใŒ้ซ˜ใ€…1ใ‹ๆ‰€ใชใ‚‰ Yes ใงใ‚ใ‚‹ใ€‚

$S,T$ ใฎๆ–‡ๅญ—ๅˆ—ใฎ้•ทใ•ใŒ2ไปฅไธŠ็•ฐใชใ‚‹ใจใใฏ No ใงใ‚ใ‚‹ใ€‚

$|S| + 1 = |T|$ ใจใ™ใ‚‹(ใใ†ใงใชใ‘ใ‚Œใฐ $S,T$ ใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใ‚‹)ใ€‚ $S,T$ ใ‚’ๅ…ˆ้ ญใ‹ใ‚‰่ฆ‹ใฆใ€้€ฃ็ถšใ—ใฆไธ€่‡ดใ™ใ‚‹ๆ–‡ๅญ—ๆ•ฐใŒ $L$ ๅ€‹ใจใ™ใ‚‹ใ€‚ $S,T$ ใ‚’ๆœซๅฐพใ‹ใ‚‰่ฆ‹ใฆใ€้€ฃ็ถšใ—ใฆไธ€่‡ดใ™ใ‚‹ๆ–‡ๅญ—ๆ•ฐใŒ $R$ ๅ€‹ใจใ™ใ‚‹ใ€‚ $L + R \leq |S|$ ใชใ‚‰ $S,T$ ใฎ้•ใ„ใฏไธ€ใ‹ๆ‰€ใชใฎใง Yes ใ€ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ABC 386-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅŸบๆœฌๆ–น้‡ใฏใ™ใใ‚ใ‹ใฃใŸใŒใ€ๅฎŸ่ฃ…ใ‚’ใพใจใ‚ใ‚‹ใฎใซ1ๆ™‚้–“ไปฅไธŠๆŽ›ใ‹ใฃใŸใ€‚

ใƒžใ‚น $(r,c)$ ใŒ B ใงใ‚ใ‚‹ใจใฏใ€่กŒ $r$ ใซใคใ„ใฆใ€้ป’ใ„ใƒžใ‚นใฎๅทฆ็ซฏใ‚’ $c$ ใ‚ˆใ‚Šๅฐใ•ใใงใใชใ„ใจใ„ใ†ใ“ใจใงใ‚ใ‚‹ใ€‚ๅ•้กŒๆ–‡ใฎ $i$ ใซใคใ„ใฆใ€ $i$ ใฎๆœ€ๅฐๅ€คใŒ $c$ ใจใ„ใˆใ‚‹ใ€‚

ใƒžใ‚น $(r,c)$ ใŒ W ใงใ‚ใ‚‹ใจใฏใ€่กŒ $r$ ใซใคใ„ใฆใ€้ป’ใ„ใƒžใ‚นใฎๅทฆ็ซฏใ‚’ $c-1$ ใ‚ˆใ‚Šๅคงใใใงใใชใ„ใจใ„ใ†ใ“ใจใงใ‚ใ‚‹ใ€‚ๅ•้กŒๆ–‡ใฎ $i$ ใซใคใ„ใฆใ€ $i$ ใฎๆœ€ๅคงๅ€คใŒ $c-1$ ใจใ„ใˆใ‚‹ใ€‚

ไธŠ่จ˜ใ‚’ๅŸบใซใ€่กŒ $r$ ใซใŠใ‘ใ‚‹ $i$ ใฎๆœ€ๅฐๅ€คใŒใ‚‚ใ—ใ‚ใ‚‹ใชใ‚‰ $minR_r$ ใ€ๆœ€ๅคงๅ€คใŒใ‚‚ใ—ใ‚ใ‚‹ใชใ‚‰ $maxR_r$ ใจใ™ใ‚‹ใ€‚

ๆœ€ๅˆใซๅŒไธ€่กŒใซ็Ÿ›็›พใŒใชใ„ใ“ใจใ‚’็ขบ่ชใ™ใ‚‹ใ€‚ใ‚ใ‚‹่กŒ $r$ ใซใคใ„ใฆใ€ $minR_r &gt; maxR_r$ ใชใ‚‰่กŒ $r$ ใ‚’ๅก—ใ‚‹ๆ–นๆณ•ใŒใชใ„ใฎใง็ญ”ใˆใฏ No ใงใ‚ใ‚‹ใ€‚ไปฅไธ‹ๅŒไธ€่กŒใฏๅก—ใ‚Œใ‚‹ใจใ™ใ‚‹ใ€‚

่กŒ็•ชๅทใ‚’ๆ˜‡้ †ใซ่ชฟในใ‚‹ใ€‚ๆœ€ๅˆใฏๅˆ— $(cmin, cmax) = (-\infty, \infty)$ ใ‚’ๅก—ใ‚Œใ‚‹ใจใ™ใ‚‹ใ€‚่กŒ $r$ ใซใคใ„ใฆ $minR_r$ ใŒใ‚ใ‚Šใ€ $cmax &lt; minR_r$ ใชใ‚‰่กŒใŒใ‚ฎใ‚ถใ‚ฎใ‚ถใ—ใฆใ„ใฆใ€ $cmax + 1$ ๅˆ—ใ‚’ไบŒๅˆ†ใงๅก—ใ‚Šๅˆ†ใ‘ใ‚‰ใ‚Œใชใ„ใฎใง็ญ”ใˆใฏ No ใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ $cmax$ ใ‚’ $min(cmax, minR_r)$ ใงๆ›ดๆ–ฐใ—ใ€ไธŠใฎ่กŒใ‚ˆใ‚Šใ‚‚ๅŒใ˜ใ‹ๅทฆใฎๅˆ—ใ‚’้ป’ใๅก—ใ‚‹ใ€‚ใ“ใ†ใ—ใฆๆœ€ๅพŒใฎ่กŒใพใงๅก—ใ‚Œใ‚‹ใ‹ใฉใ†ใ‹็ขบใ‹ใ‚ใ‚‹ใ€‚

ๅฟตใฎใŸใ‚ๅˆ—ใซๅฏพใ—ใฆใ‚‚ๅŒๆง˜ใฎใ“ใจใ‚’ใ™ใ‚‹ใ€‚ๆœ€ๅพŒใพใงๅก—ใ‚ŒใŸใ‚‰ Yes ใงใ‚ใ‚‹ใ€‚

ABC 386-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

2 TLEsใพใงใใŸใŒใใ‚ŒไปฅไธŠใ‚ใ‹ใ‚‰ใš่ซฆใ‚ใŸใ€‚

$K$ ๅ€‹ใฎๆ•ฐๅ€คใจใ—ใฆใ€ๅ…ˆ้ ญใ‹ใ‚‰0ๅ€‹ไปฅไธŠ้ฃ›ใฐใ—ใฆ $P_1$ ๅ€‹็›ฎใ‚’้ธใณใ€0ๅ€‹ไปฅไธŠ้ฃ›ใฐใ—ใฆ $P_2$ ๅ€‹็›ฎใ‚’้ธใณใ€ใ‚’็นฐใ‚Š่ฟ”ใ™ใจ $N \choose K$ ๅ€‹ๅ–ใ‚Œใ‚‹ใ€‚ๆŽข็ดขใ—ใชใŒใ‚‰็ดฏ็ฉXORใ™ใ‚Œใฐใ‚ˆใ„ใ€‚ใฏใšใชใฎใ ใŒใ€DFSใงใ‚„ใฃใฆใ‚‚BFSใงใ‚„ใฃใฆใ‚‚TLEใŒๅ–ใ‚Œใชใ„ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใซใ‚ใ‚‹้€šใ‚Šใ€ $2K &gt; N$ ใชใ‚‰ $K$ ใ‚’ $N - K$ ใซ่ชญใฟๆ›ฟใˆใ‚‹ใจTLEใ—ใชใ„ใ€‚ใ“ใฎใจใใฏ้ธใฐใชใ‹ใฃใŸ $N-K$ ๅ€‹ใฎ $A$ ใฎXORใ‚’ๅฐŽๅ‡บใ™ใ‚‹ใฎใซใ€ $N$ ๅ€‹ๅ…จ้ƒจใฎ $A$ ใฎXORใจใ€ ้ธใ‚“ใ  $K$ ๅ€‹ใฎ $A$ ใฎXORใ‚’XORใ—ใฆๅฐŽๅ‡บใ™ใ‚‹ใ€‚

ABC 386-F

็ทจ้›†่ท้›ขใ‚’้•ทใ• $|S|K$ ใฎใ‚นใƒฉใ‚คใƒ‡ใ‚ฃใƒณใ‚ฐใ‚ฆใ‚ฃใƒณใƒ‰ใ‚ฆใงๆฑ‚ใ‚ใ‚Œใฐใ„ใ„ใ€‚ใฏใšใชใฎใ ใŒใ€7 WAsใŒๅ–ใ‚Œใชใ„ใ€‚

ABC 387-A

็ฟŒๆœใƒใƒใƒฃใง่งฃใ„ใŸใ€‚100ๅˆ†้–“ใง่งฃใ‘ใŸใฎใฏใ€€A,B,C 3ๅฎŒใงใ‚ใ‚‹ใ€‚ใƒ‘ใƒ•ใ‚ฉใ‚’ๅบฆๅค–่ฆ–ใ—ใฆใ€ใจใซใ‹ใCๅ•้กŒใ‚’่งฃใ‘ใ‚‹ใพใงๅ–ใ‚Š็ต„ใ‚“ใ ใ‚‰Dๅ•้กŒใŒ้–“ใซๅˆใ‚ใชใ‹ใฃใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚

ABC 387-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚

ABC 387-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ…ธๅž‹็š„ใชๆกDPใงใ‚ใ‚‹ใ€‚ใ“ใ‚ŒใŒ่งฃใ‘ใชใ„ใฎใฏใพใšใ„ใจๆ€ใ„ใ€Dๅ•้กŒไปฅ้™ใ‚’็„ก่ฆ–ใ—ใฆ่งฃใ‘ใ‚‹ใพใงๆ™‚้–“ใ‚’ๆŽ›ใ‘ใŸใ€‚

$i$ ไปฅไธ‹ใฎใƒ˜ใƒ“ๆ•ฐใฏ $i$ ใซๅฏพใ—ใฆๅบƒ็พฉๅ˜่ชฟๅข—ๅŠ ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ $i$ ไปฅไธ‹ใฎใƒ˜ใƒ“ๆ•ฐใ‚’ $C_i$ ใจใ—ใฆใ€ $C_R - C_{L-1}$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

$C_i$ ใฎๆฑ‚ใ‚ๆ–นใ‚’่€ƒใˆใ‚‹ใ€‚ $i$ ใŒ10้€ฒๆ•ฐใง $W$ ๆกใฎใจใใ€ $1..(W-1)$ ๆกใงใ™ในใฆใฎๆ•ฐๅ€คใŒ 9 ใงใ‚ใ‚‹ใ‚ˆใ†ใชๆ•ฐ $N$ ใซๅฏพใ—ใฆใƒ˜ใƒ“ๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ๆฌกใซใกใ‚‡ใ†ใฉ $W$ ๆกใฎๆ•ฐใซใคใ„ใฆใ€ $100...0$ ไปฅไธŠ $i$ ไปฅไธ‹ใฎๆ•ฐใซใคใ„ใฆใƒ˜ใƒ“ๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚‰ใฎๅˆ่จˆใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ไปฅไธ‹ $C_i$ ใซใคใ„ใฆใกใ‚‡ใ†ใฉ $W$ ๆกใฎๅ ดๅˆใฎๆฑ‚ใ‚ๆ–นใ‚’็คบใ™( $W$ ๆกๆœชๆบ€ใ‚‚ๅŒๆง˜ใซๆฑ‚ใพใ‚‹)ใ€‚ $C_i$ ใฎๆœ€ไธŠไฝๆกใ‚’ $D$ ใจใ™ใ‚‹ใ€‚ๆœ€ไธŠไฝๆกใŒ $T = 1..D$ ใฎๅ ดๅˆใซใคใ„ใฆๆฑ‚ใ‚ใ‚‹ใ€‚

$T &lt; D$ ใงใ‚ใ‚Œใฐใ€ $[T0..0, T9...9]$ ใฎใ™ในใฆใฎๅ€คใŒๅ€™่ฃœใซใชใ‚‹ใ€‚ใ‚ˆใฃใฆใƒ˜ใƒ“ๆ•ฐใฏ $D^{W-1}$ ๅ€‹ใ‚ใ‚‹ใ€‚ $T = D$ ใงใ‚ใ‚ŒใฐๆกDPใ‚‰ใ—ใ่งฃใใ€‚ไธŠใ‹ใ‚‰ $j = 2..W$ ๆก็›ฎใซใคใ„ใฆใ€ $j$ ๆก็›ฎใฎๆ•ฐๅ€คใ‚’ $p$ ใจใ—ใฆไปฅไธ‹ใฎ้€šใ‚Š็นฐใ‚Š่ฟ”ใ™ใ€‚

  • $j &lt; W$ ใ‹ใคใ€ $p \geq D$ ใชใ‚‰ใ€ไปฅๅพŒใฎๆกใฏใ™ในใฆ $0..(D-1)$ ใซใ—ใฆใ‚‚ $C_i$ ใ‚’่ถ…ใˆใชใ„ใ€‚ใ‚ˆใฃใฆใƒ˜ใƒ“ๆ•ฐใฎๅˆ่จˆใซ $D^{W-j+1}$ ใ‚’่ถณใ—ใฆใƒซใƒผใƒ—ใ‚’ๆ‰“ใกๅˆ‡ใ‚‹ใ€‚
  • $j &lt; W$ ใ‹ใคใ€ $p &lt; D$ ใชใ‚‰ใ€ไปฅๅพŒใฎๆกใฏใ™ในใฆ $0..(p-1)$ ใซใ—ใฆใ‚‚ $C_i$ ใ‚’่ถ…ใˆใชใ„ใ€‚ใ‚ˆใฃใฆใƒ˜ใƒ“ๆ•ฐใฎๅˆ่จˆใซ $D^{W-j}$ ใ‚’่ถณใ™ใ€‚ $j$ ๆก็›ฎใ‚’ $D-1$ ใซใ—ใŸๅ ดๅˆใฏ $C_i$ ใ‚’่ถ…ใˆใ‚‹ใ‹ใฉใ†ใ‹ใฏๅพŒใฎๆกใ‚’่ฆ‹ใชใ„ใจใ‚ใ‹ใ‚‰ใชใ„ใฎใงใ€ $j + 1$ ๆก็›ฎใ‚’่ฆ‹ใ‚‹ใ€‚
  • $j = W$ ใชใ‚‰ใ€ $min(D, p+1)$ ใ‚’่ถณใ™

9 ใ‚’ไธฆในใ‚‹ใจใ“ใ‚ใฎ่€ƒๆ…ฎใŒ้›ฃใ—ใใ€ใ„ใคใพใง็ตŒใฃใฆใ‚‚ๅ…ฅๅŠ›ไพ‹1ใŒ้€šใ‚‰ใชใ‹ใฃใŸใ€‚

ABC 387-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Cๅ•้กŒใซๆ™‚้–“ใ‚’ๆŽ›ใ‘ใ™ใŽใฆ้–“ใซๅˆใ‚ใชใ‹ใฃใŸใ€‚ใจใ„ใ†ใ‚ˆใ‚Šใ‚ณใƒณใƒ†ใ‚นใƒˆใชใ‚‰ๅ…ˆใซDๅ•้กŒใ‚’่งฃใใฎใŒๆ™ฎ้€šใงใ‚ใ‚‹ใ€‚

ใ‚ˆใใ‚ใ‚‹ๆ–นๅ‘ๅˆฅDPใงใ‚ใ‚‹ใ€‚

$DP[y][x][d=0..4]$ ใ‚’ใ€ใƒžใ‚น $[y][x]$ ใซๆ–นๅ‘ $d$ ใ‹ใ‚‰ใŸใฉใ‚Š็€ใ„ใŸใจใใฎๆœ€ๅฐ็งปๅ‹•ๅ›žๆ•ฐใจใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€คใฏ $\infty$ ใจใ™ใ‚‹ใ€‚ๆ–นๅ‘ใฏไธŠไธ‹ๅทฆๅณใ‚’0123ใ€ใ‚นใ‚ฟใƒผใƒˆใƒžใ‚นใคใพใ‚Š้™ๆญข็Šถๆ…‹ใ‚’4ใจใ™ใ‚‹ใ€‚

ใ‚ใจใฏๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใซ่ท้›ขใ€ใƒžใ‚นใฎไฝ็ฝฎใ€็งปๅ‹•ๆ–นๅ‘ใฎ็ต„ $(Dist,Y,X,Dir)$ ใ‚’่ผ‰ใ›ใฆใ€ใ‚ญใƒฅใƒผใŒ็ฉบใซใชใ‚‹ใพใงBFSใ™ใ‚‹ใ€‚ๆœ€ๅˆใซใ‚นใ‚ฟใƒผใƒˆใƒžใ‚น $(0,SY,SX,4)$ ใ‚’่ผ‰ใ›ใ‚‹ใ€‚้šฃใฎใƒžใ‚น $nextY,nextX$ ใซ็งปๅ‹•ๆ–นๅ‘ $nextDir$ ใง่กŒใ‘ใ‚‹ๆกไปถใฏใ€ใƒžใ‚นใฎๅค–ใซๅ‡บใชใ„ใ€้šฃใŒ้šœๅฎณ็‰ฉใƒžใ‚นใงใฏใชใ„ใ€็ธฆๆจชใฎ็งปๅ‹•ใŒ้€ฃ็ถšใ—ใชใ„ใ“ใจใชใฎใงใ€ใ“ใ‚Œใ‚‰ใฎๆกไปถใ‚’ใ™ในใฆๆบ€ใŸใ—ใ€ใ‹ใค $DP[nextY][nextX][nextDir] &gt; Dist + 1$ ใชใ‚‰็งปๅ‹•ใ™ใ‚‹ใ€‚ $DP[nextY][nextX][nextDir] = Dist + 1$ ใจใ—ใฆ $(Dist+1,nextY,nextX,nextDir)$ ใ‚’ใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใ‚‹ใ€‚

$min(DP[GY][GX][])$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใŸใ ใ— $\infty$ ใชใ‚‰ -1 ใจๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ใ“ใฎๆ–นๆณ•ใฏๅ…ฌๅผ่งฃ่ชฌใซใ‚ใ‚‹ใ€่จ€ใ„ๆ›ใˆใ‚’็”จใ„ใชใ„ๆ–นๆณ•ใงใ‚ใ‚‹ใ€‚

ABC 387-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ฟใ‚คใƒ ใƒฉใ‚คใƒณใ‹ใ‚‰ใชใ‚“ใจใชใใƒ’ใƒณใƒˆใŒ่ฆ‹ใˆใŸๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใŒใ€ไธ‹่จ˜ใฎๆ–น้‡ใจใฏๅ…จใ็•ฐใชใ‚‹ใฎใง่‡ชๅŠ›ACๆ‰ฑใ„ใซใ™ใ‚‹ใ€‚

ARCใฎใ‚ˆใ†ใชใ‚ขใƒ‰ใƒ›ใƒƒใ‚ฏๅ•้กŒใงใ‚ใ‚‹ใ€‚ๆœ€ๅˆใซๅฐ‘ใชใ„ๆกใ€ $N$ ใŒ5ๆกไปฅไธ‹ $N &lt; 10^5$ ใ‚’็ทๅฝ“ใŸใ‚Šใงๆฑ‚ใ‚ใ‚‹ใ€‚ $N &lt; 10^6$ ใงใ‚‚ๅๅˆ†ๆ—ฉใ„ใ€‚ $N$ ใŒๅฐใ•ใ„ใจใใฏใใฎใพใพ็ญ”ใˆใซใ—ใฆใ‚ˆใ„ใ€‚ $N$ ใซใ‚ˆใฃใฆใฏ่งฃ็„กใ— -1 ใซใชใ‚‹ใ“ใจใŒใ‚ใ‚‹ใ€‚

ใ“ใ“ใง่ˆˆๅ‘ณๆทฑใ„ใฎใฏใ€ $a$ ใจ $a+1$ ใฎๆกใŒ็•ฐใชใ‚‹ๆ•ฐใจใ—ใฆใ€ $(9,10), (999,1000)$ ใŒ่ฆ‹ใคใ‹ใ‚‹ใ€‚ใ“ใฎ็›ดๆ„Ÿใ‹ใ‚‰ใ€ $a$ ใŒ9ใพใŸใฏ27ใฎๅ€ๆ•ฐใฎใจใ $a+1$ ใ‚’10ใฎๅ€ๆ•ฐใซใ™ใ‚ŒใฐACใงใใใ†ใงใ‚ใ‚‹ใ€‚

ๆ•ฐ $i$ ใซใคใ„ใฆใ€ $i$ ใฎๆกใŒใ‚ใ‚‹ๆกไปถใชใ‚‰ $i$ ใฏ $d$ ใฎๅ€ๆ•ฐใงใ‚ใ‚‹ใ€ใจใ„ใ†ๆกไปถใ‚’ๅฎšใ‚ใ‚‹ใ€‚ใ“ใ‚Œไปฅๅค–ใซ $i$ ใŒ $d$ ใฎๅ€ๆ•ฐใจใ„ใ†็Šถๆณใ‚‚ใ‚ใ‚‹ใŒใ€็ญ”ใˆใ‚’ไธ€ใคๆŒ™ใ’ใ‚‹ใŸใ‚ใซใฏๅ–ใ‚Š็ซ‹ใฆใฆ่€ƒใˆใ‚‹ๅฟ…่ฆใฏใชใ„ใ€‚

  • $i$ ใฎๆกๅ’ŒใŒ3ใฎๅ€ๆ•ฐใชใ‚‰ใ€ $i$ ใฏ3ใฎๅ€ๆ•ฐใงใ‚ใ‚‹
  • $i$ ใฎใ™ในใฆใฎๆกใŒ3ใฎๅ€ๆ•ฐใงใ€ๆกๅ’ŒใŒ27ใชใ‚‰ใ€ $i$ ใฏ27ใฎๅ€ๆ•ฐใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใฏๅ„ๆกใ‚’3ใงๅ‰ฒใฃใฆใ€ๆกๅ’ŒใŒ9ใชใ‚‰9ใฎๅ€ๆ•ฐใงใ‚ใ‚‹ใ“ใจใ‹ใ‚‰ใ‚ใ‹ใ‚‹ใ€‚
  • $i$ ใŒๅถๆ•ฐใชใ‚‰ใ€ $i$ ใฏ2ใฎๅ€ๆ•ฐใงใ‚ใ‚‹
  • $i$ ใฎๆœ€ไธ‹ไฝๆกใŒ0ใชใ‚‰ใ€ $i$ ใฏ10ใฎๅ€ๆ•ฐใงใ‚ใ‚‹

$N$ ใฎๆœ€ไธŠไฝๆกใซใคใ„ใฆใ€ 9..1 ใฎ้ †ใซๅ ดๅˆๅˆ†ใ‘ใ—ใฆ็ญ”ใˆใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ $2N$ ใฎๆœ€ไธŠไฝๆกใฏ $N$ ใฎๆœ€ไธŠไฝๆกใ ใ‘ใงๆฑบใพใ‚Šใ€ไธ‹ใฎๆกใฏๅฝฑ้Ÿฟใ—ใชใ„ใ“ใจใซๆณจ็›ฎใ™ใ‚‹ใ€‚ใ‚‚ใ†ๅฐ‘ใ—ๆญฃ็ขบใซ่จ€ใ†ใจใ€ $N$ ใ‚ˆใ‚Š $2N$ ใฎใปใ†ใŒๆกๆ•ฐใŒๅคงใใ„ใจใใฏ $2N$ ใฎไธŠไฝ2ๆกใ€ $N$ ใจ $2N$ ใŒๅŒใ˜ๆกๆ•ฐใฎใจใใฏ $2N$ ใฎไธŠไฝ1ๆกใฏใ€ $N$ ใฎๆœ€ไธŠไฝๆก1ๆกใฎๅ€ใซใชใ‚‹ใ€‚ 0...0ใฎ้ƒจๅˆ†ใฏ1ๆกไปฅไธŠใจใ™ใ‚‹ใ€‚ใ“ใ†ใ—ใŸใใฆใ€ $N$ ใŒ5ๆกไปฅไธ‹ใฎๆ•ฐใ‚’ใ€ไธ‹่จ˜ใฎ่ฆๅ‰‡ใ‹ใ‚‰้™คๅค–ใ—ใŸใ€‚

  • 9 : ๆกๆ•ฐใ‚’ไธ€ใคๅข—ใ‚„ใ—ใฆใ€ 10..010 ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใ“ใ†ใ™ใ‚‹ใจ 10..010 ใฏ2ใฎๅ€ๆ•ฐใ€ 10..011 ใฏ3ใฎๅ€ๆ•ฐใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚9ใฎๅ€ๆ•ฐใงใ‚‚27ใฎๅ€ๆ•ฐใงใ‚‚ใชใ„ใŒใ€ไธ‹่จ˜ใ‚’่€ƒใˆใฆใ„ใ‚‹ใจๆ€ใ„ใคใใ€‚
  • 5..8 : ๆกๆ•ฐใฏๅŒใ˜ใงใ€ 90..099 ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ 90..099 ใฏ27ใฎๅ€ๆ•ฐใ€ 9..100 ใฏ10ใฎๅ€ๆ•ฐใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚
  • 4 : 60..0399 ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ 60..0399 ใฏ27ใฎๅ€ๆ•ฐใ€ 60..0400 ใฏ10ใฎๅ€ๆ•ฐใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚
  • 3 : 27ใฎๅ€ๆ•ฐใ‚’ไฝœใ‚‹ใŸใ‚ใ€ๅ ดๅˆๅˆ†ใ‘ใŒ่ฆใ‚‹
    • a = 30..0699 ใŒๅ€™่ฃœใฎไธ€ใคใงใ‚ใ‚‹ใ€‚ $N \leq a$ ใชใ‚‰ $a$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ $a$ ใฏ27ใฎๅ€ๆ•ฐใ€ $a+1$ ใฏ10ใฎๅ€ๆ•ฐใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚
    • $N &gt; a$ ใชใ‚‰ b = 60..0399 ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ $N &lt; b &lt; 2N$ ใ‹ใค $a$ ใฏ27ใฎๅ€ๆ•ฐใ€ $a+1$ ใฏ10ใฎๅ€ๆ•ฐใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚
  • 2 : 360..099 ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ 360..099 ใฏ27ใฎๅ€ๆ•ฐใ€ 360..100 ใฏ10ใฎๅ€ๆ•ฐใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚
  • 1 : ๅ ดๅˆๅˆ†ใ‘ใŒ่ฆใ‚‹
    • a = 10..010 ใŒๅ€™่ฃœใฎไธ€ใคใงใ‚ใ‚‹ใ€‚ $N \leq a$ ใชใ‚‰ $a$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ $N$ ใฎๆœ€ไธŠไฝใŒ9ใงใ€ๆกใ‚’็นฐใ‚ŠไธŠใ’ใชใ„ใจใใซ็›ธๅฝ“ใ™ใ‚‹ใ€‚
    • $N &gt; a$ ใชใ‚‰ b = 20..0 ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ $N &lt; b &lt; 2N$ ใ‹ใค 20..0 ใฏ2ใฎๅ€ๆ•ฐใ€ 20..1 ใฏ3ใฎๅ€ๆ•ฐใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚

ใ‚ขใƒ‰ใƒ›ใƒƒใ‚ฏใชๆฑ‚ใ‚ๆ–นใงใ‚ใ‚‹ใŒใ€ใ“ใ‚ŒใงACใ™ใ‚‹ใ€‚ๅ…ฌๅผ่งฃ่ชฌ1ใจๅ…ฌๅผ่งฃ่ชฌ2ใ‚’่ถณใ—ใฆ2ใงๅ‰ฒใฃใŸใ‚ˆใ†ใช่งฃๆณ•ใงใ‚ใ‚‹ใ€‚27ใฎๅ€ๆ•ฐๅˆคๅฎšๆณ•ใฏ็Ÿฅใ‚‰ใชใ‹ใฃใŸใ€‚

ใ‚ˆใ‚Š็ฐกๅ˜ใช่งฃๆณ•ใจใ—ใฆใ€ๆกๅ’ŒใŒ8ใฎ8ใฎๅ€ๆ•ฐใ‚’ใ€ๆกๅ’ŒใŒ9ใฎ9ใฎๅ€ๆ•ฐใซใ™ใ‚‹ๆ–นๆณ•ใ‚’่ชญใ‚“ใง็ŸฅใฃใŸใ€‚1000ใŒ8ใฎๅ€ๆ•ฐใงใ‚ใ‚‹ใ“ใจใซๆณจๆ„ใ™ใ‚‹ใ€‚ $N$ ใŒ6ๆกไปฅไธ‹ใฎๅ ดๅˆใฏๅ…จๆŽข็ดขใ—(5ๆกใ ใจ1 WAใ™ใ‚‹)ใ€ใใ‚Œไปฅๅค–ใฏไปฅไธ‹ใฎ้€šใ‚Šใ€‚ๅฎŸ่ฃ…ใฏ ใ“ใกใ‚‰ ใ€‚

  • 7..9 : ๆกๆ•ฐใ‚’ไธ€ใคๅข—ใ‚„ใ—ใฆใ€ 107 ใฎๅพŒใซ0ใ‚’็ถšใ‘ใ‚‹
  • 2..6 : ๆกๆ•ฐใฏๅŒใ˜ใงใใ‚Œใžใ‚Œใ€ 305, 404, 503, 602, 701 ใฎๅพŒใซ0ใ‚’็ถšใ‘ใ‚‹
  • 1 : 1070..0 ใ‚ˆใ‚Šๅคšใ‘ใ‚Œใฐ 206 ใฎๅพŒใซ0ใ‚’็ถšใ‘ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ 1070..0 ใซใ™ใ‚‹ใ€‚

ABC 387-F

่จˆ็ฎ—้‡ใŒไธ‹ใŒใ‚‰ใชใ„ใ€‚

$x_i \leq x_{A_i}$ ใฎๅคงๅฐ้–ขไฟ‚ใซๅฏพๅฟœใ—ใฆใ€ $i$ ใ‹ใ‚‰ $A_i$ ใซๆœ‰ๅ‘ใ‚ฐใƒฉใƒ•ใ‚’ๅผตใ‚‹ใ€‚ใชใ‚‚ใ‚Šใ‚ฐใƒฉใƒ•ใชใฎใง่‡ชๅทฑใƒซใƒผใƒ—ใ‚’ๅซใ‚ใ‚Œใ‚‹ใจใ“ใฎใ‚ฐใƒฉใƒ•ใซใฏๅฟ…ใšใ‚ตใ‚คใ‚ฏใƒซใŒใ‚ใ‚‹ใ€‚ใ‚ตใ‚คใ‚ฏใƒซ $C$ ใซๅซใพใ‚Œใ‚‹้ ‚็‚น $v \in C$ ใซใคใ„ใฆใ€ $x_v$ ใฏใ™ในใฆๅŒใ˜ๅ€คใงใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ€‚ใ‚ตใ‚คใ‚ฏใƒซใซๅ…ฅใ‚‹ๆœจๆง‹้€ ใฎใ‚ฐใƒฉใƒ•ใซใคใ„ใฆใฏใ€่‘‰ใ‹ใ‚‰ใ‚ตใ‚คใ‚ฏใƒซใซๅ‘ใ‹ใฃใฆ้žๆธ›ๅฐ‘ใชใ‚‰ใฉใ‚“ใช $x$ ใงใ‚‚ใ‚ˆใ„ใ€‚

ๆœ‰ๅ‘ใ‚ฐใƒฉใƒ•ใ‚’้€†ๅ‘ใใซใ—ใฆใ€ใ‚ตใ‚คใ‚ฏใƒซใ‹ใ‚‰ใ‚ตใ‚คใ‚ฏใƒซๅค–ใซๅ‘ใ‹ใฃใฆใ€ $x$ ใ‚’ $1..M$ ใซๆฑบใ‚ๆ‰“ใกใ—ใชใŒใ‚‰DFSใ™ใ‚‹ใ€‚ใ‚ตใ‚คใ‚ฏใƒซใฏๅŒใ˜ๅ€คใ‚’ๅ–ใ‚‹ใ“ใจใซๆณจๆ„ใ™ใ‚‹ใ€‚DFSใง้ ‚็‚นใ‚’ใŸใฉใ‚‹ใŸใณใซใ€ๅ€คใ‚’ๅŒใ˜ใ‹ๆธ›ๅฐ‘ใ‹ใค1ไปฅไธŠใซใ™ใ‚Œใฐใ‚ˆใ„ใ€‚ใ“ใฎใ‚ˆใ†ใชๅ€คใฎๅ‰ฒใ‚Šๅฝ“ใฆๆ–นๆณ•ใ‚’ๆ•ฐใˆใ‚‹ใ€‚

ใ“ใฎๆ–นๆณ•ใฏๆญฃใ—ใ„ๅ€คใ‚’่ฟ”ใ™ใŒTLEใ™ใ‚‹ใ€‚ใƒกใƒขๅŒ–ๅ†ๅธฐใ—ใฆใ‚‚TLEใฏ็›ดใ‚‰ใชใ„ใ€‚ๅ…ฌๅผ่งฃ่ชฌใซใฏ็ดฏ็ฉๅ’Œใ‚’ไฝฟใฃใฆ่จˆ็ฎ—้‡ใ‚’ไธ‹ใ’ใ‚‹ใจๆ›ธใ„ใฆใ‚ใ‚‹ใŒใ€ใพใ ็†่งฃใ—ใฆใ„ใชใ„ใ€‚

ABC 388-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚

ABC 388-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚

ABC 388-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒใ‚’่ชค่ชญใ—ใฆใ€้ก้ค…ใฏ1ๆฎตไปฅไธŠ็„ก้™ๆฎตใ ใจๆ€ใฃใŸใ€‚

ๅฎŸ้š›ใซใฏใใ†ใงใฏใชใ2ๆฎตใ—ใ‹ใชใ„ใ€‚0-based indexingใจใ—ใฆใ€ $A_i$ ใซ้–ขใ—ใฆใ€ $A_j &gt; \lfloor A_i/2 \rfloor$ ใชใ‚‹ๆœ€ๅฐใฎ $j$ ใ‚’ๆฑ‚ใ‚ใฆ่ถณใ›ใฐใ‚ˆใ„ใ€‚ใ“ใฎใ‚ˆใ†ใช $j$ ใฏๅฐบๅ–ใ‚Šๆณ•ใงๆฑ‚ใพใ‚‹ใฎใง่จˆ็ฎ—้‡ใฏ $O(N)$ ใงใ‚ใ‚‹ใ€‚

ABC 388-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใชใ‚‰ๆ•ฐๅˆ†ใง ่งฃใ‘ใ‚‹ ใฎใงใ€ratedใชใ‚‰้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚’ไฝฟใ†ในใใงใ‚ใ‚‹ใ€‚

ใ„ใ‚‚ใ™ๆณ•ใง่งฃใ‘ใ‚‹ใ€‚ๅฎ‡ๅฎ™ไบบ $i$ ใซใคใ„ใฆใ€ใ‚‚ใ‚‰ใ†็Ÿณใฏ้ซ˜ใ€… $i-1$ ๅ€‹ใ€้…ใ‚‹็Ÿณใฏ้ซ˜ใ€… $N-i$ ๅ€‹ใงใ‚ใ‚‹ใ€‚็Ÿณใ‚’ใ‚‚ใ‚‰ใ†ใจใใซใ€้…ใ‚‹ๅดใฎ็ŸณใŒๅฐฝใใฆใ„ใŸใ‚‰ใ‚‚ใ‚‰ใˆใชใ„ใฎใงใ€ใ“ใฎใ“ใจใ‚’ๆญฃ็ขบใซๆŠŠๆกใ™ใ‚Œใฐ็ญ”ใˆใŒๆฑ‚ใพใ‚‹ใ€‚

็Ÿณใ‚’้…ใ‚‹้ †็•ชใฏ $1..N$ ใจๅ›บๅฎšใชใฎใงใ€ใ„ใ‚‚ใ™ๆณ•ใซ่ผ‰ใ›ใ‚‹ใ€‚ $[L,R]$ ็•ช็›ฎใฎไบบใซ็Ÿณใ‚’้…ใ‚Œใ‚‹ใจใใ€ใ„ใ‚‚ใ™ๆณ•ใจใ—ใฆ $D[R]$ ใซ1ๅŠ ใˆใฆใ€ $D[L+1]$ ใ‹ใ‚‰1ๅผ•ใใ€‚ใ“ใ‚Œใฏ $i$ ็•ช็›ฎใฎไบบใŒ็Ÿณใ‚’ $C_i = \sum_{j=1}^{i} D[j]$ ๅ€‹ใ‚‚ใ‚‰ใˆใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ™ใ‚‹ใ€‚

ใ‚ใจใฏ $i=1..N$ ใ‚’้€ๆฌก็š„ใซๆฑ‚ใ‚ใ‚‹ใ€‚ $C_0=0$ ใจใ—ใฆ $C_i$ ใ‚’ $C_{i-1} + D[i]$ ใงๆ›ดๆ–ฐใ—ใ€ $S_i = A_i + C_i$ ใฏๅฎ‡ๅฎ™ไบบ $i$ ใŒใกใ‚‡ใ†ใฉๆˆไบบใ—ใŸใจใใคใพใ‚Šใ“ใ‚ŒไปฅไธŠ็Ÿณใ‚’ใ‚‚ใ‚‰ใˆใชใ„ใจใใฎ็Ÿณใฎๆ•ฐใงใ‚ใ‚‹ใ€‚้…ใ‚Œใ‚‹็Ÿณใฎๆ•ฐใฏ $T_i = min(S_i, N-i)$ ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ็ญ”ใˆใฏ็Ÿณใ‚’้…ใฃใŸๅพŒใฎๆฎ‹ใ‚Š $B_i = S_i - T_i$ ใงใ‚ใ‚‹ใ€‚

ABC 388-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใฉใ†ใ—ใฆใ‚‚่งฃใ‘ใชใ‹ใฃใŸใ€‚็ท‘diffใฎไธ€ๅ‰ฒใฏไปŠใงใ‚‚่งฃใ‘ใชใ„ใ€‚

$A_i$ ใซๅฏพใ—ใฆ $i=1..N$ ใฎ $A_i$ ใ‚ˆใ‚Šๅฐใ•ใช้ค…ใ‚’็ต„ใฟๅˆใ‚ใ›ใ‚‹greedyใฏๅไพ‹ใŒใ‚ใ‚‹ใ€‚ $(1,2,10,11)$ ใฎ็ญ”ใˆใฏ2ใ ใŒใ€1ใ‚’่ฟ”ใ—ใฆใ—ใพใ†ใ€‚ใ‚ˆใฃใฆๅคงใใช้ค…ใ‹ใ‚‰้ †ใซ็›ธๆ‰‹ใ‚’ๆŽขใ™ใ€‚ๅฎŸใฏๅŒๆง˜ใฎใ“ใจใŒใ€ๅคงใใช้ค…ใ‚’็ต„ใฟๅˆใ‚ใ›ใฆใ‚‚่ตทใ“ใ‚‹ใ€‚ไปฅไธ‹ๅ…ฌๅผ่งฃ่ชฌ2ใซๅพ“ใ†ใ€‚

$H = \lfloor N/2 \rfloor$ ใจใ—ใฆใ€ๅคงใใช้ค…ใ‹ใ‚‰้ †ใซ $i=N..(N-H+1)$ ใซใคใ„ใฆ $A_i$ ใฎ็›ธๆ‰‹ใ‚’ๆŽขใ™ใ€‚ $A_i$ ใฎ็›ธๆ‰‹ใฏใ€ $A_j : j=1..H$ ใฎใ†ใกใ€ใพใ ไป–ใฎ้ค…ใจ็ต„ใฟๅˆใ‚ใ›ใฆใ„ใชใ„ใ‚‚ใฎใงใ€ $A_j \leq \lfloor A_i / 2 \rfloor$ ใ‚’ๆบ€ใŸใ—ใ€ใพใ ็ต„ใฟๅˆใ‚ใ›ใฆใ„ใชใ„้ค…ใฎ $j$ ใงใ‚ใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใช $j$ ใŒใ‚ใ‚Œใฐ $(A_j,A_i)$ ใ‚’็ต„ใฟๅˆใ‚ใ›ใ€ใใ†ใงใชใ‘ใ‚Œใฐ็„ก่ฆ–ใ™ใ‚‹ใ€‚ใ“ใ‚Œใ‚’็นฐใ‚Š่ฟ”ใ™ใจๆœ€ๅคงใฎ $K$ ใ‚’ๅพ—ใ‚‰ใ‚Œใ‚‹็ต„ใฟๅˆใ‚ใ›ใ‚’ไฝœใ‚Œใ‚‹ใ€‚Cๅ•้กŒใจๅŒๆง˜ใซๅฐบๅ–ใ‚Šๆณ•ใง่งฃใ‘ใ‚‹ใ—ใ€ $O(NlogN)$ ใฎ้›†ๅˆๆ“ไฝœใงใ‚‚TLEใ—ใชใ„ใ€‚

้ค…ใฎ็ต„ใฟๅˆใ‚ใ›ใ‚’ $i=N..(N-H+1)$ ใงใฏใชใ $i=N..1$ ใซใ—ใŸใ‚‰WAใŒๅคง้‡ใซ่ฟ”ใฃใฆใใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌ2ใ‚’ใฟใ‚‹ใพใงๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚ใฉใ†ใ—ใฆWAใชใฎใ‹ใ‚ใ‹ใ‚‰ใชใ‹ใฃใŸใŒใ€้ค…ใฎ้›†ๅˆใ‚’ใ‚’ไธŠ้™2ๅˆ†ๅ‰ฒใ—ใชใ„ใจ่ฒชๆฌฒใซใƒžใƒƒใƒใƒณใ‚ฐใงใใชใ„ใจ็ŸฅใฃใŸใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ57ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ57ๅ›ž็›ฎใฏ ARC 190 ใงใ‚ใ‚‹ใ€‚1ๅ•ใ‚‚่งฃใ‘ใšใซ็ต‚ใ‚ใฃใŸใ€‚Div. 1ใจใฏใ„ใˆใ€ๆฐดdiffใ‚’่งฃใ‘ใชใ„ใฎใฏใ„ใŸใ ใ‘ใชใ„ใ€‚

ABC 389-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚

ABC 389-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡ใฎๅˆถ็ด„ใ‹ใ‚‰ใ€unsigned 64-bitๆ•ดๆ•ฐใงใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใ—ใชใ„ใฎใงใ€ $N$ ใ‚’1ใ‹ใ‚‰้ †ใซ่ฉฆใ™ใ€‚

ABC 389-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใƒ˜ใƒ“ใฎ้•ทใ•ใ‚’็ดฏ็ฉๅ’ŒใงๆŒใกใ€ๅˆ—ใ‹ใ‚‰ๆŠœใ‘ใŸใƒ˜ใƒ“ใฎ้•ทใ•(ใ“ใ‚Œใ‚‚็ดฏ็ฉๅ’Œ)ใ‚’ๅผ•ใ‘ใฐๆฑ‚ใพใ‚‹ใ€‚

ABC 389-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

็›ดๆ„Ÿ็š„ใซใฏใ‚ใ‹ใ‚‹ใŒใ€ไธๅฏงใชๅฎŸ่ฃ…ใŒใ„ใ‚‹ใ€‚

ๅฐๆ•ฐใ‚’ๆ‰ฑใ†ใฎใฏๅคงๅค‰ใชใฎใงใ€ $R$ ใ‚’2ๅ€ใ—ใฆใ€ๆญฃๆ–นๅฝขใฏๅคงใใ• $2 \times 2$ ใจใ™ใ‚‹ใ€‚

ๅ††ใฎๅฏพ็งฐๆ€งใซๆณจ็›ฎใ—ใฆใ€ $X$ ่ปธใ€ $Y$ ่ปธใ€็ฌฌไธ€่ฑก้™ใ ใ‘ใ‚’่€ƒใˆใ‚‹ใ€‚ $Y$ ่ปธไธŠใฎๆญฃๆ–นๅฝขใคใพใ‚Š $X = [-1,1]$ ใ‚’ๅ ใ‚ใ‚‹ๆญฃๆ–นๅฝขใŒๅŽใพใ‚‹ใ‹ใฉใ†ใ‹ใฏใ€ $X = 1$ ใฎ $Y$ ่ปธใซๅž‚็›ดใช็›ด็ทšใซใคใ„ใฆใ€ $X^2 + Y^2 \leq R^2$ ใŒๆˆใ‚Š็ซ‹ใค $Y$ ใงใ‚ใ‚‹ใ€‚ $Y &gt; 0$ ใฎ็ฏ„ๅ›ฒใ ใ‘่€ƒใˆใฆใ€ $Y$ ใฎๆœ€ๅคงๅ€คใฏ $U =\lfloor \sqrt{R^2 - X^2} \rfloor$ ใงใ‚ใ‚‹ใ€‚

ใ‚ˆใฃใฆใ“ใฎ็ฏ„ๅ›ฒใซๅŽใพใ‚‹ๆญฃๆ–นๅฝขใฎๆ•ฐใฏใ€

  • $U &lt; 1$ ใชใ‚‰0ๅ€‹ใ€‚ใ“ใฎๅ‡ฆ็†ใŒๆŠœใ‘ใฆใ„ใฆใ‚‚ACใ™ใ‚‹ใฎใงใ€ใ“ใฎใ‚ˆใ†ใชใ“ใจใฏ่ตทใใชใ„ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใ€‚
  • $U \geq 1$ ใชใ‚‰ใ€ $Y &gt; 1$ ใซใคใ„ใฆ $C = \lfloor (U-1)/2 \rfloor$ ๅ€‹ใจใ€ $Y &lt; -1$ ใซใคใ„ใฆๅŒๆ•ฐ $C$ ๅ€‹ใจใ€ $X$ ่ปธไธŠใฎ1ๅ€‹ใฎใ€ๅˆ่จˆ $2C+1$ ๅ€‹ใงใ‚ใ‚‹ใ€‚

ๅŒๆง˜ใซๆญฃๆ–นๅฝขใฎๅณ็ซฏ $X = 3,5,..,R-1$ ใซใคใ„ใฆใ€ $X$ ใ‚’2ใšใคๅข—ใ‚„ใ—ใฆๅŒๆง˜ใซๆฑ‚ใ‚ใ‚‹ใ€‚ $Y$ ่ปธใซๅฏพ็งฐใชไฝ็ฝฎใ‚‚็ญ”ใˆใชใฎใง2ๅ€ใ—ใŸๅ€ค $4C+2$ ใ‚’ๆ•ฐใˆใ‚‹(้€†ใซ่จ€ใ†ใจไธŠ่จ˜ใฎๆฑ‚ใ‚ๆ–นใฏ $Y$ ่ปธไธŠใฎๆญฃๆ–นๅฝขใชใฎใง1ๅ€ใ—ใŸ)ใ€‚ใ“ใ‚Œใ‚‰ใฎๅ’ŒใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 389-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎ็ฏ„ๅ›ฒๅŠ ็ฎ—ใ ใจๆ€ใฃใŸใŒ่งฃใ‘ใชใ‹ใฃใŸใ€‚ใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใฏๅ˜่ชฟๆ€งใŒๆˆใ‚Š็ซ‹ใคใฎใ ใŒใ€ๆˆใ‚Š็ซ‹ใŸใชใ„ใจ่ชค่งฃใ—ใฆใ„ใŸใ€‚ $[L,R]$ ใซใฒใŸใ™ใ‚‰ๅŠ ็ฎ—ใ™ใ‚‹ใจๅ˜่ชฟๆ€งใŒๆˆใ‚Š็ซ‹ใŸใชใ„ใจๆ€ใฃใŸใŒใ€ใ‚ˆใใใ†ใงใฏใชใ„ใ€‚ $R$ ใ‹ใ‚‰ $R+1$ ใซใชใฃใŸใ‚‰ใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใฏๅŠ ็ฎ—ใ•ใ‚Œใชใ„ใŒใ€ $R-1$ ใ‹ใ‚‰ $R$ ใ‚’็ตŒใฆ $R+1$ ใซใชใ‚Œใฐใ‚„ใฏใ‚Šใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใฏๅŠ ็ฎ—ใ•ใ‚Œใชใ„ใฎใงใ€ๆœ€ๅˆใซใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใŒไฝŽใ„ไบบใซๅพŒใ‹ใ‚‰่ฟฝใ„่ถŠใ•ใ‚Œใ‚‹ใ“ใจใฏใชใ„ใ€‚

ใ“ใ“ใพใงๅˆ†ใ‹ใ‚Œใฐ atcoder::lazy_segtree::max_right ใงใ€ใ‚ฏใ‚จใƒชๅพŒใฎใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใ‚’ๆฑ‚ใ‚ใ‚Œใฐใ‚ˆใ„ใ€‚ apply ใฏใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐๅŠ ็ฎ—1ใ ใŒใ€ prod ใฏๅŒบ้–“ๆœ€ๅคงใงใ‚ใ‚Šใ€ใ“ใ“ใŒใ‚„ใ‚„ใ“ใ—ใ„ใ€‚ prod ใ‚’ max_right ใ‚’่กŒใ†ใ“ใจใ‚’่€ƒใˆใ‚Œใฐใ€็ขบใ‹ใซๅŒบ้–“ๆœ€ๅคงใงใชใ„ใจๅ›ฐใ‚‹ใ€‚ๅ…ฌๅผ่งฃ่ชฌใฎใ‚ณใƒผใƒ‰ใ‚’ใปใผใใฎใพใพๅ†™็ตŒใ—ใฆ่งฃ่ชฌACใ—ใŸใ€‚

ABC 390-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡ใ‚’่ชค่ชญใ—ใฆ2ใƒšใƒŠใ—ใŸใ€‚

ไปปๆ„ใฎไบŒ่ฆ็ด ใงใฏใชใใ€้šฃใ‚Šๅˆใ†ไบŒ่ฆ็ด ใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใ‚‹ใ€‚็ทๅฝ“ใŸใ‚Šใ—ใฆใ‚ฝใƒผใƒˆๆธˆใซใชใ‚‹ใ‹ ่ชฟในใ‚Œใฐ ใ‚ˆใ„ใ€‚

ABC 390-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$A_1 / A_2 = A_i / A_{i+1}$ ใŒ $1 \leq i &lt; N$ ใซใคใ„ใฆใ™ในใฆๆˆใ‚Š็ซ‹ใคใชใ‚‰ Yes , ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚ $N=2$ ใฏ่‡ชๅ‹•็š„ใซ Yes ใซใชใ‚‹ใ€‚้™ค็ฎ—ใฎ่ชคๅทฎใ‚’็™บ็”Ÿใ•ใ›ใชใ„ใ‚ˆใ†ใ€ $A_1 A_{i+1} = A_i A_2$ ใงๅˆคๅฎšใ™ใ‚‹ใ€‚

ABC 390-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

้ป’ใƒžใ‚นใŒใ‚ใ‚‹ๆœ€ไธŠ่กŒ $T$ ใ€ๆœ€ไธ‹่กŒ $B$ ใ€ๆœ€ๅทฆๅˆ— $L$ ใ€ๆœ€ๅณๅˆ— $R$ ใฎไธญใ‚’ใ™ในใฆๅก—ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚ๅฏพ่ง’็ทš $(T,L)-(B,R)$ ใงๅฎš็พฉใ™ใ‚‹้•ทๆ–นๅฝข(ไธก็ซฏใ‚’ๅซใ‚€)ใฎไธญใซ . ใŒใ‚ใ‚Œใฐ No , ใชใ‘ใ‚Œใฐ Yes ใงใ‚ใ‚‹ใ€‚

ABC 390-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใพใใ‚ŒใงACใงใใฆใ—ใพใ†ใ€‚

้›†ๅˆใ‚’ std::bitset<32> ใง็ฎก็†ใ—ใฆDFSใ™ใ‚‹ใจใ€ใŸใ„ใฆใ„TLEใ™ใ‚‹ใฎใ ใŒ1ๅ›žใ ใ‘ 2919 ms ใง้–“ใซๅˆใฃใฆใ—ใพใฃใŸใ€‚

ABC 390-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่ฆ‹ใ‚‹ใ‹ใ‚‰ใซ้ฃŸใน็‰ฉ $1..N$ ใ‚’ใ‚ณใ‚นใƒˆ $0..X$ ใงๅ…ฅๆ‰‹ใงใใ‚‹็ฏ„ๅ›ฒใฎไฝ•ใ‹ใ€ใจใ„ใ†DPใงใ‚ใ‚‹ใ€‚ใใ“ใง $min(A_1,A_2,A_3)$ ใ‚’่ผ‰ใ›ใŸใ‚‰WAใŒๅคง้‡ใซ่ฟ”ใฃใฆใใŸใ€‚ๆฐ—ๅˆ†่ปขๆ›ใซๆŽƒ้™คใ—ใฆๆ›ๆฐ—ใ—ใฆ้ ญใ‚’ๆด—ใฃใฆใ„ใ‚‹้€”ไธญใงๆญฃ็ญ”ใ‚’ๆ€ใ„ใคใ„ใŸใ€‚

ๅ•้กŒๆ–‡ใ‚’ใ‚ˆใใฟใŸใ‚‰ใ€ไธ€ใคใฎ้ฃŸใน็‰ฉใ‹ใ‚‰ใฏไธ€็จฎ้กžใฎใƒ“ใ‚ฟใƒŸใƒณใ—ใ‹ๆ‘‚ๅ–ใงใใชใ„ใ€‚ใ ใจใ™ใ‚Œใฐใ€ใƒ“ใ‚ฟใƒŸใƒณ $v \in 1..3$ ใ‚’ใ‚ณใ‚นใƒˆ $0..X$ ใงๆ‘‚ๅ–ใงใใ‚‹ๆœ€ๅคง้‡ใ€ใจใ„ใ† $DP_v$ ใ‚’่จญ่จˆใ™ใ‚‹ใ€‚ $v$ ใฏใใ‚Œใžใ‚Œ็‹ฌ็ซ‹ใงใ‚ใ‚‹ใ€‚DPใฎๅพŒใ€ใƒ“ใ‚ฟใƒŸใƒณ $v$ ใ‚’ $s$ ๆ‘‚ๅ–ใ™ใ‚‹ใซใŸใ‚ใซๆ‰•ใ†ๆœ€ไฝŽใ‚ณใ‚นใƒˆใฏ $x$ ใงใ‚ใ‚‹ใจใ„ใ†้›†ๅˆใ‚’ใ€่ฆ็ด  $S_v:(s,x)$ ใฎๆ˜‡้ †ใงๆŒใคใ€‚ $DP_v[0..X]$ ใ‚’ใฟใฆใ€ใ‚ณใ‚นใƒˆใ‚’ๅคšใๆ‰•ใ†ใŒๆ‘‚ๅ–ใงใใ‚‹้‡ใฏๅฐ‘ใชใ„ใจใ„ใ†้€†่ปขใŒใ‚ใฃใŸใ‚‰็„ก่ฆ–ใ™ใ‚‹ใ€‚

ใ“ใ†ใ™ใ‚‹ใจ็ญ”ใˆ $t$ ใ‚’ๅ›บๅฎšใ—ใฆใ€ใƒ“ใ‚ฟใƒŸใƒณ $v=1..3$ ใฎๆ‘‚ๅ–้‡ใ‚’ $t$ ไปฅไธŠใซใงใใ‚‹ใ‹ใจใ„ใ†ๅ•้กŒใซๅธฐ็€ใ™ใ‚‹ใ€‚ใ“ใ‚Œใฏ $t$ ใ‚’ $[0,Nmax(A)]$ ใฎ็ฏ„ๅ›ฒใงไบŒๅˆ†ๆŽข็ดขใ™ใ‚Œใฐใ‚ˆใ„ใ€‚ $t$ ใ‚’ๅ›บๅฎšใ—ใฆ $S_v$ ใ‚’ไบŒๅˆ†ๆŽข็ดขใ™ใ‚Œใฐใ€ $t$ ใ‚’ๆ‘‚ๅ–ใ™ใ‚‹ใŸใ‚ใฎๆœ€ไฝŽใ‚ณใ‚นใƒˆ $D_{i,t}$ ใ‚‚ใ—ใใฏๆ‘‚ๅ–ไธๅฏ่ƒฝ( $D_{i,t} = \infty$ )ใชใ“ใจใŒใ‚ใ‹ใ‚‹ใฎใงใ€ $\sum_{i=1..3} D_{i,t} \leq X$ ใชใ‚‰ $t$ ใฏ็ญ”ใˆใซใชใ‚Šใ†ใ‚‹ใ€‚ใใฎใ‚ˆใ†ใช $t$ ใฎๆœ€ๅคงๅ€ค(0ไปฅไธŠ)ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ57ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ57ๅ›ž็›ฎใฏ ARC Div. 2 191 ใงใ‚ใ‚‹ใ€‚A,B 2ๅฎŒใ‚’103:12ใฎ7ใƒšใƒŠใงใ€ใชใ‚“ใจใ‹0ๅฎŒใ‚’้€ƒใ‚ŒใŸใ€‚

ABC 391-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

NEWS ใฎๅ„ๆ–‡ๅญ—ใ‚’ SWEN ใฎๅ„ๆ–‡ๅญ—ใซๅฏพๅฟœใ•ใ›ใ‚‹้€ฃๆƒณ้…ๅˆ—ใ‚’ไฝœใฃใฆใ€ $D$ ใ‚’ไธ€ๆ–‡ๅญ—ใšใค็ฝฎใๆ›ใˆใ‚‹ใ€‚

Bashใ‹ใ‚‰trใ‚ณใƒžใƒณใƒ‰ใ‚’ๅ‘ผใณๅ‡บใ—ใฆใ‚‚่งฃใ‘ใ‚‹ใ€‚

tr NEWS SWEN

ABC 391-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่กŒใจๅˆ—ใฎๅง‹็‚นใ‚’ใใ‚Œใžใ‚Œ $1..(N-M+1)$ ใซๆฑบใ‚ๆ‰“ใกใ—ใฆ็ทๅฝ“ใŸใ‚Šใ™ใ‚‹ใ€‚

ABC 391-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅทฎๅˆ†ใ‚’ๆ›ดๆ–ฐใ™ใ‚‹ใ€‚

0-based indexingใจใ—ใฆใ€้ณฉใฎไฝ็ฝฎใ‚’ $N[i=0..(N-1)] = i$ ใ€ๅทฃใซใ„ใ‚‹้ณฉใฎๆ•ฐใ‚’ $C[i=0..(N-1)] = 1$ ใ€่ค‡ๆ•ฐใฎ้ณฉใŒใ„ใ‚‹ๅทฃใฎๅ€‹ๆ•ฐ $A = 0$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚ใ‚ฏใ‚จใƒช1ใฏไปฅไธ‹ใฎ้€šใ‚Šๅ€คใ‚’ๆ›ดๆ–ฐใ—ใ€ใ‚ฏใ‚จใƒช2ใฏ $A$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

  • ้ณฉ $P$ ใฎ็งปๅ‹•ๅ…ƒใ‚’ $F$ ใ€็งปๅ‹•ๅ…ˆใ‚’ $H$ ใจใ™ใ‚‹
  • ็งปๅ‹•ๅ‰ใฎ $C$ ใ‚’ $C_{prev}$ ใ€็งปๅ‹•ๅพŒใฎ $C$ ใ‚’ $C_{next}$ ใจใ™ใ‚‹
  • $C_{next}[F] = C_{prev}[F] - 1$ ใ€ $C_{next}[H] = C_{prev}[H] + 1$ ใงใ‚ใ‚‹
  • $N[P] = H$ ใจใ™ใ‚‹
  • $C_{next}[H] &gt; 1$ ใ‚’ใ€ $C_{next}[H] &gt; 1$ ใชใ‚‰1ใ€ใใ†ใงใชใ‘ใ‚Œใฐ0ใจๅฎš็พฉใ™ใ‚‹ใ€‚ไป–ใ‚‚ๅŒๆง˜ใ€‚
  • $A$ ใฎๅทฎๅˆ†ใฏใ€ $(C_{next}[H] &gt; 1) + (C_{next}[F] &gt; 1) - (C_{prev}[H] &gt; 1) - (C_{prev}[F] &gt; 1)$ ใชใฎใง $A$ ใซใ“ใฎๅทฎๅˆ†ใ‚’่ถณใ™ใ€‚็‰นใซ $F = H$ ใชใ‚‰ๅทฎๅˆ†ใฏ0ใงใ‚ใ‚‹ใ€‚

ABC 391-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไธŠใซใ‚ใ‚‹ใƒ–ใƒญใƒƒใ‚ฏใŒไธ‹ใซใ‚ใ‚‹ใƒ–ใƒญใƒƒใ‚ฏใ‚’่ฟฝใ„่ถŠใ™ใ“ใจใฏ็„กใ„ใ€‚ใ‚ˆใฃใฆใใ‚Œใžใ‚Œใฎใƒ–ใƒญใƒƒใ‚ฏใฏ็‹ฌ็ซ‹ใซใ€ใ„ใค1่กŒ็›ฎใซใชใ‚‹ใ‹่€ƒใˆใ‚Œใฐใ‚ˆใ„ใ€‚ๆ˜Žใ‚‰ใ‹ใซใ“ใ‚Œใฏ $Y_i$ ใงใ‚ใ‚‹ใฎใ ใŒใ€0-based indexingใŒใฉใ†ใ‹่€ƒๆ…ฎใ™ใ‚‹ใจใ‚„ใ‚„ใ“ใ—ใ„ใ€‚

ใƒ–ใƒญใƒƒใ‚ฏใŒๆถˆใˆใ‚‹ๆกไปถใฏใ€ $x=1..W$ ๅˆ—็›ฎใ™ในใฆใซใƒ–ใƒญใƒƒใ‚ฏใ‚’ใใ‚ใˆใ‚‰ใ‚Œใ‚‹ใ“ใจใงใ‚ใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใซใŠใ„ใฆ $x$ ๅˆ—็›ฎใซ $C_x$ ๅ€‹ใƒ–ใƒญใƒƒใ‚ฏใŒใ‚ใ‚‹ใชใ‚‰ใ€ใƒ–ใƒญใƒƒใ‚ฏใ‚’ $H = min(C_{\ast})$ ่กŒๆถˆใ™ใ“ใจใŒใงใใ‚‹ใ€‚ $H = 0$ ใชใ‚‰ใƒ–ใƒญใƒƒใ‚ฏใฏไธ€ใคใ‚‚ๆถˆใˆใชใ„ใฎใงใ€ใ™ในใฆใฎใ‚ฏใ‚จใƒชใซใคใ„ใฆ็ญ”ใˆใฏ Yes ใงใ‚ใ‚‹ใ€‚ไปฅไธ‹ $H &gt; 0$ ใจใ™ใ‚‹ใ€‚

ใƒ–ใƒญใƒƒใ‚ฏ $j$ ใŒไธ‹ใ‹ใ‚‰ $i$ ็•ช็›ฎใซใ‚ใ‚‹ใ“ใจใ‚’ $S_j = i$ ใจใ™ใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใซใŠใ„ใฆ $x$ ๅˆ—็›ฎใฎไธ‹ใ‹ใ‚‰ $i$ ็•ช็›ฎใฎใƒ–ใƒญใƒƒใ‚ฏ $j$ ใŒ $Z_{x,i} = Y_j$ ใซใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ใƒ–ใƒญใƒƒใ‚ฏใŒ $i = 1..H$ ๅ›ž็›ฎใซๆถˆใˆใ‚‹ๆ™‚ๅˆป $D_i$ ใฏใ€ $D_i = max(Z_{\ast,i})$ ใงใ‚ใ‚‹ใ€‚ใƒ–ใƒญใƒƒใ‚ฏ $j$ ใฏ $S_j &gt; H$ ใชใ‚‰ๆฐธไน…ใซๆถˆใˆใš(ไพฟๅฎœไธŠๆ™‚ๅˆป $\infty$ ใซๆถˆใˆใ‚‹ใจใ™ใ‚‹)ใ€ $S_j \leq H$ ใชใ‚‰ๆ™‚ๅˆป $D_{S_j}$ ใซๆถˆใˆใ‚‹ใ€‚

ใ‚ฏใ‚จใƒชใซ็ญ”ใˆใ‚‹ใ€‚ $T,A$ ใซใคใ„ใฆใ€ $T \leq D_{S_A}$ ใชใ‚‰ Yes ใ€ $T &gt; D_{S_A}$ ใชใ‚‰ No ใงใ‚ใ‚‹ใ€‚

ABC 391-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ†ๅธฐใ™ใ‚‹ใ€‚

ๅ•้กŒๆ–‡ใซๆฒฟใฃใฆใ€้ƒจๅˆ†ๅˆ— $S$ ใ‹ใ‚‰ $A_1$ ใ‚’ๅพ—ใ‚‹ๆ“ไฝœใ‚’ $F(S)$ ใจใ™ใ‚‹ใ€‚ ๆœ€ๅˆใซ็พ็Šถใฎ $F(A)$ ใ‚’ๆฑ‚ใ‚ใ€ $F(A)$ ใ‚’ๅค‰ใˆใŸๅ…ˆ $T = 1 - F(A)$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ‚Œใฏๅ•้กŒๆ–‡้€šใ‚Šใ€ๅ…ฅๅŠ›ใ‚’3ๅˆ†ๅ‰ฒใ—ใชใŒใ‚‰ๅ†ๅธฐใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

้•ทใ•ใŒ $3^i$ ใฎ้ƒจๅˆ†ๅˆ— $S$ ใซใคใ„ใฆใ€ๅ•้กŒๆ–‡ใฎๆœ€ๅฐๅค‰ๆ›ดๅ›žๆ•ฐใ‚’ $G(S)$ ใจใ™ใ‚‹ใ€‚

  • $i=0$ ใฎใจใใฏใ€ $S=T$ ใชใ‚‰ $G(S) = 0$ ใ€ใใ†ใงใชใ‘ใ‚Œใฐ $G(S) = 1$ ใงใ‚ใ‚‹
  • $i &gt; 0$ ใฎใจใใฏใ€ $S$ ใ‚’้•ทใ• $3^{i-1}$ ใฎ3ใคใฎ้ƒจๅˆ†ๅˆ— $S_1, S_2, S_3$ ใซๅˆ†ๅ‰ฒใ™ใ‚‹ใ€‚็ญ”ใˆใฏ $G(S_1), G(S_2), G(S_3)$ ใฎใ†ใกใ€ๅฐใ•ใ„ๆ–นใ‹ใ‚‰2ใคใฎๅ’Œใงใ‚ใ‚‹ใ€‚

ๅคšๆ•ฐๆฑบใชใฎใงใ€ๆœ€ๅฐๅค‰ๆ›ดๅ›žๆ•ฐใŒๆœ€ใ‚‚ๅคงใใ„้ƒจๅˆ†ๅˆ—ใซใคใ„ใฆใฏไธ€ๅˆ‡ๆ“ไฝœใ›ใš็„ก่ฆ–ใ—ใฆใ‚ˆใ„ใ€‚ใชใฎใงๆฎ‹ใ‚Šใฎ2ใคใฎ้ƒจๅˆ†ๅˆ—ใ ใ‘่€ƒๆ…ฎใ™ใ‚‹ใ€‚ไฝ•ใ‚‚ๆ“ไฝœใ™ใ‚‹ใ“ใจใชใ $T = F(S_1)$ ใŒ้”ๆˆใงใใ‚‹ใชใ‚‰ $G(S_1) = 0$ ใงใ‚ใ‚Šใ€ $G(S_1), G(S_2), G(S_3)$ ใ‚’ๆ˜‡้ †ใซไธฆในใŸใจใใซ่‡ช็„ถใจๆŽก็”จใ™ใ‚‹ใ€‚ใ“ใ†ใ™ใ‚‹ใจ $F(S_1), F(S_2), F(S_3)$ ใŒไฝ•ใ‹ใง8้€šใ‚Šใฎๅ ดๅˆๅˆ†ใ‘ใ‚’ใ™ใ‚‹ๅฟ…่ฆใŒใชใใชใ‚‹ใ€‚

้ƒจๅˆ†ๅˆ—ใฏๅทฆ็ซฏใฎๆทปใˆๅญ—ใจใ€้ƒจๅˆ†ๅˆ—ใฎ้•ทใ• $3^i$ ใง็ฎก็†ใ—ใฆDFSใ™ใ‚‹ใจใ€ $A$ ใ‚’ใ‚ณใƒ”ใƒผใ™ใ‚‹ใ‚ณใ‚นใƒˆใ‚’็œใ‘ใ‚‹ใ€‚ใƒกใƒขๅŒ–ใฏใ„ใ‚‰ใชใ„ใ€‚

ABC 391-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่€ƒใˆใ™ใŽใฆๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚

ๆœ€ๅˆใฎๆ–น้‡ใฏใ€่งฃ $T$ ใ‚’่ถ…ใˆใ‚‹ๆ•ฐใŒ $K$ ๅ€‹ไปฅไธŠใซใชใ‚‹ๆ–นๆณ•ใ‚’่€ƒใˆใŸใ€‚ใ—ใ‹ใ—ใ„ใคใพใง็ตŒใฃใฆใ‚‚ๆ–น้‡ใŒ็ซ‹ใŸใชใ„ใฎใงใ€ไปฅไธ‹ใฎๆ–น้‡ใซๅˆ‡ใ‚Šๆ›ฟใˆใŸใ€‚

$A, B, C$ ใ‚’ใใ‚Œใžใ‚Œๆ˜‡้ †ใซไธฆในใ€ๆ•ฐๅญ—ใฎๅคงใใชใ‚‚ใฎใ‹ใ‚‰็ต„ใฟๅˆใ‚ใ›ใฆใ„ใใ€‚ๆทปใˆๅญ— $N..1$ ใฎ้ †ใซไฝฟใฃใฆใ„ใใ€‚ไปŠๆณจ็›ฎใ—ใฆใ„ใ‚‹ $A,B,C$ ใฎๆทปใˆๅญ—ใ‚’ $I_A, I_B, I_C$ ใจใ™ใ‚‹ใ€‚

  • ๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใซใ‚ฟใƒ—ใƒซ $(AB + BC + CA, I_A, I_B, I_C)$ ใ‚’่ผ‰ใ›ใ‚‹ใ€‚ใ„ใคใ‚‚ใจ้•ใ„ใ€ๅ€คใŒๅคงใใ„ใปใฉ้ซ˜ๅ„ชๅ…ˆๅบฆใคใพใ‚Šๆœ€ๅˆใซๅ–ใ‚Šๅ‡บใ™่ฆ็ด ใซใ™ใ‚‹ใ€‚
  • ใ‚ฟใƒ—ใƒซใฎๆœ€ๅˆใฎๅ€คใฏๅ•้กŒๆ–‡้€šใ‚Š $A[I_A]B[I_B] + B[I_B]C[I_C] + C[I_C]A[I_A]$ ใ‚’่จˆ็ฎ—ใ™ใ‚‹ใ“ใจใซใ—ใฆไปฅๅพŒใฏๆ˜Ž่จ˜ใ—ใชใ„ใ€‚ๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใฎๆœ€ๅˆใฎ่ฆ็ด ใฏ $(N, N, N)$ ใ‚’่ผ‰ใ›ใ‚‹ใ€‚
  • ใ‚ญใƒฅใƒผใ‹ใ‚‰่ฆ็ด ใ‚’ๅ–ใ‚Šๅ‡บใ—ใŸใ‚‰ใ€ $(N-1, N, N)$ , $(N, N-1, N)$ $(N, N, N-1)$ ใ‚’่ผ‰ใ›ใ‚‹ใ€‚ใŸใ ใ—ๆทปใˆๅญ—ใŒ1ๆœชๆบ€ใซใชใ‚‹ๅ ดๅˆใจใ€ใ‚ญใƒฅใƒผใฎ้•ทใ•ใŒ $3K$ ใ‚’่ถ…ใˆใ‚‹ใจใใฏ่ผ‰ใ›ใชใ„ใ€‚

ใ‚ญใƒฅใƒผใ‹ใ‚‰ $K$ ็•ช็›ฎใซๅ–ใ‚Šๅ‡บใ—ใŸๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใชใŠใ‚ญใƒฅใƒผใฎ้•ทใ•ใŒ $3K$ ใ‚’่ถ…ใˆใ‚‹ใจใใฏ่ผ‰ใ›ใชใ„ใฎใ‚’ใ€ $K$ ใ‚’่ถ…ใˆใ‚‹ใจใใซใ™ใ‚‹ใจ 8 WAsใŒ่ฟ”ใฃใฆใใ‚‹ใ€‚

ABC 392-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$P_{1,2,3} = {1,2,3}$ ใฎ้ †ๅˆ—็ต„ใฟๅˆใ‚ใ›ใ‚’ใ™ในใฆ่ชฟในใ€ๅฐ‘ใชใใจใ‚‚ไธ€ใคใฎ้ †ๅˆ—ใซๅฏพใ—ใฆใ€ $A_{P_1} \times A_{P_2} = A_{P_3}$ ใŒๆˆใ‚Š็ซ‹ใฆใฐ Yes ใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ABC 392-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$S = 1..N$ ใ‚’ๅ‡บ็พใ—ใชใ„ๆ•ฐใฎๅˆๆœŸๅ€คใจใ—ใฆใ€ $A$ ใฎ่ฆ็ด ใ‚’ $S$ ใ‹ใ‚‰ๅ–ใ‚Š้™คใใ€‚ $S$ ใŒ็ฉบใฎใจใใซใ€ๅ‡บๅŠ›ใฎ2่กŒ็›ฎใ‚’็ฉบ่กŒใซใ™ใ‚‹ใ“ใจใซๆฐ—ใ‚’ไป˜ใ‘ใ‚‹ใ€‚

ABC 392-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

0-based indexingใง่€ƒใˆใ‚‹ใ€‚ $Q$ ใฎ้€†ๅผ•ใใคใพใ‚Šใ‚ผใƒƒใ‚ฑใƒณ $q$ ใ‚’ไป˜ใ‘ใŸไบบใŒ $i$ ใงใ‚ใ‚‹ใจใ„ใ†่กจใ‚’ $R[q] = i$ ใจใ™ใ‚‹ใ€‚ไบบ $i$ ใซใคใ„ใฆใฎ็ญ”ใˆใฏ $Q[P[R[i]]]$ ใงใ‚ใ‚‹ใ€‚

ABC 392-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒใ‚’่ชค่ชญใ—ใฆๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸไธŠใ€ใ‚„ใ‚„ใ“ใ—ใ„ๅฎŸ่ฃ…ใ‚’ใ—ใฆWAใ—ใŸใ€‚

ใ‚ตใ‚คใ‚ณใƒญใฎ็ต„ใฏ็ทๅฝ“ใŸใ‚Šใ—ใ‹ใชใ„ใฎใง็ทๅฝ“ใŸใ‚Šใง่ชฟในใ‚‹ใ€‚ใ‚ตใ‚คใ‚ณใƒญ $i$ ใซใคใ„ใฆใ€ๅ‡บ็›ฎ $a$ ใฎๅ‡บ็พๅ›žๆ•ฐใŒ $F_{i,a} &gt; 0$ ใจใ™ใ‚‹ใ€‚็ต„ใซใ™ใ‚‹ใ‚ตใ‚คใ‚ณใƒญ $j (\ne i)$ ใซใคใ„ใฆใ€ๅ‡บ็›ฎ $b$ ใฎๅ‡บ็พๅ›žๆ•ฐใ‚’ $F_{j,b}$ ใจใ—ใ€ $(\sum_b F_{i,b} F_{j,b}) / K_i K_j$ ใฎๆœ€ๅคงๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹(่ฉฒๅฝ“ใ™ใ‚‹็ต„ใŒใชใ‘ใ‚Œใฐ0ใŒ็ญ”ใˆ)ใ€‚

ABC 392-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆ–น้‡ใฏใ™ใ็ซ‹ใฃใŸใŒใ€ๅฎŸ่ฃ…ใซใ™ใ”ใๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚

ใ‚ตใƒผใƒใƒผใ‚’้€ฃ็ตๆˆๅˆ†ใซๅˆ†ๅ‰ฒใ™ใ‚‹ใ€‚ใใ‚Œใžใ‚Œใฎ้€ฃ็ตๆˆๅˆ†ใซใคใ„ใฆๆœจๆง‹้€ ใฎใ‚ฐใƒฉใƒ•ใ‚’ๆง‹็ฏ‰ใ™ใ‚‹ใ€‚ใใ†ใ™ใ‚‹ใจใใ‚Œใžใ‚Œใฎ้€ฃ็ตๆˆๅˆ†ใซใคใ„ใฆใ€ๅ†—้•ทใชใ‚ฑใƒผใƒ–ใƒซใŒๅˆ†ใ‹ใ‚‹ใฎใงใใ‚Œใ‚‰ใ‚’้›†ใ‚ใ‚‹ใ€‚

ๅ†—้•ทใชใ‚ฑใƒผใƒ–ใƒซใ‚’ใ€ไป–ใฎ้€ฃ็ตๆˆๅˆ†ใจใคใชใŽๅค‰ใˆใ‚‹ใ€‚้€ฃ็ตๆˆๅˆ†ใŒ $K$ ๅ€‹ใ‚ใ‚‹ใจใ—ใฆใ€ๅ…ƒใ€…ใฎ้€ฃ็ตๆˆๅˆ† $1$ ใฎๅ†—้•ทใชใ‚ฑใƒผใƒ–ใƒซใ‚’ใ€ใพใ ้€ฃ็ตๆˆๅˆ† $1$ ใจใคใชใŒใฃใฆใ„ใชใ„้€ฃ็ตๆˆๅˆ†ใจใคใชใ’ใ€้€ฃ็ตๆˆๅˆ† $(1,i)$ ใ‚’ใƒžใƒผใ‚ธใ™ใ‚‹ใ€‚ๅ…ƒใ€…ใฎ้€ฃ็ตๆˆๅˆ† $i=2..K$ ใซใคใ„ใฆใ€้€ฃ็ตๆˆๅˆ† $1$ ใจใƒžใƒผใ‚ธๆธˆใชใ‚‰ใชใซใ‚‚ใ›ใšใ€ใƒžใƒผใ‚ธใ—ใฆใ„ใชใ‘ใ‚Œใฐ้€ฃ็ตๆˆๅˆ† $i$ ใฎๅ†—้•ทใชใ‚ฑใƒผใƒ–ใƒซใ‚’ใ€ใพใ ้€ฃ็ตๆˆๅˆ† $1$ ใจใคใชใŒใฃใฆใ„ใชใ„้€ฃ็ตๆˆๅˆ† $j$ ใคใชใ’ใ€้€ฃ็ตๆˆๅˆ† $(i,j)$ ใ‚’ใƒžใƒผใ‚ธใ™ใ‚‹ใ€‚

ใ“ใ‚Œใ‚’็นฐใ‚Š่ฟ”ใ™ใจใ™ในใฆใฎใ‚ตใƒผใƒใƒผใŒๅ˜ไธ€ใฎ้€ฃ็ตๆˆๅˆ†ใซใชใ‚‹ใ€‚

ABC 392-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Eๅ•้กŒใฏๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใฎใซใ€Fๅ•้กŒใฏใ‚ใฃใ•ใ‚Š็ต‚ใ‚ใฃใŸใ€‚

้ †ๅบไป˜ใ้›†ๅˆใง $N$ ็•ช็›ฎใฎ่ฆ็ด ใ‚’ๅ–ๅพ—ใงใใ‚‹ๅฎŸ่ฃ… Policy-Based Data Structures ใŒใ‚ใ‚Œใฐ็ฐกๅ˜ใ ใจใ™ใใ‚ใ‹ใ‚‹ใ€‚ใ‚ใจใฏใ‚ฏใ‚จใƒชๅ…ˆ่ชญใฟใจใ„ใ†ใ‹ใ‚ฏใ‚จใƒช้€†ๅ†็”Ÿใ‚’็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ€‚

็ญ”ใˆใ‚’ $A$ ใจใ—ใ€ใ‚ฏใ‚จใƒช $N..1$ ็•ช็›ฎใฎ้ †ใซๅ‡ฆ็†ใ™ใ‚‹ใ€‚ $A$ ใซๆ•ฐๅญ—ใ‚’็ฝฎใ‘ใ‚‹ๅ ดๆ‰€ $S$ ใ‚’ $S=1..N$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚

$N$ ็•ช็›ฎใฎใ‚ฏใ‚จใƒชใฏๆ˜Žใ‚‰ใ‹ใซ $A[P_N] = N$ ใงใ‚ใ‚‹ใ€‚ $S$ ใ‹ใ‚‰ $P_N$ ใ‚’้™คๅค–ใ™ใ‚‹ใ€‚ๅŒๆง˜ใซ $i$ ็•ช็›ฎใฎใ‚ฏใ‚จใƒชใฏใ€ $A[S[P_i]] = i$ ใงใ‚ใ‚Šใ€ $S$ ใ‹ใ‚‰ $P_i$ ใ‚’้™คๅค–ใ™ใ‚‹ใ€‚ใ“ใ“ใง $S[j]$ ใฏ $S$ ใฎๅฐใ•ใ„ๆ–นใ‹ใ‚‰ $j$ ็•ช็›ฎใฎ่ฆ็ด ใงใ‚ใ‚‹ใ€‚ใ“ใ“ใง Policy-Based Data Structures ใŒๅฝนใซ็ซ‹ใคใ€‚

ๆƒณๅฎš่งฃๆณ•ใฏๆ•ฐๅญ—ใ‚’็ฝฎใ‘ใ‚‹ๅ ดๆ‰€ใ‚’ Fenwick-treeใซ่ผ‰ใ›ใฆไบŒๅˆ†ๆŽข็ดขใ ใฃใŸใ€‚็ขบใ‹ใซใใ‚Œใงใ‚‚่งฃใ‘ใ‚‹ใŒใ€ Policy-Based Data Structures ใฎๆ–นใŒๅฎŸ่ฃ…ใฏ็ฐกๆฝ”ใซใชใ‚‹ใ€‚

ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจๅฎŸ่ฃ…ใฏใ“ใกใ‚‰ ใ€‚ๅˆๆœŸๅ€คใฏใ™ในใฆใฎใƒŽใƒผใƒ‰ใ‚’1ใซใ—ใ€ๅ€คใฎ็ฝฎใๅ ดๆ‰€ใŒๆฑบใพใฃใŸใจใ“ใ‚ใ‹ใ‚‰0ใซใ—ใฆใ„ใใ€‚

ABC 392-G

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่งฃๆณ•ใซใพใ‚‹ใง่ฆ‹ๅฝ“ใŒใคใ‹ใชใ‹ใฃใŸใŒใ€้ซ˜ๅบฆๅ…ธๅž‹ใจๅ‘ผใฐใ‚Œใ‚‹ใ‚‚ใฎใ‹ใ‚‚ใ—ใ‚Œใชใ„ใ€‚ARC 185-Cใ‚’ไปŠใงใ‚‚็†่งฃใงใใฆใ„ใชใ„ใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ58ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ58ๅ›ž็›ฎใฏ ARC Div. 2 192 ใงใ‚ใ‚‹ใ€‚74:55 2ใƒšใƒŠใงAๅ•้กŒใ ใ‘ACใ—ใฆใ€ใชใ‚“ใจใ‹0ๅฎŒใ‚’้€ƒใ‚ŒใŸใŒใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใฏไธŠใŒใฃใŸใ€‚ABCใฏ่งฃใใฎใŒ้…ใ™ใŽใฆใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใŒใฉใ‚“ใฉใ‚“ไธ‹ใŒใ‚‹ใŒใ€ARCใฏ2้€ฃ็ถšๆฐดใƒ‘ใƒ•ใ‚ฉใงใ‚ใ‚‹ใ€‚

ABC 393-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ…ฅๅŠ›ใฏ4้€šใ‚Šใชใฎใงๅ…จๅˆ—ๆŒ™ใ™ใ‚Œใฐใ„ใ„ใ€‚

ๆ•ขใˆใฆ2้€ฒๆ•ฐใง่งฃใใ€‚ fine ใชใ‚‰ใƒ“ใƒƒใƒˆใ‚’็ซ‹ใฆใ€ sick ใชใ‚‰ใƒ“ใƒƒใƒˆใ‚’็ซ‹ใฆใชใ„ใ€‚้ซ˜ๆฉ‹ๅ›ใฏใƒ“ใƒƒใƒˆ1 ($2^1$) ใซๅฏพๅฟœใ—ใ€้’ๆœจๅ›ใฏใƒ“ใƒƒใƒˆ0 ($2^0$) ใซๅฏพๅฟœใ™ใ‚‹ใจใ€ใ“ใฎใ‚ˆใ†ใซๆง‹ๆˆใ—ใŸๆ•ฐ+1ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 393-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

A ใฎ้–‹ๅง‹ไฝ็ฝฎใจ้–“้š”ใ‚’ๅ…จๆŽข็ดขใ™ใ‚‹ใจ $O(N^2)$ ใงๆฑ‚ใพใ‚‹ใ€‚

ABC 393-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚ใ™ใงใซ่ฆ‹ใŸ่พบใฎ้›†ๅˆใ‚’ $S$ ใจใ™ใ‚‹ใ€‚่พบใฎ่ฆ็ด  $(u, v)$ ใฏ $u &lt; v$ ใจใ™ใ‚‹ใ€‚ๅ–ใ‚Š้™คใ่พบใฎๆ•ฐใ‚’ $A$ ใจใ™ใ‚‹ใ€‚

ใใ‚Œใžใ‚Œใฎ่พบ $(U, V)$ ใซใคใ„ใฆไปฅไธ‹ใฎ้€šใ‚Šๅ‡ฆ็†ใ™ใ‚‹ใ€‚ $N$ ใฏ้–ขไฟ‚ใชใ„ใฎใง0-based indexingใซใ™ใ‚‹ๅฟ…่ฆใฏใชใ„ใ€‚

  • $U = V$ ใชใ‚‰ $A$ ใซ1่ถณใ—ใฆใ€ $S$ ใ‚’ๅค‰ใˆใชใ„
  • $U &gt; V$ ใชใ‚‰ $U,V$ ใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใฆ $U &lt; V$ ใซใ™ใ‚‹ใ€‚ใใฎใ‚ใจไปฅไธ‹ใฎๅ‡ฆ็†ใ‚’่กŒใ†ใ€‚
    • $(U,V)$ ใŒ $S$ ใซๅซใพใ‚Œใฆใ„ใŸใ‚‰ $A$ ใซ1่ถณใ™
    • $(U,V)$ ใ‚’ $S$ ใซ่ฟฝๅŠ ใ™ใ‚‹

ABC 393-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆ–น้‡ใฏใ™ใ็ซ‹ใฃใŸใŒใ€ๅฎŸ่ฃ…ใซ้žๅธธใซๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚ARC 192-Cใฎใ‚ˆใ†ใชๆณฅๆฒผใงใ‚ใ‚‹ใ€‚

$p = 1..N$ ใ‚’ๆฑบใ‚ๆ‰“ใกใ—ใฆใ€ $p$ ใฎๅทฆๅณใ‹ใ‚‰ 1 ใ‚’้›†ใ‚ใ‚‹ใ€‚ใ™ในใฆใฎ $p$ ใซใคใ„ใฆใฎๆ“ไฝœๅ›žๆ•ฐใฎๆœ€ๅฐๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

$p$ ใ‚’ๅซใพใš $p$ ใ‚ˆใ‚Šๅทฆใซใ‚ใ‚‹ 1 ใŒ $L$ ๅ€‹ใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ $[P-L,P-1]$ ใซ็งปๅ‹•ใ™ใ‚‹ๆ“ไฝœๅ›žๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ๅŒๆง˜ใซใ€ $p$ ใ‚’ๅซใฟ $p$ ใ‚ˆใ‚Šๅณใซใ‚ใ‚‹ 1 ใŒ $R$ ๅ€‹ใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ $[P,P+R-1]$ ใซ็งปๅ‹•ใ™ใ‚‹ๆ“ไฝœๅ›žๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ไธ‹่จ˜ใฎ้€šใ‚Š็ดฏ็ฉๅ’Œใ‚’ไบ‹ๅ‰ใซๆฑ‚ใ‚ใฆใŠใใ“ใจใงใ€ $i$ 1ๅ›žๅฝ“ใŸใ‚Š $O(1)$ ใ€ๅˆ่จˆ $O(N)$ ใงๆฑ‚ใ‚ใ‚‹ใ“ใจใŒใงใใ‚‹ใ€‚

$S$ ใซๅซใพใ‚Œใ‚‹ 1 ใฎๆ•ฐใ‚’ $K &gt; 0$ ใจใ™ใ‚‹ใ€‚ $R = K - L$ ใงใ‚ใ‚‹ใ€‚ 1 ใŒใ‚ใ‚‹ไฝ็ฝฎใฎ็ดฏ็ฉๅ’Œ $C[i] = \sum_{j=1}^{i} j \times S_j$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใใ†ใ™ใ‚‹ใจ $[P-L,P-1]$ ใซ็งปๅ‹•ใ™ใ‚‹ๆ“ไฝœๅ›žๆ•ฐใฏใ€ $(P-L+P-1)L/2 - C[P-1]$ ใงใ‚ใ‚‹ใ€‚ $[P,P+R-1]$ ใซ็งปๅ‹•ใ™ใ‚‹ๆ“ไฝœๅ›žๆ•ฐใฏใ€ $(P+P+R-1)R/2 - (C[N] - C[P-1])$ ใงใ‚ใ‚‹ใ€‚

้€ฃ็ถšใ™ใ‚‹ 1 ใฎ็ซฏใฎๅ ดๆ‰€ใ‚’ๆฑบใ‚ๆ‰“ใกใ™ใ‚‹ใจๅฎŸ่ฃ…ใŒใจใฆใ‚‚ใ‚„ใ‚„ใ“ใ—ใ„ใ€‚ใ“ใฎๅฎŸ่ฃ…ๆ–น้‡ใ‚’้–“้•ใˆใŸใ“ใจใง้•ทๆ™‚้–“ๆŽ›ใ‹ใฃใŸใ€‚

1ใƒŽใƒซใƒ ใฎๅ’Œใ‚’ๆœ€ๅฐๅŒ–ใ™ใ‚‹ใซใฏไธญๅคฎๅ€คใ‚’ไฝฟใ†ใ“ใจใ‚’ใ™ใฃใ‹ใ‚Šๅฟ˜ใ‚Œใฆใ„ใŸใ€‚ไธญๅคฎๅ€คใ‚’ไฝฟใ†ใจ ใ“ใ†ใชใ‚‹ ใ€‚

ABC 393-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

C++ใฎๅŠ›ใงใญใ˜ไผใ›ใŸใ€‚

$A_1, ..., A_N$ ใใ‚Œใžใ‚Œใฎ็ด„ๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ‚ใ‚‹็ด„ๆ•ฐ $F$ ใŒ $K$ ๅ€‹ไปฅไธŠใ‚ใ‚Šใ€ $A_i$ ใฎ็ด„ๆ•ฐใŒ $F$ ใ‚’ๅซใ‚€ใชใ‚‰ใ€ใใฎใ‚ˆใ†ใช $F$ ใฎๆœ€ๅคงๅ€คใŒ $i$ ใฎ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ๅŒใ˜ๆ•ฐใซใคใ„ใฆใ€็ด„ๆ•ฐใ‚’1ๅ›žใ ใ‘ๆฑ‚ใ‚ใ‚‹ใ€‚

ๆœฌๅฝ“ใฏ่ชฟๅ’Œ็ดšๆ•ฐใง่งฃใใ‚‰ใ—ใ„ใŒใ€ไธŠ่จ˜ใ‚‚ไธ€ๅฟœใฏๆƒณๅฎš่งฃๆณ•ใฎไธ€ใคใงใ‚ใ‚‹ใ€‚ $1..10^6$ ใฎ็ด„ๆ•ฐใ‚’ๅˆ—ๆŒ™ใ™ใ‚‹ใชใ‚‰่ชฟๅ’Œ็ดšๆ•ฐใฎๆ–นใŒ ้€Ÿใ„ ใ€‚

ABC 393-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Dๅ•้กŒใจๅŒๆง˜ใ€ใชใ‚“ใจใชใๆ–น้‡ใฏ็ซ‹ใฃใŸใŒใ€ๅฎŸ่ฃ…ใซ้žๅธธใซๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚

ๅ‰ๅ‡ฆ็†ใจใ—ใฆ $A,X$ ใ‚’ๅบงๆจ™ๅœง็ธฎใ—ใฆใ€ใ“ใ‚Œใ‚‰ใ‚’ๆœ€ๅคง $N+Q$ ่ฆ็ด ใซใ—ใฆใŠใใ€‚

LISใฎๆฑ‚ใ‚ๆ–นใฏใ„ใคใ‚‚้€šใ‚Šใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚’ไฝฟใ†ใ€‚ $A$ ใ‚’ๅ…ˆ้ ญใ‹ใ‚‰ $1..N$ ใจใฟใฆใ„ใฃใŸใจใใซใ€ ใ‚ใ‚‹้•ทใ•ใฎLIS $L$ ใŒใ‚ใฃใŸใจใ—ใฆใ€ $L$ ใ‚’้”ๆˆใ™ใ‚‹ใŸใ‚ใซๅฟ…่ฆใชๆœ€ๅฐใฎ $A$ ใฏๅบƒ็พฉๅ˜่ชฟ็พ่ฑกใงใ‚ใ‚‹ใ€‚ๆ˜Žใ‚‰ใ‹ใซใ€ $A$ ใฎ้ธๆŠž่‚ขใŒๅข—ใˆใ‚‹ใปใฉ $A$ ใฏๅฐใ•ใ„ใ‚‚ใฎใ‚’้ธในใ‚‹ใ‹ใ‚‰ใงใ‚ใ‚‹ใ€‚

ใ‚ˆใฃใฆ $A_i$ ใฎLIS $L$ ใ‚’ๆฑ‚ใ‚ใŸใ‚‰ใ€ $R$ ใฎๅ€คใŒ $[A_i, \infty)$ ใฎใจใใซ้”ๆˆใงใใ‚‹LISใฏ $L$ ไปฅไธŠใงใ‚ใ‚‹ใจๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ใ“ใ‚Œใฏ้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎๅŒบ้–“maxใ‚’ไฝฟใ†ใ€‚

ใ“ใฎๅ‡ฆ็†ใŒTLEใ—ใชใ„ใ‚ˆใ†ใ€ใ‚ฏใ‚จใƒชใ‚’ๅ…ˆ่ชญใฟใ—ใฆใ€ๅณ็ซฏใŒ $R_j$ ใจใชใ‚‹ใ‚ฏใ‚จใƒช $P[R_j]$ ใฎ่ฆ็ด ใ‚’ $(X_j, j)$ ใจใ™ใ‚‹ใ€‚ $r = 1..N$ ใจใ—ใฆใ€ๅณ็ซฏใŒ $r$ ใฎใจใใ€ $A_{1..r}$ ใ ใ‘ใงใ€ $R$ ใฎๅ€คใŒ $[A_i, \infty)$ ใฎใจใใซ้”ๆˆใงใใ‚‹LISใ‚’ๅ‰่จ˜ใฎๆ–นๆณ•ใงๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ“ใง $r=R_j$ ใชใ‚ฏใ‚จใƒชใซ็ญ”ใˆใ‚‹ใ€‚้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ $prod(X_i, \infty)$ ใฎๅ€คใŒใ‚ฏใ‚จใƒช $j$ ใฎ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

$r$ ใ‚’็ถฒ็พ…ใ—ใŸใ‚‰ใ‚ฏใ‚จใƒชใฎ็ญ”ใˆใ‚‚ใ™ในใฆๆฑ‚ใพใฃใฆใ„ใ‚‹ใฎใงๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏDPใฎๆฑ‚ใ‚ๆ–นใŒ้€†ใงใ€LISใฎ้•ทใ•ใ‚’ๆฑบใ‚ๆ‰“ใกใ—ใŸๆ™‚ใฎ $A$ ใฎๆœ€ๅฐๅ€คใงใ‚ใ‚‹ใ€‚

ABC 394-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$S$ ใฎๅ„ๆ–‡ๅญ—ใซใคใ„ใฆใ€ 2 ใชใ‚‰ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ๆœ€ๅพŒใซๆ”น่กŒใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 394-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$(|S_i|, S_i)$ ใฎๆ˜‡้ †ใซไธฆในๆ›ฟใˆใฆใ€ๅ…ˆ้ ญใ‹ใ‚‰ $S$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 394-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ARCใ‚‰ใ—ใ„ๅ•้กŒใงใ‚ใ‚‹ใ€‚

้€ฃ็ถšใ™ใ‚‹ W ใฎ็›ดๅพŒใฎ A ใ‚’ AC... ใซ็ฝฎใๆ›ใˆใ‚‹ใ€‚ใ‚ˆใ‚ŠๅŽณๅฏ†ใซใฏใ€ $K &gt; 0$ ๅ€‹ใฎ W ใฎ็›ดๅพŒใซ A ใŒใ‚ใ‚Œใฐใ€1ๅ€‹ใฎ A ใจ $K$ ๅ€‹ใฎ C ใซ็ฝฎใๆ›ใˆใ‚‹ใ€‚

$S$ ใฎๅ…ˆ้ ญใ‹ใ‚‰ไปฅไธ‹ใฎใ‚ˆใ†ใซๅ‡ฆ็†ใ™ใ‚‹ใ€‚ $L$ ใ‹ใ‚‰้€ฃ็ถšใ™ใ‚‹ W ใŒ $K$ ๅ€‹ใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€คใฏ $L = K = 0$ ใงใ‚ใ‚‹ใ€‚ $S$ ใฎๅ„ๆ–‡ๅญ—ใซใคใ„ใฆๅ…ˆ้ ญใ‹ใ‚‰่ฆ‹ใฆใ„ใใ€ $S$ ใฎ $i$ ๆ–‡ๅญ—็›ฎใ‚’ไธ‹่จ˜ใฎ้€šใ‚Šๅ‡ฆ็†ใ™ใ‚‹ใ€‚

  • A ใชใ‚‰ไธŠ่จ˜ใฎๅ‡ฆ็†ใ‚’่กŒใ†ใ€‚ $K = 0$ ใชใ‚‰ไฝ•ใ‚‚ใ›ใšใ€ $K &gt; 0$ ใชใ‚‰ไธŠ่จ˜ใฎ้€šใ‚Š $S$ ใ‚’็ฝฎใๆ›ใˆใ‚‹ใ€‚ใใฎๅพŒใซ $K = 0$ ใจใ™ใ‚‹ใ€‚
  • W ใชใ‚‰ $K$ ใ‚’ไผธใฐใ™ใ€‚ $K = 0$ ใชใ‚‰ $L = i$ ใจ่จญๅฎšใ— $K = 1$ ใจใ™ใ‚‹ใ€‚ $K &gt; 0$ ใชใ‚‰ $K$ ใ‚’1ๅข—ใ‚„ใ™ใ€‚
  • ใใ‚Œไปฅๅค–ใฎๆ–‡ๅญ—ใชใ‚‰ $L = K = 0$ ใซใ™ใ‚‹

Rubyใชใ‚‰ ็Ÿญใ ๆ›ธใ‘ใ‚‹ใ€‚

puts gets.gsub(/(W+A)/) {'A'+'C'*($1.size()-1)}

ABC 394-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ„ใคใ‚‚ใฎๆ‹ฌๅผงๅˆ—ใ€ใคใพใ‚Š () ใ ใ‘ใฎๆ‹ฌๅผงๅˆ—ใ‚’่€ƒใˆใ‚‹ใ€‚ๆ–‡ๅญ—ๅˆ— $S$ ใŒใ“ใฎใ‚ˆใ†ใชๆ‹ฌๅผงๅˆ—ใงใ‚ใ‚‹ๆกไปถใฏใ€ ( ใ‚’ 1 , ) ใ‚’ -1 ใจใ—ใŸใจใใฎ็ดฏ็ฉๅ’Œใ‚’ๆ–‡ๅญ—ๅˆ—ใฎๅ…ˆ้ ญใ‹ใ‚‰ๆฑ‚ใ‚ใ‚‹ใจๅˆ†ใ‹ใ‚‹ใ€‚็ดฏ็ฉๅ’Œ $C_i = \sum_1^{i} S_i : 1 \leq i \leq |S|$ ใซใคใ„ใฆใ€ไปปๆ„ใฎ $i$ ใซใคใ„ใฆ $C_i \geq 0$ ใ‹ใค $C_{|S|} = 0$ ใŒๆˆใ‚Š็ซ‹ใคใ“ใจใจใ€ๆ‹ฌๅผงๅˆ—ใงใ‚ใ‚‹ใ“ใจใฏๅŒๅ€คใงใ‚ใ‚‹ใ€‚

ๅ•้กŒๆ–‡ใซใ‚ใ‚‹ไธ‰็จฎใฎๆ‹ฌๅผงๅˆ—ใ‚’่€ƒใˆใ‚‹ใ€‚ (), [], <> ใ™ในใฆใซใคใ„ใฆใ€ไธŠ่จ˜ใฎๆ‹ฌๅผงๅˆ—ใฎๆกไปถใ‚’ๆบ€ใŸใ™ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚ๆบ€ใŸใ•ใชใ„ใ‚‚ใฎใŒใ‚ใ‚Œใฐ็ญ”ใˆใฏ No ใงใ‚ใ‚‹ใ€‚ใใฎใ†ใˆใงใ€้–‰ใ˜่จ˜ๅท )]> ใฏๆœ€ๅพŒใฎ้–‹ใ่จ˜ๅท ([< ใซๅฏพๅฟœใ—ใฆใ„ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ใ‚นใ‚ฟใƒƒใ‚ฏใงๆฑ‚ใ‚ใ‚‹ใ€‚

  • ้–‹ใ่จ˜ๅทใ‚’่ฆ‹ใคใ‘ใŸใ‚‰ใ‚นใ‚ฟใƒƒใ‚ฏใซ็ฉใ‚€
  • ้–‰ใ˜่จ˜ๅทใ‚’่ฆ‹ใคใ‘ใŸใ‚‰ใ€ใ‚นใ‚ฟใƒƒใ‚ฏใฎๆœ€ไธŠๆฎตใซๅฏพๅฟœใ™ใ‚‹้–‹ใ่จ˜ๅทใŒใ‚ใ‚‹ใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚ใ‚ใ‚‹ใชใ‚‰ใ‚นใ‚ฟใƒƒใ‚ฏใฎๆœ€ไธŠๆฎตใ‚’ๅ–ใ‚Š้™คใใ€‚ใชใ‘ใ‚Œใฐ็ญ”ใˆใฏ No ใงใ‚ใ‚‹ใ€‚

ๆ–‡ๅญ—ๅˆ—ใ‚’ใ™ในใฆๅ‡ฆ็†ๅ‡บๆฅใŸใ‚‰็ญ”ใˆใฏ Yes ใงใ‚ใ‚‹ใ€‚ๅฎŸใฏใ‚นใ‚ฟใƒƒใ‚ฏๆ“ไฝœใ ใ‘ใง่งฃใ‘ใ‚‹ใ‚‰ใ—ใ„ใ€‚

ABC 394-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใƒฏใƒผใ‚ทใƒฃใƒซใƒ•ใƒญใ‚คใƒ‰ๆณ•ใฆใใซ่งฃใใ€‚ $a$ ใ‹ใ‚‰ $b$ ใธใฎใƒ‘ใ‚น(ไธก็ซฏใ‚’ๅซใ‚€)ใ‚’ๆง‹ๆˆใ™ใ‚‹ๅ›žๆ–‡ใฎๆœ€็Ÿญ้•ทใ‚’ $L[a,b]$ ใจใ™ใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใชๅ›žๆ–‡ใ‚’ๆง‹ๆˆใงใใชใ‘ใ‚Œใฐ $L[a,b] = \infty$ ใงใ‚ใ‚‹ใ€‚

ๅˆๆœŸ็Šถๆ…‹ใฏใ€ $a$ ใ‹ใ‚‰ $b$ ใธใฎ็›ด่กŒ่ทฏ(่‡ชๅทฑใƒซใƒผใƒ—ใ‚’ๅซใ‚€)ใŒใ‚ใ‚Œใฐ $L[a,b] = 1$ ใ€็„กใ‘ใ‚Œใฐ $L[a,b] = \infty$ ใจใ™ใ‚‹ใ€‚้ ‚็‚น $c,d$ ใ‚’ใƒ‘ใ‚นใฎไธก็ซฏใซๅŠ ใˆใฆใ€ใƒ‘ใ‚น $(c,a,b,d)$ ใซใคใ„ใฆ $L[c,d]$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใƒฉใƒ™ใƒซ $(c,a) = (b,d)$ ใชใ™ในใฆใฎ็ต„ใฟๅˆใ‚ใ›ใซใคใ„ใฆใ€

  • $a = b$ ใชใ‚‰ใƒ‘ใ‚น $(c,a,d)$ ใฎๅ›žๆ–‡้•ทใฏ2(ๅŒใ˜ใƒฉใƒ™ใƒซใŒ้€ฃ็ถšใ™ใ‚‹)
  • $a \ne b$ ใชใ‚‰ใƒ‘ใ‚น $(c,a,b,d)$ ใฎๅ›žๆ–‡้•ทใฏ $max(L[c,d], L[a,b] + 2)$ (ๅ›žๆ–‡ใฎไธก็ซฏใซๅŒใ˜ใƒฉใƒ™ใƒซใ‚’ไป˜ใ‘ใ‚‹)

ใจๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ $2N$ ๅ›žๆ›ดๆ–ฐใ™ใ‚‹ใจ็ญ”ใˆใŒๆฑ‚ใพใ‚‹ใ€‚่‡ชๅทฑใƒซใƒผใƒ—ใฏๅฟ…ใš0ใ€ๅ›žๆ–‡้•ท $\infty$ ใ‚’ -1 ใจ่ชญใฟๆ›ฟใˆใฆๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ $N$ ๅ›žใ ใจ 2 WAsใ™ใ‚‹ใ€‚

ใƒฏใƒผใ‚ทใƒฃใƒซใƒ•ใƒญใ‚คใƒ‰ๆณ•ใง่ชฟในใ‚‹้ ‚็‚นใฎ็ต„ใฏใ€ๅ›žๆ–‡้•ทใŒ็ŸญใใชใฃใŸใ‚‚ใฎใซ้™ใ‚‹ใ€‚ใ“ใฎ้ซ˜้€ŸๅŒ–ๅฏพๅฟœใ‚’ใ—ใชใ„ใจใ€After Contestใ‚’TLEใ™ใ‚‹ใ€‚

ABC 394-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆฆ‚่ฆใ‚’ๆ€ใ„ใคใ„ใฆใ€ๆœจใฎ็›ดๅพ„ใ‚’ๆŒใกๅ‡บใ—ใฆใ‹ใ‚‰ใŒ้•ทใ‹ใฃใŸใ€‚

ใ‚ขใƒซใ‚ซใƒณใฎ็‚ญ็ด ๅŽŸๅญ้ƒจๅˆ†ใคใพใ‚Šๆฌกๆ•ฐ4ใฎ้ ‚็‚นใฏใ€ๆฌกๆ•ฐ4ไปฅไธŠใฎ้ ‚็‚นใฎ้€ฃ้Ž–ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆๆฌกๆ•ฐ4ไปฅไธŠใฎ้ ‚็‚นใ‚’union-findๆœจใงใคใชใ’ใŸใ‚‚ใฎใŒใ€ๅฐ‘ใชใใจใ‚‚่งฃใฎๅ€™่ฃœใซใชใ‚‹ใ€‚ๆฌกๆ•ฐ4ไปฅไธŠใฎ้€ฃ็ต้ ‚็‚น้›†ๅˆใŒไธ€ใคใ‚‚ใชใ‘ใ‚Œใฐ็ญ”ใˆใฏ -1 ใงใ‚ใ‚‹ใ€‚ไปฅไธ‹ใ€ๆฌกๆ•ฐ4ไปฅไธŠใฎ้€ฃ็ต้ ‚็‚น้›†ๅˆใ”ใจใซ็ญ”ใˆใ‚’ๆฑ‚ใ‚ใฆใ€ใใฎๆœ€ๅคงๅ€คใŒๅ•้กŒใฎ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ใ‚ใ‚‹ๆฌกๆ•ฐ4ไปฅไธŠใฎ้€ฃ็ต้ ‚็‚น้›†ๅˆใ‚’ $S$ ใจใ™ใ‚‹ใ€‚ $|S| = 1$ ใชใ‚‰ใƒกใ‚ฟใƒณใง็ญ”ใˆใฏ5ใงใ‚ใ‚‹ใ€‚ $|S| &gt; 1$ ใชใ‚‰ไปฅไธ‹ใฎๆ“ไฝœใ‚’่€ƒใˆใ‚‹ใ€‚

  • ๆฌกๆ•ฐ4ๆœชๆบ€ใฎ้ ‚็‚นใซใคใ„ใฆใฏๆฐด็ด ๅŽŸๅญใ‚’ใคใชใ’ใฆๆฌกๆ•ฐ4ใซใ™ใ‚‹
  • ๆฌกๆ•ฐ4ใฎ้ ‚็‚นใฏไฝ•ใ‚‚ใ—ใชใ„
  • ๆฌกๆ•ฐใŒ4ใ‚’่ถ…ใˆใ‚‹ใฎ้ ‚็‚นใฏ็ญ”ใˆใŒๆœ€ๅคงใซใชใ‚‹ใ‚ˆใ†ใซใ€้šฃใฎ็‚ญ็ด ๅŽŸๅญใ‚’ไธŠๆ‰‹ใ้ธใณใ€ๆฎ‹ใ‚Šใ‚’ๅˆˆใฃใฆๆจใฆใ‚‹

$S$ ใฏๆœจใชใฎใงใ€ใ™ในใฆใฎ่‘‰ใ‹ใ‚‰ๅ…จๆŽข็ดขใ™ใ‚Œใฐ็ญ”ใˆใŒๆฑ‚ใพใ‚‹ใŒใใ†ใ™ใ‚‹ใจTLEใ™ใ‚‹ใ€‚ๆŽข็ดข็ฏ„ๅ›ฒใ‚’็‹ญใ‚ใ‚‹ใŸใ‚ใซใ€ $S$ ใฎ็›ดๅพ„ใ‚’ๆฑ‚ใ‚ใฆใ€็›ดๅพ„ใ‚’ๆง‹ๆˆใ™ใ‚‹ไบŒใคใฎ่‘‰ $(u,v)$ ใ‚’่ตท็‚นใจใ™ใ‚‹ใ€‚ใชใœใชใ‚‰็›ดๅพ„ใ‚’ๆง‹ๆˆใ™ใ‚‹ใƒ‘ใ‚นใฏๅฟ…ใšๅซใ‚ใฆๆใ—ใชใ„ใ‹ใ‚‰ใ ใ€‚ใชใŠ $(u,v)$ ใฎไธ€ๆ–นใ‚’ๆŽข็ดขใ—ๅฟ˜ใ‚Œใ‚‹ใจ2 WAsใ™ใ‚‹ใ€‚

$u$ ใ‹ใ‚‰ไธ‹่จ˜ใฎใ‚ˆใ†ใซDFSใ—ใฆใ€ไธŠ่จ˜ใฎๆ“ไฝœใ‚’็นฐใ‚Š่ฟ”ใ—ใ€ๆœ€ใ‚‚ๅคšใ„ๆœจใฎ้ ‚็‚นๆ•ฐใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

  • DFSใฎ่ฆช(ใ‚‚ใ—ใ‚ใ‚Œใฐ)ใ‚’้™คใ้šฃใฎ้ ‚็‚น็พค=ๅ„ๅญ้ ‚็‚นใซใคใ„ใฆใ€DFSใงๆœ€ใ‚‚ๅคšใ„ๆœจใฎ้ ‚็‚นๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚
  • ๅญใฎ้ ‚็‚นๆ•ฐใฎใ†ใกใ€ๅคšใ„็‰ฉใ‹ใ‚‰้ †็•ชใซๆŽก็”จใ™ใ‚‹ใ€‚DFSใฎ่ฆชใŒใ‚ใ‚Œใฐ3้ ‚็‚นๅˆ†ใ€ใชใ‘ใ‚Œใฐ4้ ‚็‚นๅˆ†ๅ–ใ‚‹
  • ๆŽก็”จใ—ใŸ้ ‚็‚นใŒ่ถณใ‚Šใชใ„ใจใใฏใ€ๆฎ‹ใ‚Šใ‚’ๆฐด็ด ๅŽŸๅญใง1ๅ€‹ใšใคๅŸ‹ใ‚ใ‚‹
  • ไปŠใ„ใ‚‹้ ‚็‚น่‡ช่บซใ‚’1ๅ€‹ๅˆ†่ถณใ™

ABC 395-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

std::is_sorted ใ‚’ใใฎใพใพไฝฟใ†ใจใ€ๅบƒ็พฉๅ˜่ชฟๅข—ๅŠ ใชใฎใง้–“้•ใˆใ‚‹ใ€‚ไธ€ๅทฅๅคซใ™ใ‚‹ใจ ไฝฟใˆใ‚‹ ใ€‚

std::is_sorted(ns.begin(), ns.end(), std::less_equal<Num>{});

ABC 395-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅŸบๆœฌ็š„ใซใƒใ‚งใƒ“ใ‚ทใ‚งใƒ•่ท้›ขใ ใŒใ€ๅ ดๅˆๅˆ†ใ‘ใŒใ‚„ใ‚„ใ“ใ—ใ„ใ€‚ไปฅไธ‹ๅบงๆจ™ใ‚’0-based indexingใจใ™ใ‚‹

  • $N$ ใŒๅฅ‡ๆ•ฐใชใ‚‰ไธญๅฟƒใฏ1็‚น $\lfloor N/2 \rfloor$ ใ€ $N$ ใŒๅถๆ•ฐใชใ‚‰ไธญๅฟƒใฏ4็‚น $(N/2-1,N/2-1)$ ใงใ‚ใ‚‹ใ€‚
  • ็ซฏใพใงใฎ่ท้›ข $H = \lfloor N/2 \rfloor$ ใซใคใ„ใฆๅถๅฅ‡ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ $N$ ใŒๅฅ‡ๆ•ฐใชใ‚‰ใŒ $H$ ใจๅถๅฅ‡ใŒไธ€่‡ดใ™ใ‚‹ใƒžใ‚นใ‚’ # ใงๅก—ใ‚‹ใ€‚ $N$ ใŒๅถๆ•ฐใชใ‚‰ใŒ $H$ ใจๅถๅฅ‡ใŒไธ€่‡ดใ—ใชใ„ใƒžใ‚นใ‚’ '#' ใงๅก—ใ‚‹ใ€‚

ABC 395-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ€ค $A$ ใฎๅ‡บ็พไฝ็ฝฎใฎ้›†ๅˆใ‚’ $V[A]$ ใจใ™ใ‚‹ใ€‚ $V[A]$ ใฏๆ˜‡้ †ใซใ™ใ‚‹ใ€‚ $|V[A]| &gt; 1$ ใฎ่ฆ็ด ใฎใ†ใกใ€ $1 + V[A] - V[A-1]$ ใฎๆœ€ๅฐๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใใฎใ‚ˆใ†ใช่ฆ็ด ใŒใชใ‘ใ‚Œใฐ็ญ”ใˆใฏ -1 ใงใ‚ใ‚‹ใ€‚

ABC 395-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅค‰ๆ›่กจใ‚’ไฝœใ‚‹ใฎใ ใŒใ€ๅคงๅค‰ๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚

ใ‚ฏใ‚จใƒช2ใ‚’ๅฎŸ่กŒใ—ใฆใ€ๅผ•ใฃ่ถŠใ—ๅ‰ใฎๅทฃใฎ็•ชๅท $x$ ใ‹ใ‚‰ๅผ•ใฃ่ถŠใ—ๅพŒใฎๅทฃใฎ็•ชๅท $y$ ใซๅค‰ๆ›ใ™ใ‚‹ใƒ†ใƒผใƒ–ใƒซใ‚’ $F[x]=y$ ใจๅ‘ผใถใ€‚ใ“ใฎ้€†ๅค‰ๆ›ใ€ใคใพใ‚ŠๅฎŸ้š›ใฎๅทฃใฎ็•ชๅท $y$ ใ‹ใ‚‰ๅผ•ใฃ่ถŠใ—ๅ‰ใฎๅทฃใฎ็•ชๅท $x$ ใซๅค‰ๆ›ใ™ใ‚‹ใƒ†ใƒผใƒ–ใƒซใ‚’ $R[y]=x$ ใจๅ‘ผใถใ€‚ใ“ใฎๅŒบๅˆฅใŒ ARC 192-C ไธฆใฟใซใ‚„ใ‚„ใ“ใ—ใ„ใ€‚

้ณฉ $i$ ใŒๅฎŸ้š›ใซใ„ใ‚‹ๅทฃใฎๅ ดๆ‰€ใ‚’ใ€ใ‚ฏใ‚จใƒช2ใฎๅผ•ใฃ่ถŠใ—ๅ‰ใจใ—ใฆไฟๆŒใ™ใ‚‹ใƒ†ใƒผใƒ–ใƒซใ‚’ $P[i]$ ใจใ™ใ‚‹

  • ใ‚ฏใ‚จใƒช1ใฏใ€ๅฎŸ้š›ใฎๅทฃใฎ็•ชๅท $b$ ใ‚’ไธŽใˆใ‚‰ใ‚Œใฆใ€ๅผ•ใฃ่ถŠใ—ๅ‰ $P[a] = R[b]$ ใ‚’่จญๅฎšใ™ใ‚‹ใ€‚
  • ใ‚ฏใ‚จใƒช2ใฏใ€ๅฎŸ้š›ใฎๅทฃใฎ็•ชๅท $a,b$ ใ‚’ไธŽใˆใ‚‰ใ‚Œใฆใ€ๅผ•ใฃ่ถŠใ—ๅ‰ $ra=R[a], rb=R[b]$ ใ‚’ๅพ—ใ‚‹ใ€‚ใ“ใ“ใง $F[ra]$ ใจ $F[rb]$ ใ€ $R[a]$ ใจ $R[b]$ ใ‚’ไธ€ๆ–‰ใซไบคๆ›ใ™ใ‚‹ใ€‚
  • ใ‚ฏใ‚จใƒช3ใฏใ€ $F[P[a]]$ ใ‚’็ญ”ใˆใ‚‹

ๅ…ฌๅผ่งฃ่ชฌใฏใƒฉใƒ™ใƒซ้ณฉใจๆ›ธใ„ใฆใ„ใ‚‹ใŒใ€ๆœฌ่ณช็š„ใซใฏไธŠ่จ˜ใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚ไป–ใฎๆ–นใฎ ่งฃ่ชฌ ใ‚’ๅŸบใซใ€ๅ•้กŒใ‚’่จ€ใ„ๆ›ใˆใ‚‹ใ€‚

  • ใƒฉใƒ™ใƒซ้ณฉใ‚’้ณฉใฎ้›†ๅ›ฃใจ่จ€ใ„ๆ›ใˆใ‚‹
  • ้ณฉใŒใฉใฎ้›†ๅ›ฃใซๅฑžใ™ใ‚‹ใ‹ใ‚’ $P[a] = x$ ใจใ™ใ‚‹
  • ้ณฉใฎ้›†ๅ›ฃใŒใฉใฎๅทฃใซใ„ใ‚‹ใ‹ใ‚’ $F[x] = y$ ใจใ™ใ‚‹
  • ๅทฃใซใฉใฎ้ณฉใฎ้›†ๅ›ฃใŒใ„ใ‚‹ใ‹ใ‚’ $R[y] = x$ ใจใ™ใ‚‹
  • ใ‚ฏใ‚จใƒช1ใฏใ€ๅทฃใฎ็•ชๅท $b$ ใ‚’ไธŽใˆใ‚‰ใ‚Œใฆใ€ $R[b]$ ใง้ณฉใฎ้›†ๅˆใ‚’ๆฑ‚ใ‚ใ€้ณฉใŒๅฑžใ™ใ‚‹้›†ๅˆใ‚’ $P[a] = R[b]$ ใซๅค‰ใˆใ‚‹
  • ใ‚ฏใ‚จใƒช2ใฏใ€ๅฎŸ้š›ใฎๅทฃใฎ็•ชๅท $a,b$ ใ‚’ไธŽใˆใ‚‰ใ‚Œใฆใ€้ณฉใฎ้›†ๅˆ $R[a], R[b]$ ใ‚’ไบคๆ›ใ™ใ‚‹ใ€‚ใใฎ้€† $F[R[a]], F[R[b]]$ ใ‚‚ไธ€ๆ–‰ใซไบคๆ›ใ™ใ‚‹ใ€‚
  • ใ‚ฏใ‚จใƒช3ใฏใ€ๅทฃใฎ็•ชๅท $a$ ใ‚’ไธŽใˆใ‚‰ใ‚Œใฆใ€้ณฉใฎ้›†ๅˆ $P[a]$ ใŒ่ฆใ‚‹ๅทฃ $F[P[a]]$ ใ‚’็ญ”ใˆใ‚‹

ABC 395-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Dๅ•้กŒใ‚ˆใ‚Šใฏใ‚‹ใ‹ใซ็ฐกๅ˜ใงใ‚ใ‚‹ใ€‚

้ ‚็‚นใ‚’ๅ€ๅŒ–ใ—ใฆใƒ€ใ‚คใ‚ฏใ‚นใƒˆใƒฉๆณ•ใง่งฃใใ€‚ๅ€ๅŒ–ใ—ใŸ้ ‚็‚นใฎ็•ชๅทใ‚’ใ€ๅ…ƒใฎ้ ‚็‚น็•ชๅทใซ $N$ ่ถณใ—ใŸใ‚‚ใฎใจใ™ใ‚‹ใ€‚ๅ…ƒใฎ่พบใจ้‡ใฟ $(u,v,1)$ ใ€้€†ใฎ่พบใจ้‡ใฟ $(u+N,v+N,1)$ ใ€ๅ่ปขใ—ใŸใจใ่กŒใๆฅใฎ้‡ใฟ $(i,i+N,X)$ , $(i+N,i,X)$ ใ‚’่พบใจใ™ใ‚‹ใ‚ฐใƒฉใƒ•ใ‚’ไฝœใ‚‹ใ€‚้ ‚็‚น1ใ‹ใ‚‰้ ‚็‚น $N$ ใพใŸใฏ้ ‚็‚น $2N$ ใพใงใฎๆœ€็Ÿญ่ท้›ขใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 395-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚„ใฏใ‚ŠDๅ•้กŒใ‚ˆใ‚Š็ฐกๅ˜ใงใ‚ใ‚‹ใ€‚

ไธŠใฎๆญฏใฏๅ‰Šใ‚‹ใ“ใจใฏใงใใฆใ‚‚ไผธใฐใ™ใ“ใจใฏใงใใชใ„ใฎใงใ€ใ‚ใ‚‹ๆ™‚็‚นใงๅธธใซๆœ€ใ‚‚็Ÿญใ„ๆญฏใ‚’ๅŸบๆบ–ใซไธก้šฃใ‚’ๅˆใ‚ใ›ใ‚‹greedyใง่งฃใ‘ใ‚‹ใ€‚

้›†ๅˆ $S$ ใฎ่ฆ็ด  $(U[i],i)$ ใ‚’ใ€ใ‚ใ‚‹ๆ™‚็‚นใงๆญฏ $i$ ใŒ้•ทใ• $U[i]$ ใจใ™ใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใงใฏ $S$ ใซใ™ในใฆใฎๆญฏ $U_{1..N}$ ใ‚’ๅ…ฅใ‚Œใ‚‹ใ€‚ $S$ ใ‚’้ †ๅบไป˜ใ้›†ๅˆใจใ—ใฆใ€ๆœ€ใ‚‚็Ÿญใ„ๆญฏใ‚’ๅ–ใ‚Šๅ‡บใ—ใฆไปฅไธ‹ใฎๅ‡ฆ็†ใ‚’่กŒใ†ใ€‚

  • ๅทฆ้šฃใฎๆญฏใŒใ‚ใ‚‹ $i &gt; 1$ ใชใ‚‰ใ€ๅทฆ้šฃใฎๆญฏใ‚’ๅ‰Šใ‚‹ใ€‚ใพใš $S$ ใ‹ใ‚‰ $(U[i],i)$ ใจ $(U[i-1],i)$ ใ‚’ๅ–ใ‚Š้™คใใ€‚
    • $U[i-1] - U[i] \leq X$ ใชใ‚‰ใ“ใ‚ŒไปฅไธŠไฝ•ใ‚‚ใ—ใชใ„ใ€‚
    • ใใ†ใงใชใ‘ใ‚Œใฐ $D = U[i-1] - U[i] - X$ ใจใ™ใ‚‹ใ€‚็ญ”ใˆใซ $D$ ใ‚’ๅŠ ็ฎ—ใ—ใ€ $U[i-1]$ ใ‚’ $D$ ๆธ›ใ‚‰ใ—ใ€ๆ›ดๆ–ฐๅพŒใฎ $(U[i-1],i)$ ใ‚’ $S$ ใซๅŠ ใˆใ‚‹ใ€‚
  • ๅณใฎๆญฏใŒใ‚ใ‚‹ $i &lt; N$ ใชใ‚‰ใ€ๅณ้šฃใฎๆญฏใ‚’ๅ‰Šใ‚‹ใ€‚ๆ–นๆณ•ใฏไธŠ่จ˜ใจๅŒๆง˜ใงใ‚ใ‚‹ใ€‚

ใ“ใ†ใ™ใ‚‹ใจๆญฏใฎๅ‡ธๅ‡นใŒ็„กใใชใ‚‹ใ€‚ใ‚ใจใฏไธ‹ใฎๆญฏใ‚’ๅ‰ŠใฃใฆไธŠไธ‹ใฎๆญฏใฎ้ซ˜ใ•ใ‚’ใใ‚ใˆใ‚‹ใ€‚ใ™ในใฆใฎ $i$ ใซใคใ„ใฆใ€ $U[i] + D[i] - min(U[i] + D[i])$ ใ‚’็ญ”ใˆใซๅŠ ใˆใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏๅ…จใ‚ณใ‚นใƒˆใ‚’ไบŒๅˆ†ๆŽข็ดขใ—ใฆใ„ใ‚‹ใ€‚ๅฎŸ่ฃ…ใ™ใ‚‹ใจ ใ“ใ† ใชใ‚‹ใ€‚ไบŒๅˆ†ๆŽข็ดขใฎไบˆๆ„Ÿใฏใ—ใŸใŒใ€ๅŒบ้–“ๅˆคๅฎšใŒๅคงๅค‰ใใ†ใชใฎใง้ฟใ‘ใŸใ€‚

ABC 396-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ•้กŒๆ–‡้€šใ‚Šใ€ๆทปใˆๅญ—ใซๆฐ—ใ‚’ไป˜ใ‘ใฆๅฎŸ่ฃ…ใ™ใ‚‹ใ€‚

ABC 396-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ใ‚‰ใ‹ใ˜ใ‚0ใ‚’100ๅ€‹็ฉใ‚“ใ ใ‚นใ‚ฟใƒƒใ‚ฏใ‚’็”จๆ„ใ™ใ‚‹ใ€‚

ABC 396-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$B$ ใ‚’้™้ †ใซไธฆในๆ›ฟใˆใ€0ใ‚ˆใ‚Šๅคงใใช่ฆ็ด ใฎๆ•ฐใ‚’ $L$ ใจใ™ใ‚‹ใ€‚ $L$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใจใใ€ $L$ ใ‚’ๅฏ่ƒฝใช้™ใ‚Šๅฐ‘ใชใ„ๅ€คใจใ—ใฆๆ›ดๆ–ฐใ—ใชใ„ใจWAใ™ใ‚‹ใ€‚ๅŒๆง˜ใซ $W$ ใ‚’้™้ †ใซไธฆในๆ›ฟใˆใ‚‹ใ€‚

$W$ ใ‹ใ‚‰ๅ–ใ‚‹ใƒœใƒผใƒซใฎๆ•ฐใ‚’ $C=0..N$ ๅ€‹ใจๆฑบใ‚ๆ‰“ใกใ™ใ‚‹ใ€‚ $0 \leq C \leq min(N,M)$ ใงใ‚ใ‚‹ใ€‚ $W$ ใ‹ใ‚‰ๅ–ใฃใŸใƒœใƒผใƒซใฎไพกๅ€คใฏ $\sum_{i=1}^C W_i$ ใงใ‚ใ‚‹ใ€‚ $B$ ใ‹ใ‚‰ๅ–ใฃใŸใƒœใƒผใƒซใฎไพกๅ€คใฏ $\sum_{i=1}^C B_i$ ใŒไธ€ใคใฎๅ€™่ฃœใงใ‚ใ‚‹ใ€‚ $L \geq C$ ใชใ‚‰ $\sum_{i=1}^L B_i$ ใ‚‚็ญ”ใˆใซใชใ‚Šใ†ใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใซใ—ใฆๆฑ‚ใ‚ใŸ็ญ”ใˆใฎๆœ€ๅคงๅ€คใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ใƒœใƒผใƒซใ‚’ไธ€ใคใ‚‚้ธใฐใชใ‘ใ‚Œใฐๆœ€ไฝŽๅ€ค0ใŒๅพ—ใ‚‰ใ‚Œใ‚‹ใ€‚

ABC 396-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

DFSใงๅ…จๆŽข็ดขใ™ใ‚‹ใ€‚9ใฎ้šŽไน—ใฏ362880้€šใ‚Šใ—ใ‹ใชใ„ใ€‚

ABC 396-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅŸบๆœฌๆ–น้‡ใฏ็ซ‹ใฃใŸใŒ่ฉฐใ‚ใŒ็”˜ใใฆ่งฃใ‘ใชใ‹ใฃใŸใ€‚

่พบใŒ่‡ชๅทฑใƒซใƒผใƒ— $A = B$ ใงใ‚ใ‚Œใฐใ€ $Z = 0$ ใชใ‚‰็„ก่ฆ–ใ—ใ€ใใ†ใงใชใ‘ใ‚Œใฐ่งฃ็„กใ—ใงใ‚ใ‚‹ใ€‚ใชใœใชใ‚‰่‡ชๅˆ†่‡ช่บซใฎXORใฏๅธธใซ0ใ ใ‹ใ‚‰ใ ใ€‚

ๅ„ใƒ“ใƒƒใƒˆใ‚’็‹ฌ็ซ‹ใซ่€ƒใˆใ‚‹ใ€‚ $Z_i$ ใฎใƒ“ใƒƒใƒˆ $j$ ใซใคใ„ใฆใฎใฟ่€ƒใˆใ€ $A_i \oplus B_i = 0$ ใชใ‚‰ใ€ $A_i$ ใฎใƒ“ใƒƒใƒˆ $j$ ใจ $B_i$ ใฎใƒ“ใƒƒใƒˆ $j$ ใฏ็ญ‰ใ—ใ„ใ€‚ $A_i \oplus B_i = 2^j$ ใชใ‚‰ใ€ $A_i$ ใฎใƒ“ใƒƒใƒˆ $j$ ใจ $B_i$ ใฎใƒ“ใƒƒใƒˆ $j$ ใฏ็•ฐใชใ‚‹ใ€‚ใ“ใฎใ“ใจใ‚’ใ‚ฐใƒฉใƒ•ใง่กจ็พใ™ใ‚‹ใ€‚

ใƒ“ใƒƒใƒˆ $j$ ใŒ็•ฐใชใ‚‹ $A, B$ ใฎ็ต„=่พบใซใคใ„ใฆใ‚ฐใƒฉใƒ•ใ‚’ๅฝฉ่‰ฒใ—ใฆใ€่ตคใ‹้ป’ใซๅก—ใ‚Šๅˆ†ใ‘ใ‚‹ใ€‚ๅก—ใ‚Šๅˆ†ใ‘ใ‚‹ใ“ใจใŒใงใใชใ‘ใ‚Œใฐ่งฃ็„กใ—ใงใ‚ใ‚‹ใ€‚ใ“ใ‚ŒใฏBFSใงๅˆ†ใ‹ใ‚‹ใ€‚BFSใฎ้€”ไธญใงใ€ๅก—ใ‚ใ†ใจใ—ใŸ้ ‚็‚นใฎ่‰ฒใŒใ™ใงใซ็•ฐใชใ‚‹่‰ฒใงๅก—ใ‚‰ใ‚Œใฆใ„ใ‚‹ใ€ใƒ“ใƒƒใƒˆใŒ็ญ‰ใ—ใ„้ ‚็‚นๅŒๅฃซใŒ้šฃใ‚Šๅˆใฃใฆใ„ใ‚‹ใจๅˆ†ใ‹ใ‚Œใฐใ€ๅก—ใ‚‹ใ“ใจใฏใงใใชใ„ใ€‚

ๆฌกใซใƒ“ใƒƒใƒˆ $j$ ใซ้™ใ‚‰ใšใ‚ใ‚‹ใƒ“ใƒƒใƒˆใซใคใ„ใฆ $A, B$ ใŒ็ตใฐใ‚Œใฆใ„ใ‚‹่พบใซใคใ„ใฆใ€้ ‚็‚นใ‚’ใŸใฉใฃใฆใพใ ็ธซใฃใฆใ„ใชใ‘ใ‚ŒใฐๅŒใ˜่‰ฒใซๅก—ใ‚‹ใ€‚

ใ“ใ†ใ™ใ‚‹ใจใƒ“ใƒƒใƒˆ $j$ ใซใคใ„ใฆใ€่ตคใ€้ป’ใ€ๅก—ใฃใฆใ„ใชใ„ใฎใฉใ‚Œใ‹ใซใชใ‚‹ใ€‚่ตคใจ้ป’ใจ้ ‚็‚นๆ•ฐใŒๅฐ‘ใชใ„ๆ–นใซใคใ„ใฆ $A$ ใฎใƒ“ใƒƒใƒˆใ‚’็ซ‹ใฆใ€ใใ‚Œไปฅๅค–ใฏ $A$ ใฎใƒ“ใƒƒใƒˆใ‚’็ซ‹ใฆใชใ„ใ€‚

ใฏใšใชใฎใ ใŒใ€WAใŒใŸใใ•ใ‚“่ฟ”ใฃใฆใใ‚‹ใ€‚่ซฆใ‚ใฆๅ…ฌๅผ่งฃ่ชฌใ‚’่ฆ‹ใŸใ‚‰ใ€้ ‚็‚นๆ•ฐใŒๅฐ‘ใชใ„ๆ–นใจใ„ใ†ใฎใฏ้€ฃ็ตๆˆๅˆ†ใ”ใจใซๆ•ฐใˆใ‚‹ๅฟ…่ฆใŒใ‚ใฃใŸใ€‚ๅ…ฅๅŠ›ไพ‹ใ ใ‘ใงใฏใ“ใฎใ“ใจใ‚’ใ†ใฃใ‹ใ‚Šๅฟ˜ใ‚Œใฆใ„ใŸใ€‚้€ฃ็ตๆˆๅˆ†ใŒไบŒใคใ‚ใ‚Šใ€่ตคใจ้ป’ใงๅก—ใฃใŸใ‚‚ใฎใŒ $(2,3)$, $(3,2)$ ใงใ‚ใ‚Œใฐใ€ๆญฃ่งฃใฏ4ใ€่ชค็ญ”ใฏ5ใงใ‚ใ‚‹ใ€‚

ABC 396-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Eๅ•้กŒใ‚ˆใ‚Šใšใฃใจ็ฐกๅ˜ใงใ‚ใ‚‹ใ€‚

ใ‚ใ‚‹ $A_i$ ใŒๆŒใกไธŠใŒใฃใฆ $M-1$ ใซใชใฃใŸใจใใ€ $A_{i+1..N}$ ใฎๅ€ค $M-1$ ไปฅๅค–ใฎๆ•ฐใ‚’ใ™ในใฆ่ปขๅ€’ใ—ใฆใ„ใ‚‹ใ€‚ๆฌกใซ $0$ ใซใชใฃใŸใจใใ€ $A_{i+1..N}$ ใฎๅ€ค $0$ ไปฅๅค–ใฎๆ•ฐใ‚’ใ™ในใฆ่ปขๅ€’ใ—ใชใใชใ‚‹ใ€‚ๅŒๆ™‚ใซ $A_{1..i-1}$ ใซใ‚ใ‚‹ $0$ ไปฅๅค–ใฎๆ•ฐใซ่ปขๅ€’ใ•ใ‚Œใ‚‹ใ€‚ใ“ใฎๅทฎๅˆ†ใ‚’ๆ›ดๆ–ฐใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

ๅ…ทไฝ“็š„ใซใฏใ€ๅˆๆœŸ็Šถๆ…‹ใฎ $A$ ใซใŠใ‘ใ‚‹่ปขๅ€’ๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ‚Œใฏใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใงๆฑ‚ใพใ‚‹ใ€‚ๆฌกใซๅˆๆœŸ็Šถๆ…‹ใงๅ€ค $v$ ใ‚’ๅ–ใ‚‹ $A$ ใฎไฝ็ฝฎ(ๆทปใˆๅญ—)ใฎ้›†ๅˆใ‚’ $P[v]$ ใจใ™ใ‚‹ใ€‚็ญ”ใˆ $k=0..(M-1)$ ใซใคใ„ใฆใ€ไปฅไธ‹ใฎใ‚ˆใ†ใซๆ›ดๆ–ฐใ™ใ‚‹ใ€‚

  • $k = 0$ ใฎ็ญ”ใˆใฏใ€ๅˆๆœŸ็Šถๆ…‹ใฎ่ปขๅ€’ๆ•ฐใงใ‚ใ‚‹
  • $P[M-1-k]$ ใฎ $C$ ๅ€‹ใฎ่ฆ็ด ใ‚’ๅ…ˆ้ ญใ‹ใ‚‰้ †ใซ $P_{i=1..C}$ ใจใ™ใ‚‹ใ€‚่ปขๅ€’ใ—ใชใใชใ‚‹ๆ•ฐใฏ $\sum_{i=1}^C N - P_i - (C - i)$ ใ€่ปขๅ€’ใ™ใ‚‹ๆ•ฐใฏ $\sum_{i=1}^C P_i - 1 - (i - 1)$ ใงใ‚ใ‚‹ใ€‚ใ“ใฎๅทฎๅˆ†ใ‚’่ปขๅ€’ๆ•ฐใซ่ถณใ—ใฆๆ›ดๆ–ฐใ™ใ‚‹ใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ59ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ59ๅ›ž็›ฎใฏ ARC Div. 2 194 ใงใ‚ใ‚‹ใ€‚0ๅฎŒใง่จ˜้Œฒ็š„ๅคงๆ•—ใ‚’ๅ–ซใ—ใŸใ€‚ๅ•้กŒ้ธใณใ‚’้–“้•ใˆใŸไธŠใซใ€Aๅ•้กŒใ‚’่งฃใ‘ใšใ€ๅ‹ๅˆฉใซใฏ็จ‹้ ใ‹ใฃใŸใ€‚

ABC 397-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

0.5ใฏ่ชคๅทฎใชใ่กจ็พใงใใ‚‹ใฎใงใ€ๆตฎๅ‹•ๅฐๆ•ฐใจใ—ใฆๆ‰ฑใฃใฆๆง‹ใ‚ใชใ„ใ€‚

ABC 397-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

i ใจ o ใฎๅทฎใงใฏใชใ„ใ“ใจใŒๅ…ฅๅŠ›ไพ‹2ใงๅˆ†ใ‹ใฃใฆๅŠฉใ‹ใ‚‹ใ€‚

ๅ…ฅๅ ดๅพŒใฎ็Šถๆ…‹ใ‚’1ใ€ๅ‡บๅ ดๅพŒใฎ็Šถๆ…‹ใ‚’0ใจใ™ใ‚‹ใ€‚

  • i ใฎๅ‰ใฏ็Šถๆ…‹0ใงใ‚ใ‚‹ในใใงใ€ใใ†ใงใชใ‘ใ‚Œใฐใใฎ็›ดๅ‰ใซ o ใ‚’1ๅ€‹่ฟฝๅŠ ใ™ใ‚‹ใ€‚ๆ–‡ๅญ—ใ‚’่ฟฝๅŠ ใ—ใŸใ‹ใฉใ†ใ‹ใซ้–ขใ‚ใ‚‰ใš็Šถๆ…‹1ใซใ™ใ‚‹ใ€‚
  • o ใฎๅ‰ใฏ็Šถๆ…‹1ใงใ‚ใ‚‹ในใใงใ€ใใ†ใงใชใ‘ใ‚Œใฐใใฎ็›ดๅ‰ใซ i ใ‚’1ๅ€‹่ฟฝๅŠ ใ™ใ‚‹ใ€‚ๆ–‡ๅญ—ใ‚’่ฟฝๅŠ ใ—ใŸใ‹ใฉใ†ใ‹ใซ้–ขใ‚ใ‚‰ใš็Šถๆ…‹0ใซใ™ใ‚‹ใ€‚
  • ใ™ในใฆๆ–‡ๅญ—ๅˆ—ใ‚’่ตฐๆŸปใ—ใŸๅพŒใฏ็Šถๆ…‹0ใงใ‚ใ‚‹ในใใงใ€ใใ†ใงใชใ‘ใ‚Œใฐ $S$ ใฎๆœซๅฐพใซ o ใ‚’1ๅ€‹่ฟฝๅŠ ใ™ใ‚‹ใ€‚ใ“ใ‚ŒใŒๅ…ฅๅŠ›ไพ‹1ใ‹ใ‚‰ใ‚ใ‹ใฃใฆๅŠฉใ‹ใ‚‹ใ€‚

ๆ–‡ๅญ—ใ‚’่ฟฝๅŠ ใ™ใ‚‹ๆ“ไฝœใฏๅฟ…่ฆใชใใ€ไฝ•ๆ–‡ๅญ—่ฟฝๅŠ ใ—ใŸใ‹ใ‚’ๆ•ฐใˆใฆๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 397-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Bๅ•้กŒใ‚ˆใ‚Šใšใฃใจ็ฐกๅ˜ใงใ‚ใ‚‹ใ€‚

std::map ใฏ่ฆ็ด ใฎ็จฎ้กžๆ•ฐใ‚’่ฟ”ใ™ใ€‚้‡่ค‡ใ‚’ๅซใ‚ใŸ่ฆ็ด ๆ•ฐใงใฏใชใ„ใ€‚ $A$ ๅ…จ้ƒจใŒๅ…ฅใฃใŸ่ฆ็ด ใซใคใ„ใฆใ€ใ‚ใ‚‹ๆ•ฐใŒไฝ•ๅ€‹ใ‚ใ‚‹ใ‹ใฎใƒ†ใƒผใƒ–ใƒซ $R$ ใ‚’ไฝœใ‚‹ใ€‚็ฉบใฎใƒ†ใƒผใƒ–ใƒซใ‚’ $L$ ใจใ™ใ‚‹ใ€‚ $i=1..(N-1)$ ใซใคใ„ใฆใ€ $L$ ใซ $A_i$ ใฎ่ฆ็ด ๆ•ฐใ‚’1ๅข—ใ‚„ใ—ใ€ $R$ ใ‹ใ‚‰ $A_i$ ใฎ่ฆ็ด ๆ•ฐใ‚’1ๆธ›ใ‚‰ใ™ใ€‚่ฆ็ด ๆ•ฐ0ใฎใ‚จใƒณใƒˆใƒชใ‚’ๅ‰Š้™คใ™ใ‚‹ใจใ€่ฆ็ด ใฎ็จฎ้กžๆ•ฐใซใชใ‚‹ใ€‚

ABC 397-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ™ใ็ซ‹ๅผใงใใŸใŒใ€ไบŒๅˆ†ๆŽข็ดขใฎ็ฏ„ๅ›ฒใ‚’้–“้•ใˆใฆใƒšใƒŠใƒซใƒ†ใ‚ฃใ‚’ๅ‡บใ—ใŸใ€‚

ๅค‰ๆ•ฐ $p$ ใ‚’ๅฐŽๅ…ฅใ—ใฆ $x = y + p, x &gt; 0, y &gt; 0, p &gt; 0$ ใจใ™ใ‚‹ใ€‚ๅผๅค‰ๅฝขใ™ใ‚‹ใจ $3py(y+p) = N - p^3$ ใซใชใ‚‹ใ€‚ใ‚ˆใฃใฆ $p$ ใ‚’ๅ…จๆŽข็ดขใ™ใ‚Œใฐใ‚ˆใ„ใ€‚ $N$ ใฎ็ฏ„ๅ›ฒใ‹ใ‚‰ใ€ $1 &lt; p \leq 10^6$ ใงๅๅˆ†ใงใ€็ฏ„ๅ›ฒใ‚’ๅบƒใ’ใ™ใŽใ‚‹ใจใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใ™ใ‚‹ใ€‚

$p$ ใ‚’ๅ›บๅฎšใ™ใ‚‹ใ€‚ $3py(y+p) = N - p^3$ ใ‚ˆใ‚Šใ€ $N - p^3$ ใŒ $3p$ ใฎๅ€ๆ•ฐใง็„กใ‘ใ‚Œใฐ $p$ ใฏ่งฃใฎๅ€™่ฃœใงใฏใชใ„ใ€‚่งฃใฎๅ€™่ฃœใชใ‚‰ใ€ $y(y+p) \geq (N - p^3) / 3p$ ใ‚’ๆบ€ใŸใ™ๆœ€ๅฐใฎ $y$ ใ‚’ไบŒๅˆ†ๆŽข็ดขใงๆฑ‚ใ‚ใ‚‹ใ€‚ $0 &lt; y \leq 10^9$ ใ‚’ๆŽขใ™ๅฟ…่ฆใŒใ‚ใ‚Šใ€็ฏ„ๅ›ฒใ‚’้–“้•ใˆใฆใƒšใƒŠใƒซใƒ†ใ‚ฃใŒ่ฟ”ใฃใฆใใŸใ€‚็ฏ„ๅ›ฒใ‚’ๅบƒใ’ใ™ใŽใ‚‹ใจใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใ™ใ‚‹ใ€‚

ใ“ใฎใ‚ˆใ†ใช $p &gt; 0$ ใŒๅญ˜ๅœจใ—ใ€ใ‹ใคๆ•ดๆ•ฐ $y &gt; 0$ ใŒๅญ˜ๅœจใ—ใฆ $3yp(y+p) = N - p^3$ ใ‚’ๆบ€ใŸใ™ใชใ‚‰ใ€ใใฎใ‚ˆใ†ใช $y + p$ ใจ $y$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ๅญ˜ๅœจใ—ใชใ‘ใ‚Œใฐ -1 ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ $y = 0$ ใฏ่งฃใงใฏใชใ„ใŒใ€่ฆชๅˆ‡ใซใ‚‚ๅ…ฅๅŠ›ไพ‹ใ‹ใ‚‰ๅˆ†ใ‹ใ‚‹ใ€‚

ๅฎŸใฏไบŒๆฌกๆ–น็จ‹ๅผใฎ่งฃใฎๅ…ฌๅผใงๆฑ‚ใพใ‚‹ใ€‚ๅฎŸ่ฃ…ใ™ใ‚‹ใฎใŒๅคงๅค‰ใชใ‚‰ไบŒๅˆ†ๆŽข็ดขใงใ‚‚ใ„ใ„ใ€‚

ABC 397-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไฝ•ๆ™‚้–“็ตŒใฃใฆใ‚‚่งฃใ‘ใชใ‹ใฃใŸใ€‚

่‘‰ใ‹ใ‚‰ใฎ่ท้›ขใ‚’ใŸใฉใฃใฆใ€้•ทใ• $K-1$ ใซใชใ‚‹ใƒ‘ใ‚นใŒ่ฆ‹ใคใ‹ใฃใŸใ‚‰ๆถˆใ™ใ€ใจใ„ใ†ๆ–นๆณ•ใฏไธŠๆ‰‹ใใ„ใ‹ใชใ‹ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใฎๆ–นๆณ•ใฏ็ขบใ‹ใซไธŠๆ‰‹ใใ„ใใฎใ ใŒใ€ $K$ ใ‚ˆใ‚Šๅคงใใชๆœจใ‚’่ฆ‹ใคใ‘ใŸใ‚‰ๆ‰“ใกๅˆ‡ใ‚‹ๅ ดๅˆๅˆ†ใ‘ใŒๅทงๅฆ™ใงๆ€ใ„ใคใใใ†ใ‚‚ใชใ„ใ€‚

ABC 397-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Eๅ•้กŒใฏ่งฃใ‘ใชใ„ใŒFๅ•้กŒใฏ่งฃใ‘ใ‚‹ใ€‚

็ฌฌไธ€ใฎ็ต„ใซใคใ„ใฆใฏใ€Cๅ•้กŒใจๅŒๆง˜ใซๅ…จๆŽข็ดขใ™ใ‚‹ใ€‚ๆฎ‹ใ‚ŠไบŒ็ต„ใซใคใ„ใฆใฏใ€ใ‚ใ‚‹ๆ•ฐ $a$ ใ‚’ไธŠๆ‰‹ใไบŒใคใฎ็ต„ใซๅˆ†ๅ‰ฒใงใใ‚‹็ฏ„ๅ›ฒใ‚’ๆฑ‚ใ‚ใฆใ€ใใฎใ‚ˆใ†ใช็ฏ„ๅ›ฒใŒใ‚‚ใฃใจใ‚‚ใŸใใ•ใ‚“้‡ใชใ‚‹ๅ ดๆ‰€ใงๅˆ†ๅ‰ฒใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

ๆฎ‹ใ‚ŠไบŒ็ต„ใซใคใ„ใฆใ€็ฏ„ๅ›ฒใ‚’ไปฅไธ‹ใฎ้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใซ่ผ‰ใ›ใ‚‹ใ€‚

  • ๆ•ฐ $i$ ใฎๅ‡บ็พไฝ็ฝฎใŒ0ใพใŸใฏ1ใ‹ๆ‰€ใชใ‚‰ๅˆ†ๅ‰ฒไธ่ƒฝใงใ‚ใ‚‹ใ€‚ๅ‡บ็พไฝ็ฝฎใŒ2ใ‹ๆ‰€ไปฅไธŠใชใ‚‰ใ€ไฝ็ฝฎใฎๆœ€ๅฐๅ€คใ‚’ $L$ ใ€ไฝ็ฝฎใฎๆœ€ๅคงๅ€คใ‚’ $R$ ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใใ€็œŸใ‚“ไธญใฎ็ต„ $A_j$ ใซใคใ„ใฆใ€ $L \leq j &lt; R$ ใจใ™ใ‚Œใฐใ€ $i$ ใ‚’ไบŒ็ต„ใซๅˆ†ใ‘ใ‚‰ใ‚Œใ‚‹ใ€‚
  • ใ“ใ‚Œใ‚’้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ $T$ ใซ่ผ‰ใ›ใ‚‹ใ€‚applyใ‚’ๅŠ ็ฎ—ใ€prodใ‚’maxใซใ™ใ‚‹ใ€‚ใ™ในใฆใฎ $i$ ใซใคใ„ใฆใ€ไธŠ่จ˜ $[L,R)$ ใซapplyใง1ๅŠ ็ฎ—ใ™ใ‚‹ใ€‚
  • prod $[l, r)$ ใฏใ€ $l \leq j &lt; r$ ใฎใจใใซใ€ๅˆ†ๅ‰ฒใ—ใŸ $i$ ใฎๆœ€ๅคงๅ€คใ‚’ๆ•ฐใˆใ‚‹ใ€‚่ฆใ™ใ‚‹ใซใฉใ‚Œใ ใ‘ใŸใใ•ใ‚“ๅˆ†ๅ‰ฒใงใใ‚‹ใ‹ใงใ‚ใ‚‹ใ€‚

Cๅ•้กŒใ‚’ๆ‹กๅผตใ—ใคใคใ€ไธŠ่จ˜ใฎ้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚’ๆดป็”จใ™ใ‚‹ใ€‚

  • ็ต„1 $(A_1, ... A_i)$ ใ‚’ $S$ ใจใ™ใ‚‹ใ€‚้‡่ค‡ใ—ใŸ่ฆ็ด ใ‚’ๆ•ฐใˆใชใ„ใ€‚ๅˆๆœŸ็Šถๆ…‹ใฏ็ฉบใงใ‚ใ‚‹ใ€‚
  • ็ต„2,3 $(A_i+1, ... A_N)$ ใซๅซใพใ‚Œใ‚‹ๆ•ฐใŒไฝ•ๅ€‹ใ‚ใ‚‹ใ‹ใฎใƒ†ใƒผใƒ–ใƒซ $U$ ใ‚’ไฝœใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใฏ $A$ ๅ…จ้ƒจๅ…ฅใ‚Šใงใ‚ใ‚‹ใ€‚
  • ๆ•ฐ $i=1..N$ ใฎๅ‡บ็พไฝ็ฝฎใฎ้›†ๅˆใ‚’ $P[i]$ ใจใ™ใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใฏ $A$ ๅ…จ้ƒจๅ…ฅใ‚Šใงใ‚ใ‚‹ใ€‚
  • ้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎๅˆๆœŸ็Šถๆ…‹ใฏ $A$ ๅ…จ้ƒจๅ…ฅใ‚Šใงใ‚ใ‚‹ใ€‚ $P$ ใ‚’ๅŸบใซไฝœใ‚‹ใ€‚

ๅˆ†ๅ‰ฒ็‚น $i=1..(N-2)$ ใซใคใ„ใฆไปฅไธ‹ใฎ้ †ใซๆ›ดๆ–ฐใ™ใ‚‹

  • $S$ ใซ $a = A_i$ ใ‚’ๅŠ ใˆใ‚‹ใ€‚
  • ้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ $T$ ใฎ $a$ ใซใคใ„ใฆใฎ็ฏ„ๅ›ฒใ‚’ใ€ใ‚ใ‚Œใฐๅ–ใ‚Š้™คใใ€‚ $apply(min(P[i]),max(P[i],-1))$ ใ™ใ‚‹ใ€‚
  • $U$ ใ‹ใ‚‰ $a$ ใ‚’1ๅ€‹ๅ–ใ‚Š้™คใใ€‚ $U$ ใ‹ใ‚‰0ๅ€‹ใซใชใฃใŸใ‚จใƒณใƒˆใƒชใ‚’ๅ–ใ‚Š้™คใใ€‚
  • $P[a]$ ใ‹ใ‚‰ $i$ ใ‚’ๅ–ใ‚Š้™คใ
  • ้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ $T$ ใฎ $a$ ใซใคใ„ใฆใฎ็ฏ„ๅ›ฒใ‚’ใ€ๅฏ่ƒฝใชใ‚‰ๅŠ ใˆใ‚‹ใ€‚ $apply(min(P[i]),max(P[i],1))$ ใ™ใ‚‹ใ€‚
  • $S$ ใฎ่ฆ็ด ๆ•ฐใ€ $U$ ใฎใ‚จใƒณใƒˆใƒชๆ•ฐใ€ $prod(i,N-1)$ ใฎๅ’ŒใŒใ€็ญ”ใˆใฎๅ€™่ฃœใงใ‚ใ‚‹ใ€‚

ใ“ใฎใ‚ˆใ†ใชๅ€™่ฃœใฎๆœ€ๅคงๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 398-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

  • $N$ ๆ–‡ๅญ—ใฎ - ใ‚’ไธฆในใ‚‹
  • 0-based indexingใงใ€ $\lfloor N/2 \rfloor$ ๆ–‡ๅญ—็›ฎใ‚’ = ใซใ™ใ‚‹
  • $N$ ใŒๅถๆ•ฐใชใ‚‰ใ€0-based indexingใง $N/2 - 1$ ๆ–‡ๅญ—็›ฎใ‚’ = ใซใ™ใ‚‹

ABC 398-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$2^7$ ใฏๅฐใ•ใ„ใฎใงใ€่จˆ็ฎ—้‡ใฎใ‚ชใƒผใƒ€ใƒผใ‚’ๆฐ—ใซใ—ใชใ„ใ€‚

7ๆžšใฎใ‚ซใƒผใƒ‰ใ‚’้ธใถใ€้ธใฐใชใ„ใ‚’ $2^7$ ้€šใ‚Šๅ…จๆŽข็ดขใ™ใ‚‹ใ€‚

  • ใ‚ซใƒผใƒ‰ใŒ5ๆžšใงใชใ‘ใ‚Œใฐ็„ก่ฆ–ใ™ใ‚‹
  • ใ‚ซใƒผใƒ‰ใŒ5ๆžšใชใ‚‰ใ€ใ‚ใ‚‹ๆ•ฐๅญ— $A$ ใŒ $C$ ๆžšใ‚ใ‚‹้€ฃๆƒณ้…ๅˆ— $T : A[C]$ ใ‚’ไฝœใ‚‹
  • $T$ ใฎใ‚จใƒณใƒˆใƒชๆ•ฐใŒ2ไปฅๅค–ใชใ‚‰็„ก่ฆ–ใ™ใ‚‹
  • $T$ ใฎๅ€ค $C$ ใŒ2ใพใŸใฏ3ใงใ‚ใ‚‹ใ‚จใƒณใƒˆใƒช $A$ ใŒใ‚ใ‚Œใฐใƒ•ใƒซใƒใ‚ฆใ‚นใงใ‚ใ‚‹ใ€‚็ญ”ใˆใฏ Yes ใงใ‚ใ‚‹ใ€‚

ไธŠ่จ˜ใง่ฉฒๅฝ“ใ™ใ‚‹ใ‚‚ใฎใŒใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ABC 398-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ใ‚‹ๆ•ฐๅญ— $A$ ใ‚’ๆŒใฃใฆใ„ใ‚‹ไบบใŸใก $A[P]$ ใจใ„ใ†้€ฃๆƒณ้…ๅˆ— $T$ ใ‚’ไฝœใ‚‹ใ€‚ $T$ ใฎใ‚ญใƒผใ‚’ๆ˜‡้ †ใซ่ตฐๆŸปใ—ใ€ $|P| = 1$ ใจใชใ‚‹ $A$ ใฎๆœ€ๅคงๅ€ค(ใชใ‘ใ‚Œใฐ -1 )ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 398-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไบŒๆฌกๅ…ƒใ‚ขใ‚ฏใ‚ทใƒงใƒณใ‚ฒใƒผใƒ ใฎใ‚นใ‚ฏใƒญใƒผใƒซใ‚’่€ƒใˆใ‚‹ใ€‚

่จˆ็ฎ—้‡ใ‚’ๆธ›ใ‚‰ใ™ใŸใ‚ใซใ€็…™ใŒ็งปๅ‹•ใ™ใ‚‹ใฎใงใฏใชใใ€ๅบงๆจ™็ณปใฎๅŽŸ็‚น $(Y,X)$ ใŒ็งปๅ‹•ใ™ใ‚‹ใจ่€ƒใˆใ‚‹ใ€‚ $S$ ใฎ $t$ ๆ–‡ๅญ—็›ฎใŒ

  • N ใงใ‚ใ‚‹ใจใใ€ๅบงๆจ™็ณปใŒ $Y$ ๆ–นๅ‘ใซ $-1$ ็งปๅ‹•ใ™ใ‚‹
  • S ใงใ‚ใ‚‹ใจใใ€ๅบงๆจ™็ณปใŒ $Y$ ๆ–นๅ‘ใซ $1$ ็งปๅ‹•ใ™ใ‚‹
  • E ใงใ‚ใ‚‹ใจใใ€ๅบงๆจ™็ณปใŒ $X$ ๆ–นๅ‘ใซ $-1$ ็งปๅ‹•ใ™ใ‚‹
  • W ใงใ‚ใ‚‹ใจใใ€ๅบงๆจ™็ณปใŒ $X$ ๆ–นๅ‘ใซ $1$ ็งปๅ‹•ใ™ใ‚‹

ๅˆๆœŸๅ€คใฏ $Y = X = 0$ ใงใ‚ใ‚‹ใ€‚ๆ™‚ๅˆปใŒ็ตŒ้Žใ™ใ‚‹ใŸใณใซไธŠ่จ˜ใฎ้€šใ‚Šๅบงๆจ™็ณปใŒๅค‰ๅŒ–ใ—ใ€็…™ใŒ $(Y,X)$ ใซ็™บ็”Ÿใ™ใ‚‹ใ€‚

้ซ˜ๆฉ‹ๅ›ใฎๅฑ…ๅ ดๆ‰€ $(R + X, C + Y)$ ใซ็…™ใŒใ‚ใ‚‹ใ‹ใฉใ†ใ‹ใฏใ€็…™ใฎๅ ดๆ‰€ใ‚’ std::set<Num,Num> ใง็ฎก็†ใ—ใฆใ€ $(R + X, C + Y)$ ใŒๅซใพใ‚Œใ‚‹ใ‹ใฉใ†ใ‹ๅˆคๅฎšใ™ใ‚‹ใ€‚

ABC 398-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ‡ฆ็†ใ‚’้–“้•ใˆใŸใ‚‰WAใงใฏใชใTLEใ—ใŸใ€‚่ฝใก็€ใ„ใฆๅ†ๅฎŸ่ฃ…ใ—ใŸใ‚‰ACใ—ใŸใ€‚

้กŒๆ„ใ‹ใ‚‰ไปปๆ„ใฎไบŒ้ ‚็‚นใฏๅˆฐ้”ๅฏ่ƒฝใงใ‚ใ‚Šใ€่ท้›ขใ‚’ๅฎš็พฉใงใใ‚‹ใ€‚ $G$ ใฏๆœจใชใฎใงใ€็›ด็ตใ—ใฆใ„ใชใ„้ ‚็‚นๅŒๅฃซใ‚’็›ด็ตใ™ใ‚‹ใจๅฟ…ใšใƒซใƒผใƒ—ใซใชใ‚‹ใ€‚้ ‚็‚น $(U,V)$ ใฎ่ท้›ขใŒๅฅ‡ๆ•ฐ้•ทใชใ‚‰ใ€ $(U,V)$ ใ‚’็›ด็ตใ—ใฆใงใใ‚‹ใƒซใƒผใƒ—ใฎ้•ทใ•ใฏๅถๆ•ฐใงใ‚ใ‚‹ใ€‚ๅถๆ•ฐใชใฎใงใ€ไป–ใฎ้ ‚็‚น้–“ใฎ่ท้›ขใŒๅถๆ•ฐใ‹ๅฅ‡ๆ•ฐใ‹ใซใฏๅฝฑ้Ÿฟใ—ใชใ„ใ€‚ๅ˜ใซ็ตในใ‚‹้ ‚็‚นใŒๆธ›ใ‚‹ใ ใ‘ใงใ‚ใ‚‹ใ€‚

ใ‚ˆใฃใฆใ™ในใฆใฎ้ ‚็‚นใฎ็ต„ $(U,V) , U \ne V$ ใซใคใ„ใฆใ€้•ทใ•ใŒๅฅ‡ๆ•ฐ้•ทใง $G$ ใซๅซใพใ‚Œใชใ„่พบใฎ้›†ๅˆ $T$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

$T$ ใŒๅฅ‡ๆ•ฐๅ€‹ใชใ‚‰ๅ…ˆๆ‰‹ใ€ๅถๆ•ฐๅ€‹ใชใ‚‰ๅพŒๆ‰‹ใ‚’้ธใถใ€‚ใ‚ใจใฏ $T$ ใฎ่พบใ‚’ไบ’ใ„ใซๅ–ใ‚Šๅˆใˆใฐๅ‹ใคใ€‚่‡ชๅˆ†ใ ใ‘ใงใชใ็›ธๆ‰‹ใŒๅ–ใฃใŸ่พบใ‚’ $T$ ใ‹ใ‚‰้™คใๅฟ˜ใ‚Œใ‚‹ใจTLEใ™ใ‚‹ใ€‚

ไบŒ้ƒจใ‚ฐใƒฉใƒ•ใจ่จ€ใ‚ใ‚Œใ‚Œใฐใใ†ใงใ‚ใ‚‹ใ€‚

ABC 398-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใƒญใƒผใƒชใƒณใ‚ฐใƒใƒƒใ‚ทใƒฅใง่งฃใ‘ใ‚‹ใ€‚่‡ชไฝœใƒฉใ‚คใƒ–ใƒฉใƒชใฎไฝฟใ„ๆ–นใ‚’ๆ€ใ„ๅ‡บใ™ใฎใซ่‹ฆๅŠดใ—ใŸใ€‚

$S$ ใฎๆŽฅ้ ญ่พžใซใ‚ใ‚‹ๆœ€ๅคง้•ทใฎๅ›žๆ–‡ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ $S$ ใฎ้€†้ †ใ‚’ $R$ ใจใ™ใ‚‹ใ€‚ $S$ ใฎๅพŒใ‚ $i = 1..|S|$ ๆ–‡ๅญ—ใจใ€ $R$ ใฎๅ…ˆ้ ญ $i = 1..|S|$ ๆ–‡ๅญ—ใŒไธ€่‡ดใ™ใ‚‹ใ‹ใฉใ†ใ‹่ชฟในใ€ไธ€่‡ดใ™ใ‚‹ใ‚‚ใฎใฎๆœ€ๅคง้•ทใ‚’ $L$ ใจใ™ใ‚‹ใ€‚ $S$ ใฎๆœซๅฐพใฎๆ–‡ๅญ—ใจ $R$ ใฎๆœ€ๅˆใฎๆ–‡ๅญ—ใฏไธ€่‡ดใ™ใ‚‹ใฎใง $L \geq 1$ ใงใ‚ใ‚‹ใ€‚

$L$ ใฏใƒญใƒผใƒชใƒณใ‚ฐใƒใƒƒใ‚ทใƒฅใงๆฑ‚ใพใ‚‹ใ€‚ใƒใƒƒใ‚ทใƒฅ่ก็ชใซๅ‚™ใˆใฆใ€ใ‚ญใƒผใ‚’2ใคไปฅไธŠ็”จๆ„ใ™ใ‚‹ใ€‚ $L$ ใŒๆฑ‚ใพใฃใŸใ‚‰ใ€ๆŽฅ้ ญ่พž $P = S[1:|S|-L]$ ใ€ๅ›žๆ–‡ $S[L+1:|S|]$ ใ€ $P$ ใ‚’ๅ่ปขใ—ใŸใ‚‚ใฎใ‚’้ †ใซๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

Manacherใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใ‚’ๅฟ˜ใ‚Œใฆใ„ใŸใ€‚ใƒฉใ‚คใƒ–ใƒฉใƒชๅŒ–ใ‚‚ใ—ใฆใ„ใชใ‹ใฃใŸใ—ใ€‚

ใ‚ณใƒณใƒ†ใ‚นใƒˆ60ๅ›ž็›ฎ

ใ‚ณใƒณใƒ†ใ‚นใƒˆ60ๅ›ž็›ฎใฏ ARC Div. 2 195 ใงใ‚ใ‚‹ใ€‚1ๅฎŒใง่Œถใƒ‘ใƒ•ใ‚ฉใ€ใ“ใ‚ŒใŒไปŠใฎๅฎŸๅŠ›ใงใ‚ใ‚‹ใ€‚

ABC 399-A

ไน…ใ—ใถใ‚Šใซใƒใƒใƒฃใง่งฃใ„ใŸใ€‚Dๅ•้กŒใŒๅ…จใใ‚ใ‹ใ‚‰ใšๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$S[i] \ne T[i] : i = 1..N$ ใช่ฆ็ด ใ‚’ๆ•ฐใˆใ‚‹ใ€‚

ABC 399-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Min rankใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

ๅพ—็‚นใŒ $P$ ใชไบบใŸใก $T[P]$ ใจใ„ใ†้€ฃๆƒณ้…ๅˆ—ใ‚’ไฝœใ‚‹ใ€‚ $P$ ใฎ้™้ †ใซๅ‡บๅŠ›ใ—ใ€ๅ‡บๅŠ›ใ—ใŸไบบๆ•ฐใฎๅˆ†ใ ใ‘้ †ไฝใ‚’ๅข—ใ‚„ใ™ใ€‚

ABC 399-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

350็‚นใ ใŒๅ…ธๅž‹ใ ใฃใŸใ€‚

ๅ…ฅๅŠ›ใ—ใŸใ‚ฐใƒฉใƒ•ใ‚’้€ฃ็ตๆˆๅˆ†ใฎ้›†ๅˆ $G$ ใซๅˆ†ใ‘ใ‚‹ใ€‚ใใ‚Œใžใ‚Œใฎ้€ฃ็ตๆˆๅˆ†ใ‚’ๆœจใซใ™ใ‚Œใฐใ‚ˆใใ€่พบใฎๆ•ฐใฏ้€ฃ็ตๆˆๅˆ†ใฎ้ ‚็‚นๆ•ฐ-1ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ็ญ”ใˆใฏ $M - (N - |G|)$ ใงใ‚ใ‚‹ใ€‚

ABC 399-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆœ€ๅˆใฎ50ๅˆ†้–“ใฏๅ…จใ้กŒๆ„ใŒๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚ใƒšใƒŠใƒซใƒ†ใ‚ฃใฎๅฑฑใ‚’็ฏ‰ใ„ใฆใ€ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚Œใฐใ„ใ„ใ ใ‘ใจๆฐ—ใŒไป˜ใ„ใŸใ€‚ใชใœ 71:34ใจ8ใƒšใƒŠใ‚‚ๆŽ›ใ‹ใฃใŸใฎใ ใ‚ใ†ใ€‚

ๅ‰ๅ‡ฆ็†ใจใ—ใฆใ€ไบบ $a$ ใฎไฝ็ฝฎใฎ้›†ๅˆใ‚’ $P_a$ ใจใ™ใ‚‹ใ€‚ $|P_a| = 2$ ใงใ‚ใ‚‹ใ€‚ไบบ $a = 1..N$ ใซใคใ„ใฆใ€ๆกไปถใซๅˆใ†็›ธๆ‰‹ $b$ ใŒใ„ใ‚‹ใชใ‚‰ $(a,b)$ ใจใ„ใ†็ต„ใ‚’ไฝœใ‚‹ใ€‚ใ“ใฎ็ต„ใฎๆ•ฐใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ๆกไปถใซๅˆใ†ใ‹ใฉใ†ใ‹ใฏใ€ๅ•้กŒๆ–‡้€šใ‚ŠๅฎŸ่ฃ…ใ™ใ‚Œใฐใ‚ˆใ„ใ€‚ใ‚จใƒƒใ‚ธใ‚ฑใƒผใ‚นใซๆณจๆ„ใ™ใ‚‹ใ€‚ $a=1..N$ ใซใคใ„ใฆ่ชฟในใ‚‹ใ€‚

  • $a$ ๅŒๅฃซใฏ้šฃๆŽฅใ—ใฆใ„ใชใ„ใ€‚ใคใพใ‚Š $|P_a[1] - P_a[0]| &gt; 1$ ใงใ‚ใ‚‹ใ€‚
  • $P_a[0]$ ใซ้šฃๆŽฅใ™ใ‚‹่ฆ็ด ใซใคใ„ใฆใ€ไฝ็ฝฎใฎๅ€™่ฃœ $S$ ใฏ $P_a[0] - 1, P_a[0] + 1$ ใฎใ†ใกใ€1ไปฅไธŠ $2N$ ไปฅไธ‹ใฎ่ฆ็ด ใงใ‚ใ‚‹ใ€‚ $2N$ ใ‚’ $N$ ใจๆ›ธใใจๅคง้‡ใซWAใ™ใ‚‹ใ€‚
  • $P_a[1]$ ใซ้šฃๆŽฅใ™ใ‚‹่ฆ็ด ใซใคใ„ใฆใ€ไฝ็ฝฎใฎๅ€™่ฃœ $T$ ใฏ $P_a[1] - 1, P_a[1] + 1$ ใฎใ†ใกใ€1ไปฅไธŠ $2N$ ไปฅไธ‹ใฎ่ฆ็ด ใงใ‚ใ‚‹
  • $S$ ใฎใใ‚Œใžใ‚Œใฎ่ฆ็ด  $s$ ใจใ€ $T$ ใฎใใ‚Œใžใ‚Œใฎ่ฆ็ด  $t$ ใฎ็ต„ใฟๅˆใ‚ใ›ๆœ€ๅคง4้€šใ‚Šใซใคใ„ใฆใ€ๆกไปถใซๅˆใ†ใ“ใจใ‚’่ชฟในใ‚‹ใ€‚
    • $b = A_s$ ใจใ™ใ‚‹ใ€‚ $b$ ๅŒๅฃซใŒ้šฃๆŽฅใ™ใ‚‹ใ€‚ใคใพใ‚Š $|P_b[1] - P_b[0]| = 1$ ใชใ‚‰ๆกไปถใซๅˆใ‚ใชใ„
    • $c = A_t$ ใจใ™ใ‚‹ใ€‚ $c$ ๅŒๅฃซใŒ้šฃๆŽฅใ™ใ‚‹ใ€‚ใคใพใ‚Š $|P_c[b] - P_c[0]| = 1$ ใชใ‚‰ๆกไปถใซๅˆใ‚ใชใ„
    • $s = t$ ใชใ‚‰ไบคๆ›ใ—ใชใ„ใฎใจๅŒใ˜ใชใฎใงๆกไปถใซๅˆใ‚ใชใ„
    • $b \ne c$ ใชใ‚‰ๆกไปถใซๅˆใ‚ใชใ„
    • ใใ‚Œไปฅๅค–ใฏๆกไปถใซๅˆใ†ใฎใงใ€็ต„ $(a,b)$ ใ‚’ๅ€™่ฃœใซๅŠ ใˆใ‚‹ใ€‚็ต„ใ‚’ไธ€ๆ„ใซใ™ใ‚‹ใŸใ‚ใ€ $a &lt; b$ ใจใ™ใ‚‹ใ€‚

็ต„ใฎๆ•ฐใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 400-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$P = 400$ ใจใ—ใฆใ€ $P$ ใŒ $A$ ใงๅ‰ฒใ‚Šๅˆ‡ใ‚Œใ‚Œใฐ $P / A$ ใ€ๅ‰ฒใ‚Šๅˆ‡ใ‚Œใชใ‘ใ‚Œใฐ -1 ใงใ‚ใ‚‹ใ€‚

ABC 400-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไปปๆ„็ฒพๅบฆๆ•ดๆ•ฐ boost::multiprecision::cpp_int ใ‚’ไฝฟใฃใฆ่จˆ็ฎ—ใ™ใ‚‹ใ€‚

ABC 400-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใชใ‹ใชใ‹่งฃใ‘ใชใ‹ใฃใŸใŒใ€ $a$ ใŒๆญฃใงใ‚ใ‚‹ใจใ„ใ†ๅˆถ็ด„ใ‚’่ฆ‹่ฝใจใ—ใฆใ„ใŸใ€‚

$b$ ใฏๅฅ‡ๆ•ฐใงใ‚ใ‚‹ใจไปฎๅฎšใ—ใฆๆง‹ใ‚ใชใ„ใ€‚ใชใœใชใ‚‰ $b = 2c$ ใฎใจใใ€ $2^a \times b^2 = 2^a \times {(2c)}^2 = 2^{a+2} \times c^2$ ใŒๆˆ็ซ‹ใ—ใ€ใ“ใ‚Œใฏ $c$ ใŒๅฅ‡ๆ•ฐใซใชใ‚‹ใพใง็นฐใ‚Š่ฟ”ใ™ใ“ใจใŒใงใใ‚‹ใ‹ใ‚‰ใ ใ€‚

ใพใš $b = 1$ ใ‚’ๅ…จๆŽข็ดขใ™ใ‚‹ใ€‚ใ“ใ‚Œใฏ $N$ ใ‚’ไบŒ้€ฒๆ•ฐ่กจ่จ˜ใ—ใŸๆ™‚ใฎๆกๆ•ฐ std::bit_width(N) ใงใ‚ใ‚‹ใ€‚ $a = 0$ ใ‚’้™คใใฎใง1ๅผ•ใใ€‚

$a \geq 1$ ใ‚’ใ€ $2^a \leq N$ ใฎ็ฏ„ๅ›ฒใงๅ…จๆŽข็ดขใ™ใ‚‹ใ€‚ $a$ ใ‚’ๅ›บๅฎšใ™ใ‚Œใฐ $B$ ใฏ $C = \sqrt{\lfloor N / 2^a \rfloor}$ ใฎใ†ใกๅฅ‡ๆ•ฐใ‹ใค1ใ‚ˆใ‚Šๅคงใใ„ใ‚‚ใฎใงใ‚ใ‚‹ใ‹ใ‚‰ใ€ $\lfloor (C - 1) / 2 \rfloor$ ๅ€‹ใงใ‚ใ‚‹ใ€‚

ใ“ใ‚Œใ‚‰ใฎ็ทๆ•ฐใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ $b$ ใฏๅฅ‡ๆ•ฐใจใ„ใ†ๅˆถ็ด„ใฏใ€ๅ…ฌๅผ่งฃ่ชฌ3ใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚

ABC 400-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ…ฅๅŠ›ไพ‹3ใซๅŠฉใ‘ใ‚‰ใ‚ŒใŸใ€‚

01-BFSใ—ใฆ้ญšๅฑ‹ใพใงใฎ่ท้›ขใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ๅŒๆ–นๅ‘ใฎ็งปๅ‹•่ท้›ข1,2ใพใงใฎใƒžใ‚นใซใคใ„ใฆใ€ๅˆฐ้”ใฎใƒžใ‚นใพใŸใฏ้€”ไธญใฎใƒžใ‚นใซๅฃใŒใ‚ใ‚Œใฐ่ท้›ข1ใ‚’่ถณใ—ใ€ใใ†ใงใชใ‘ใ‚Œใฐ่ท้›ข0ใ‚’่ถณใ™ใ€‚ไพ‹ใˆใฐใ€ $(0,0)$ ใ‹ใ‚‰ $(0,2)$ ใซ็งปๅ‹•ใ™ใ‚‹ใจใใ€ $(0,1),(0,2)$ ใฎๅฐ‘ใชใใจใ‚‚ใฉใกใ‚‰ใ‹ไธ€ๆ–นใŒๅฃใชใ‚‰่ท้›ข1ใ€ใใ†ใงใชใ‘ใ‚Œใฐ่ท้›ข0ใ‚’่ถณใ™ใ€‚ $(0,0)$ ใ‹ใ‚‰ $(0,1)$ ใซ็งปๅ‹•ใ™ใ‚‹ใจใใ€ $(0,1)$ ใŒๅฃใชใ‚‰่ท้›ข1ใ€ใใ†ใงใชใ‘ใ‚Œใฐ่ท้›ข0ใ‚’่ถณใ™ใ€‚

01-BFSใชใฎใงๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใฏ่ฆใ‚‰ใชใ„ใŒใ€C++ใฎๅŠ›ใง $log(N)$ ไฝ™่จˆใซๆ‰•ใฃใŸใ€‚

ABC 400-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Cๅ•้กŒใฏใชใ‹ใชใ‹่งฃๆณ•ใŒ่ฆ‹ใˆใชใ„ใฎใซใ€Eๅ•้กŒใฏใ‚ใฃใ•ใ‚Šๅˆ†ใ‹ใฃใŸใ€‚

ใ‚ฏใ‚จใƒชใฎๆ•ฐใ‹ใ‚‰ใ—ใฆใ€ๅ‰ๅ‡ฆ็†ใซใŸใฃใทใ‚Šๆ™‚้–“ใ‚’ๆŽ›ใ‘ใ‚‹ในใใจๅˆ†ใ‹ใ‚‹ใ€‚ไบŒใคใฎ็ด ๆ•ฐ $P,R$ ใซใคใ„ใฆใ€ $A = P^{2i} R^{2i} = (P^{i} R^{i})^2$ ใŒๆˆ็ซ‹ใ™ใ‚‹ใชใ‚‰ใฐใ€ $P^{i} R^{i} \leq \sqrt{A} \leq 10^6$ ใ‚’ๆบ€ใŸใ™ๆœ€ๅคงใฎ $B = P^{i} R^{i}$ ใซใคใ„ใฆ $B^2$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ใ‚ˆใฃใฆไบŒใคใฎ็ด ๅ› ๆ•ฐใฎ็ฉ $P^{i} R^{i}$ ใง่กจ็พใงใใ‚‹ๆ•ฐ $B$ ใฎ้›†ๅˆใ‚’ใ‚ใ‚‰ใ‹ใ˜ใ‚ๆฑ‚ใ‚ใฆใŠใใ€‚ $1 \leq B \leq 10^6$ ใ ใ‘่ชฟในใ‚Œใฐๅๅˆ†ใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใฏ $1 \leq P \leq 10^6$ ใ‚’ๆบ€ใŸใ™็ด ๆ•ฐ $P$ ใ‚’ๅˆ—ๆŒ™ใ—ใ€ใใ‚Œใžใ‚Œใฎ $P$ ใซใคใ„ใฆ $B$ ใ‚’ $P$ ใง่ฉฆใ—ๅ‰ฒใ‚Šใ™ใ‚Œใฐ $B$ ใฎ็ด ๅ› ๆ•ฐใ‚’ๅˆ—ๆŒ™ใงใใ‚‹ใ€‚

400 numbersใ‚’ๆฑ‚ใ‚ใ‚‹ใ‹ใ€400 numbersใฎๅนณๆ–นๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ‹ใจใ„ใ†้•ใ„ใ‚’้™คใ‘ใฐใ€ๅ…ฌๅผ่งฃ่ชฌ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

ABC 401-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚่€ƒใˆใŒใพใจใพใ‚‰ใชใ„ใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$\lfloor S/100 \rfloor = 2$ ใชใ‚‰ Success ใ€ใใ†ใงใชใ‘ใ‚Œใฐ Failure ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 401-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

็Šถๆ…‹ $in \in {False, True}$ ใ‚’่€ƒใˆใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใฏ $False$ ใงใ‚ใ‚‹ใ€‚

  • login ใชใ‚‰ $in$ ใ‚’ $True$ ใซใ™ใ‚‹ใ€‚ๅ‰ใฎ็Šถๆ…‹ใฏ้–ขไฟ‚ใชใ„ใ€‚
  • logout ใชใ‚‰ $in$ ใ‚’ $False$ ใซใ™ใ‚‹ใ€‚ๅ‰ใฎ็Šถๆ…‹ใฏ้–ขไฟ‚ใชใ„ใ€‚
  • public ใชใ‚‰ไฝ•ใ‚‚ใ—ใชใ„ใ€‚
  • private ใชใ‚‰ใ€ $in = False$ ใฎๆ™‚ใซ็ญ”ใˆใ‚’1ๅข—ใ‚„ใ™ใ€‚ $in = True$ ใชใ‚‰็ญ”ใˆใฏๅค‰ใ‚ใ‚‰ใชใ„ใ€‚ใ„ใšใ‚Œใซใ›ใ‚ˆ็Šถๆ…‹ใ‚’ๅค‰ใˆใชใ„ใ€‚

ABC 401-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

็ดฏ็ฉๅ’Œใ ใจใ™ใๅˆ†ใ‹ใฃใŸใŒๆทปใˆๅญ—ใงๆ‚ฉใ‚“ใ ใ€‚

$N = 1$ ใชใ‚‰็ญ”ใˆใฏ1ใงใ‚ใ‚‹ใ€‚ใ“ใฎใƒใƒผใƒ‰ใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐใ‚’้–“้•ใˆใŸใ€‚ไปฅไธ‹ $|A| &gt; 1$ ใจใ™ใ‚‹ใ€‚ $A$ ใฎๅ€คใงใฏใชใ็ดฏ็ฉๅ’Œ $C_i = \sum_{j=0}^{i}$ ใ‚’ๆŒใคใ€‚

  • $C_{-1} = 0$ ใงใ‚ใ‚‹
  • $0 \leq i &lt; K$ ใฎใจใใ€ $C_i = i + 1$ ใงใ‚ใ‚‹
  • $i \geq K$ ใฎใจใใ€ $C_i = C_{i-1} + C_{i-1} - C_{i-K-1}$ ใงใ‚ใ‚‹

็ญ”ใˆใฏ $C_N - C_{N-1}$ ใงใ‚ใ‚‹ใ€‚ModใŒใ„ใคใ‚‚ใฎ็ด ๆ•ฐใงใฏใชใ„ใฎใงใ€ไปฅไธ‹ใฎ้€šใ‚Šใซใ™ใ‚‹ใ€‚

atcoder::modint::set_mod(1000000000);
using ModInt = atcoder::modint;

ๅฎŸใฏ็ดฏ็ฉๅ’Œใงใฏใชใใ€ใ‚นใƒฉใ‚คใƒ‡ใ‚ฃใƒณใ‚ฐใ‚ฆใ‚ฃใƒณใƒ‰ใ‚ฆใง่งฃใ‘ใ‚‹ใ€‚ $Nlog(N)$ ่งฃๆณ•ใงใ‚ˆใ‘ใ‚Œใฐใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใŒ็ฐกไพฟใ‚‰ใ—ใ„ใ€‚

ABC 401-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆ–น้‡ใฏใ™ใ็ซ‹ใฃใŸใŒ่€ƒใˆใŒใพใจใพใ‚‰ใชใ„ใ€‚

o ใฎๅ‰ๅพŒใซ . ใ‚’็ฝฎใ‘ใชใ„ใฎใงใ€ o ใฎๅ‰ๅพŒใ‚’ . ใงๅŸ‹ใ‚ใ‚‹ใ€‚ๆฎ‹ใฃใŸ ? ใฏ o ใ‚’็ฝฎใใŸใ‘ใ‚Œใฐ็ฝฎใ‘ใ‚‹ๅ ดๆ‰€ใงใ‚ใ‚Šใ€ใใ‚Œใ‚‰ใฎๅ€คใŒ o ใพใŸใฏ . ใซไธ€ๆ„ใซๆฑบใพใ‚‹ใชใ‚‰ใใฎใ‚ˆใ†ใซๆฑบใ‚ใ€ๆฑบใพใ‚‰ใชใ„ใชใ‚‰ ? ใฎใพใพใซใ™ใ‚‹ใ€‚

ไธŠ่จ˜ใฎ้€šใ‚ŠๅŸ‹ใ‚ใŸๅพŒใฎ $S$ ใซๅซใพใ‚Œใ‚‹ o ใŒ $C$ ๅ€‹ใจใ™ใ‚‹ใ€‚ $C = K$ ใชใ‚‰ใ€ๆฎ‹ใ‚Šใฎ ? ใ‚’ใ™ในใฆ . ใซ็ฝฎใๆ›ใˆใŸใ‚‚ใฎใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ไปฅไธ‹ๅฐ‘ใชใใจใ‚‚ไธ€ๅ€‹ไปฅไธŠใฎ ? ใ‚’ o ใซใ—ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„็Šถๆณใ‚’่€ƒใˆใ‚‹ใ€‚

? ใ‚’ใƒฉใƒณใƒฌใƒณใ‚ฐใ‚นๅœง็ธฎใ™ใ‚‹ใ€‚ใƒฉใƒณ $i$ ใŒ้•ทใ• $L_i$ ใจใ—ใฆใ€ o ใ‚’ๆœ€ๅคง $\lceil L_i/2 \rceil$ ๅ€‹็ฝฎใ‘ใ‚‹ใ€‚ๆœ€ๅคง้™ o ใ‚’็ฝฎใใจ $D = \sum L_i$ ๅ€‹็ฝฎใ‘ใ‚‹ใŒใ€ $D &lt; K - C$ ๅ€‹ใชใ‚‰ใฉใฎ ? ใซใคใ„ใฆใ‚‚ใ€ o ใซ็ฝฎใๆ›ใˆใ‚‹ใ‹ . ใซใ™ใ‚‹ใ‹้ธๆŠžใฎไฝ™ๅœฐใŒใ‚ใ‚‹ใฎใงใ€ใ™ในใฆใฎ ? ใฏ ? ใฎใพใพใงใ‚ใ‚‹ใ€‚

$D = K - C$ ๅ€‹ใชใ‚‰ๆœ€ๅคง้™ o ใซ็ฝฎใๆ›ใˆใ‚‹ใ€‚ๅฅ‡ๆ•ฐ้•ทใฎใƒฉใƒณใฏ o.o.o ใจใ€ o ใงๅง‹ใพใ‚Š o ใง็ต‚ใ‚ใ‚Š o. ใŒไบคไบ’ใซ็ถšใใƒ‘ใ‚ฟใƒผใƒณใ—ใ‹ใชใ„ใฎใงใใฎใ‚ˆใ†ใซ ? ใ‚’็ฝฎใๆ›ใˆใ‚‹ใ€‚ๅถๆ•ฐ้•ทใฎใƒฉใƒณใฏ o ๅง‹ใพใ‚Šใจ . ๅง‹ใพใ‚Šใฎไธกๆ–นใซใชใ‚Šใ†ใ‚‹ใฎใงใ€ ? ใฎใพใพใงใ‚ใ‚‹ใ€‚

ไธŠ่จ˜ใฎ้€šใ‚Š $S$ ใฎ ? ใ‚’็ฝฎใๆ›ใˆใŸใ‚‚ใฎใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ๅ…ฌๅผ่งฃ่ชฌ1ใฎ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

ABC 401-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆ–น้‡ใฏใ™ใ็ซ‹ใฃใŸใŒ่€ƒใˆใŒใพใจใพใ‚‰ใชใ„ใ€‚

ๅ•้กŒใ‚’ไปฅไธ‹ใฎใ‚ˆใ†ใซ่ชญใฟๆ›ฟใˆใ‚‹ใ€‚

  1. ้ ‚็‚น $1..K$ ใ ใ‘ใ‹ใ‚‰ใชใ‚‹ใ‚ฐใƒฉใƒ• $G_k$ ใŒ้€ฃ็ตใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚้€ฃ็ตใงใฏใชใ„ใ€ใคใพใ‚Š้ ‚็‚น1ใ‚’ๅซใ‚€้€ฃ็ตๆˆๅˆ† $S_k$ ใฎใ‚ตใ‚คใ‚บใŒ $K$ ๆœชๆบ€ใชใ‚‰ -1 ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚
  2. ้ ‚็‚น $1..K$ ใ ใ‘ใ‹ใ‚‰ใชใ‚‹ใ‚ฐใƒฉใƒ•ใ‹ใ‚‰ใ€ ้ ‚็‚น $K+1..N$ ใซ็›ดๆŽฅ่พบใŒๅ‡บใฆใ„ใ‚‹ใชใ‚‰ใ€ใใฎ้ ‚็‚น้›†ๅˆ $R_k$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ไธŠ่จ˜ใง -1 ใ‚’ๅ‡บๅŠ›ใ—ใชใ‘ใ‚Œใฐใ€ $|R_k|$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

$K = 1..N$ ใซใคใ„ใฆใ€ไธŠ่จ˜ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ $K = 1$ ใซใคใ„ใฆใฏใ€ $S_1 = {1}$ ใ€ $R_1$ ใฏ้ ‚็‚น1ใจ็›ดๆŽฅ่พบใงใคใชใŒใฃใฆใ„ใ‚‹้ ‚็‚น $2..N$ ใงใ‚ใ‚‹ใ€‚

้ ‚็‚น $K-1$ ใพใงๆฑ‚ใพใฃใฆใ„ใฆใ€ $K$ ใซใคใ„ใฆๆฑ‚ใ‚ใ‚‹ใ€‚้ ‚็‚น $K$ ใจ็›ดๆŽฅใคใชใŒใฃใฆใ„ใ‚‹้ ‚็‚น้›†ๅˆใ‚’ $U$ ใจใ™ใ‚‹ใ€‚

  • $j \in U$ ใซใคใ„ใฆใ€ $j &lt; k$ ใชใ‚‰้ ‚็‚น1ใจ ้ ‚็‚น $j$ ใ‚’้€ฃ็ตใ™ใ‚‹ใ€‚
  • $R_k = R_{k-1} \setminus k$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚ใคใพใ‚Š $R_k$ ใ‹ใ‚‰ $k$ ใ‚’้™คใใ€‚
  • $j \in U$ ใซใคใ„ใฆใ€ $j &lt; k$ ใชใ‚‰ $R_k$ ใ‹ใ‚‰ $j$ ใ‚’้™คใ
  • $j \in U$ ใซใคใ„ใฆใ€ $j &gt; k$ ใชใ‚‰ $R_k$ ใซ $j$ ใ‚’ๅŠ ใˆใ‚‹
  • ้ ‚็‚น1ใฎ้€ฃ็ตๆˆๅˆ†ใฎๅคงใใ•ใŒ $k$ ใชใ‚‰(ๆ—ข่ฟฐใฎ้€šใ‚Š้ ‚็‚น $1..k$ ใŒ้€ฃ็ตใชใ‚‰) $|R_k|$ ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ -1 ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

่จˆ็ฎ—ใ‚ณใ‚นใƒˆใฏ $R$ ใซ่พบใ‚’ๅ‡บใ—ๅ…ฅใ‚Œใ™ใ‚‹ๅ›žๆ•ฐใงๆฑบใพใ‚‹ใฎใง $O(Nlog(N))$ ใงใ‚ใ‚‹(่พบใฎๆ•ฐใŒ $O(N)$ ใชใฎใง)ใ€‚

ABC 401-G

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

Fๅ•้กŒใฏใ„ใคใพใง็ตŒใฃใฆใ‚‚่งฃใ‘ใชใ„ใฎใซGๅ•้กŒใฏ่งฃใ‘ใŸใ€‚

็ญ”ใˆใฏ $(sx_i, sy_i)$ ใ‹ใ‚‰ $(gx_j, gy_j)$ ใพใงใฎ่ท้›ขใฎใ†ใกใฉใ‚Œใ‹ไธ€ใคใงใ‚ใ‚‹ใ€‚ใใ‚Œไปฅๅค–ใฎ่ท้›ขใฏใ‚ใ–ใ‚ใ–ๅฏ„ใ‚Š้“ใ—ใฆใ„ใ‚‹ใฎใงใ‚‚ใฃใจ็Ÿญใใงใใ‚‹ใ€‚ $i,j \in 1..N$ ใฎ่ท้›ขใฎไบŒไน—ใ‚’ๆ•ดๆ•ฐใงๆฑ‚ใ‚ใฆ $L[i,j]$ ใจใ™ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ๅบงๆจ™ๅœง็ธฎใ™ใ‚‹ใ€ใคใพใ‚Šๆ˜‡้ †ใซไธฆในใฆๅŒใ˜ๅ€คใฏๅŒใ˜้ †ไฝใซใ—ใŸใ‚‚ใฎใ‚’ $D[i,j]$ ใจใ™ใ‚‹ใ€‚ $D$ ใŒๅ–ใ‚Šใ†ใ‚‹ๅ€คใ‚’ๆ˜‡้ †ใซไธฆในใŸใ‚‚ใฎใ‚’ $V$ ใจใ™ใ‚‹ใ€‚

$|V| = 1$ ใชใ‚‰ $L$ ใฎๅ”ฏไธ€ใฎๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ $k \in 1..|V|$ ใงไบŒๅˆ†ๆŽข็ดขใ™ใ‚‹ใ€‚ไฝ•ใ‚’ไบŒๅˆ†ๆŽข็ดขใ™ใ‚‹ใ‹ใจใ„ใ†ใจใ€ $D[i,j] \leq V[k]$ ใซ้™ใฃใŸ $i,j$ ใ ใ‘ใง็›ฎๆจ™ใ‚’้”ๆˆใงใใ‚‹ใ‹ใฉใ†ใ‹ใ‚’ๅˆคๅฎšใ™ใ‚‹ใ€‚

ๅ…ทไฝ“็š„ใซใฏ $(i,j)$ ใฎ็ต„ใ‚’ $N$ ๅ€‹ไปฅไธŠไฝœใ‚Œใ‚‹ใ‹ใฉใ†ใ‹ๅˆคๅฎšใ™ใ‚Œใฐใ‚ˆใใ€ไบŒ้ƒจใ‚ฐใƒฉใƒ•ใฎmax-flowใ‚’ๆฑ‚ใ‚ใฆ $N$ ใ‹ใฉใ†ใ‹ๅˆคๅฎšใ™ใ‚‹ใ€‚ $(Soucre,i,j,Sink)$ ใจใ„ใ†ใ‚ฐใƒฉใƒ•ใ‚’ไฝœใ‚Šใ€ $(Source,i)$ , $(j,Sink)$ ใฏใ™ในใฆใฎ $i,j \in 1..N$ ใซใคใ„ใฆๅฎน้‡1ใฎ่พบใ‚’ๅผตใ‚Šใ€ $(i,j)$ ใฏ $D[i,j] \leq V[k]$ ใชใ‚‰ๅฎน้‡1ใฎ่พบใ‚’ๅผตใ‚‹ใ€‚ $(Source,Sink)$ ใฎๅฎน้‡ใŒ $N$ ใ‹ใฉใ†ใ‹ๅˆคๅฎšใ™ใ‚‹ใ€‚

ๆœ€ๅพŒใซใ€ไบŒๅˆ†ๆŽข็ดขใฎ็ตๆžœ $k$ ใ‚’ $L$ ใซ้€†ๅค‰ๆ›ใ—ใฆๅนณๆ–นๆ น $\sqrt{L}$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใจ็ญ”ใˆใซใชใ‚‹ใ€‚

ABC 402-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$S$ ใฎๅ…ˆ้ ญใ‹ใ‚‰ๅ„ๆ–‡ๅญ—ใ‚’่ตฐๆŸปใ—ใฆใ€่‹ฑๅคงๆ–‡ๅญ—ใ ใฃใŸใ‚‰ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 402-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ“ใ‚Œใพใงใซๆกˆๅ†…ใ—ใŸไบบๆ•ฐใ‚’ $P = 0$ ใงๅˆๆœŸๅŒ–ใ—ใ€ใ“ใ‚Œใพใงใซไธฆใ‚“ใ ไบบใฎ้ฃŸๅˆธ็•ชๅทใ‚’ๅ…ˆ้ ญใ‹ใ‚‰ $V$ ใจใ™ใ‚‹ใ€‚ $V$ ใฏ0-based indexingใจใ™ใ‚‹ใ€‚

  • ใ‚ฏใ‚จใƒช1ใฏ $X$ ใ‚’ $V$ ใฎๆœซๅฐพใซ่ฟฝๅŠ ใ™ใ‚‹
  • ใ‚ฏใ‚จใƒช2ใฏ $V[P]$ ใ‚’ๅ‡บๅŠ›ใ—ใ€ $P$ ใ‚’1ๅข—ใ‚„ใ™ใ€‚

ABC 402-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅˆๆœŸ็Šถๆ…‹ใงใ€ $C[i=1..N]$ ใฏๆ–™็† $i$ ใซๅซใพใ‚Œใ‚‹ๅซŒใ„ใช้ฃŸๆใฎ้›†ๅˆใจใ™ใ‚‹ใ€ $F[j=1..M]$ ใฏ้ฃŸๆ $j$ ใ‚’ๅซใพใชใ„ๆ–™็†ใฎ้›†ๅˆใจใ™ใ‚‹ใ€‚ $B$ ใ‚’ใพใ ่ฆ‹ใฆใ„ใชใ„ใจใใ€็ญ”ใˆใฏ $C[i=1..N]$ ใฎใ†ใก่ฆ็ด ใŒ็ฉบใชใ‚‚ใฎใฎๆ•ฐใงใ‚ใ‚‹ใ€‚

$j = B_k$ ใซใคใ„ใฆไปฅไธ‹ใฎๆ“ไฝœใ‚’่กŒใ†ใ€‚

  • $a \in F[j]$ ใซใคใ„ใฆใ€ $C[a]$ ใ‹ใ‚‰ $j$ ใ‚’้™คใ
  • ใ“ใฎๆ“ไฝœใฎๅ‰ใซ $C[a]$ ใŒ็ฉบใงใฏใชใใ€ใ“ใฎๆ“ไฝœใฎๅพŒใง $C[a]$ ใŒ็ฉบใซใชใฃใŸใ‚‰ใ€ๆ–™็† $a$ ใ‚’ๆ–ฐใŸใซ้ฃŸในใ‚‰ใ‚Œใ‚‹ใ‚ˆใ†ใซใชใฃใŸใฎใง็ญ”ใˆใ‚’1ๅข—ใ‚„ใ™

ABC 402-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

็ทšๅˆ†ใงใฏใชใ็›ด็ทšใ ใฃใŸใ€‚ๅ•้กŒใ‚’่ชญใฟ้•ใˆใฆๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใ€‚

ใ™ในใฆใฎ็›ด็ทšใฎ็ต„ใŒไบคใ‚ใ‚‹ใจใใ€็ญ”ใˆใฏ $M(M-1)/2$ ใงใ‚ใ‚‹ใ€‚ๅนณ่กŒใช็›ด็ทšใฏไบคใ‚ใ‚‰ใชใ„ใฎใงใ€ๅนณ่กŒใช็›ด็ทšใฎ็ต„ใ‚’ๆฑ‚ใ‚ใฆ็ญ”ใˆใ‚’ๅผ•ใใ€‚

็›ด็ทšใฎๅ‘ใใฏใ€ $S = (A - 1 + B - 1) mod N$ ใงไธ€ๆ„ใซๆฑบใพใ‚‹ใ€‚ใ‚ˆใฃใฆ็›ด็ทšใฎๅ‘ใ $S = 0..(N-1)$ ใซใคใ„ใฆใ€ใใฎใ‚ˆใ†ใช็›ด็ทšใŒ $L$ ๆœฌใ‚ใ‚‹ใจใใ€็ญ”ใˆใ‹ใ‚‰ $L(L-1)/2$ ใ‚’ๅผ•ใ‘ใฐใ‚ˆใ„ใ€‚ใ“ใ‚Œใ‚’ใ™ในใฆใฎ $S$ ใซใคใ„ใฆๆฑ‚ใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

ABC 402-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅŠๅˆ†ๅ…จๅˆ—ๆŒ™ใ ใจใฏๅˆ†ใ‹ใฃใŸใŒใ€TLEใซ่‹ฆใ—ใ‚“ใ ใ€‚ใŠใใ‚‰ใๆƒณๅฎš่งฃๆณ•ใงใฏใชใ„ใŒใ€ๆ•ฐๆ™‚้–“ใ‹ใ‘ใฆใ”ใ‚ŠๆŠผใ—ใŸใ€‚Eๅ•้กŒใŒ่งฃใ‘ใชใใฆFๅ•้กŒใ‚’่งฃใ‘ใ‚‹ใฎใฏใชใœใ ใ‚ใ†ใ€‚

ๅบงๆจ™ใ‚’0-based indexingใจใ™ใ‚‹ใ€‚ๅฏพ่ง’็ทš $|X+Y| = N-1$ ใซใ‚ใ‚‹ $N$ ใƒžใ‚น $(0,N-1)...(N-1,0)$ใซใคใ„ใฆใ€ๅ–ใ‚Šใ†ใ‚‹ $modM$ ใฎๅ€คใ‚’ๅ…จๅˆ—ๆŒ™ใ™ใ‚Œใฐใ‚ˆใ„ใ€‚ไธ€็•ช็ตŒ่ทฏใŒๅคšใ„ $N-2 \choose (N-2)/2$ ใŒ ${18 \choose 9} = 48620$ ใชใฎใงใ€ๅ…จ็ตŒ่ทฏใ‚’ๆŽข็ดขใ™ใ‚Œใฐๅ…จๅˆ—ๆŒ™ใŒ้–“ใซๅˆใ„ใใ†ใงใ‚ใ‚‹ใ€‚ใจใ„ใ†ใ‚ˆใ‚ŠๅพŒใง็ŸฅใฃใŸใŒใ€ไบŒ้ …ไฟ‚ๆ•ฐใฎๅ’Œ $\sum_{i=0}^N {N \choose i} = 2^i$ ใงใ‚ใ‚‹ใ€‚ $(1+1)^n$ ใฎไฟ‚ๆ•ฐใ‹ใ‚‰ๅฐŽๅ‡บใงใใ‚‹ใ€‚

$mod M$ ใฏใ„ใคใ‚‚้€šใ‚Šๆฑ‚ใ‚ใ‚‹ใ€‚ๅทฆไธŠใ‹ใ‚‰ๆกใ‚’ๆœซๅฐพใซๅข—ใ‚„ใ™ใจใใฏ $10accum + digit$ ใ€ๅณไธŠใ‹ใ‚‰ๆกใ‚’ๅ…ˆ้ ญใซๅข—ใ‚„ใ™ใจใใฏ $digit 10^{width} + accum$ ใง็ดฏ็ฉใ™ใ‚‹( $width$ ใฏๅณไธ‹ใ‹ใ‚‰ใฎใƒžใƒณใƒใƒƒใ‚ฟใƒณ่ท้›ข)ใ€‚ใ“ใฎใจใ็ตŒ่ทฏไธญใง $modM$ ๆผ”็ฎ—ใ‚’ๅ–ใ‚‹ใจTLEใ™ใ‚‹ใ€‚้ซ˜ใ€…10้€ฒๆ•ฐ9ๆกใชใฎใงใ€ $mod M$ ใ‚’ๅ–ใ‚‹ใฎใฏๆœ€ๅพŒใซใพใจใ‚ใฆใงๆง‹ใ‚ใชใ„ใ€‚

ใ‚ใ‚‹ๅฏพ่ง’็ทšใฎใƒžใ‚นใซใคใ„ใฆใ€ๅทฆไธŠใ‹ใ‚‰ใฎ็ดฏ็ฉๅ€คใŒ $a \in 0..(M-1)$ ใ‚’ๅ–ใ‚‹ใจใ™ใ‚‹ใ€‚ ๅณไธ‹ใ‹ใ‚‰ใฎ็ดฏ็ฉๅ€ค $S$ ใซใคใ„ใฆใ€ $(a + max(S)) mod M$ ใฏๅธธใซๅ€™่ฃœใซใชใ‚‹ใ€‚ $M - a$ ๆœชๆบ€ใงๆœ€ๅคงใฎๅ€ค $b \in S$ ใŒใ‚ใ‚Œใฐ $a + b$ ใŒ็ญ”ใˆใฎๅ€™่ฃœใซใชใ‚‹ใ€‚ใ“ใ‚ŒใฏไบŒๅˆ†ๆŽข็ดขใงๆฑ‚ใพใ‚‹ใ€‚ใ‚ปใƒณใƒใƒใƒซใจใ—ใฆ $min(S) + M$ ใ‚’ $S$ ใซๅŠ ใˆใฆใŠใใจๅ‡ฆ็†ใ—ใ‚„ใ™ใ„ใ€‚

ใจใซใ‹ใ $mod M$ ใ‚’ใงใใ‚‹ใ ใ‘ๆธ›ใ‚‰ใ™ใจTLEใ‚’ๅ›ž้ฟใงใใ‚‹ใ€‚ใ ใ„ใŸใ„ๅ…ฌๅผ่งฃ่ชฌ้€šใ‚Šใ ใŒใ€ใชใœTLEใ—ใŸใฎใ ใ‚ใ†ใ€‚

ABC 403-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚่งฃใใฎใŒ้…ใ„ใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๆทปใˆๅญ—ใ‚’2ใšใคๅข—ใ‚„ใ™ใ€‚

ABC 403-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

? ใ‚’็ฝฎใๆ›ใˆใ‚‹ๆ–นๆณ•ใฏๅฟ…ใš $26^4$ ้€šใ‚Šใชใฎใงใ€ $T$ ใ‚’็ฝฎใๆ›ใˆใฆ $S$ ใซใ—ใ€ $S$ ใŒ $U$ ใ‚’ๅซใ‚€ใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚

ABC 403-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$PS[X]$ ใ‚’ใƒฆใƒผใ‚ถ $X$ ใŒ้–ฒ่ฆงใงใใ‚‹ใƒšใƒผใ‚ธใ€ $GS[X]$ ใ‚’ใƒฆใƒผใ‚ถ $X$ ใŒใ™ในใฆใฎใƒšใƒผใ‚ธใ‚’้–ฒ่ฆงใงใใ‚‹ใ‹ใฉใ†ใ‹ใจใ™ใ‚‹ใ€‚ $PS[X]$ ใฎๅˆๆœŸๅ€คใฏ็ฉบ้›†ๅˆใ€ $GS[X]$ ใฎๅˆๆœŸๅ€คใฏ $False$ ใงใ‚ใ‚‹ใ€‚

  • ใ‚ฏใ‚จใƒช1ใฏ $PS[X]$ ใซ $Y$ ใ‚’่ฟฝๅŠ ใ™ใ‚‹
  • ใ‚ฏใ‚จใƒช2ใฏ $GS[X]$ ใ‚’ $True$ ใซใ™ใ‚‹
  • ใ‚ฏใ‚จใƒช3ใซใคใ„ใฆ $Y \in PS[X] \lor GS[X]$ ใชใ‚‰ Yes ใ€ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ABC 403-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่‰ฒใ€…่ฆ‹่ฝใจใ—ใŒๅคšใ„ใ€‚

$A$ ใซ $a$ ใŒ็พใ‚Œใ‚‹ๅ›žๆ•ฐใ‚’ $C[a]$ ใจใ™ใ‚‹ใ€‚ $|C|$ ใ‚’ $A$ ใซ็พใ‚Œใ‚‹ๆ•ฐๅ€คใฎ้‡่ค‡็„กใ—็จฎ้กžใจใ™ใ‚‹ใ€‚

$D = 0$ ใฎใจใใฏใ€็ญ”ใˆใฏ $N - |C|$ ใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ๅฟ˜ใ‚Œใ‚‹ใจTLEใ™ใ‚‹ใ€‚

$D &gt; 0$ ใฎใจใใ‚’่€ƒใˆใ‚‹ใ€‚ $a$ ใ‚’็ญ‰ๅทฎๆ•ฐๅˆ— $a, a+D, a+2D, ...$ ใซๅˆ†่งฃใ™ใ‚‹ใ€‚ใ“ใฎๅˆ†่งฃใฏ $O(N)$ ใงใงใใ‚‹ใ€‚ๅˆ†่งฃใ—ใŸ็ญ‰ๅทฎๆ•ฐๅˆ— $P$ ใซใคใ„ใฆใ€็ญ‰ๅทฎๆ•ฐๅˆ—ใฎใใ‚Œใžใ‚Œใฎๆˆๅˆ† $a$ ใŒ $A$ ใซ็พใ‚Œใ‚‹ๅ›žๆ•ฐ $T = C[a] : a \in P$ ใ‚’่€ƒใˆใ‚‹ใ€‚

$\sum T$ ใŒๆœ€ๅคงใซใชใ‚‹ใ‚ˆใ†ใซ $T$ ใ‚’ไธŠๆ‰‹ใ้–“ๅผ•ใใ€‚ใ“ใ‚Œใฏๅ‹•็š„่จˆ็”ปๆณ•ใงใงใใ‚‹ใ€‚ $T$ ใฎ $i \in |T|$ ็•ช็›ฎใฎ่ฆ็ด ใ‚’้–“ๅผ•ใ„ใŸๆ™‚ใฎ $T[1..i]$ ใฎ่ฆ็ด ๆ•ฐใ‚’ $DP[i][0]$ , ้–“ๅผ•ใ‹ใชใ„ใจใใฎ่ฆ็ด ๆ•ฐใ‚’ $DP[i][1]$ ใจใ™ใ‚‹ใ€‚ไบŒๅ›ž้€ฃ็ถšใง้–“ๅผ•ใใ“ใจใฏใงใใฆใ‚‚ใ€ไบŒๅ›ž้€ฃ็ถšใง้–“ๅผ•ใ‹ใชใ„ใฎใฏ่จฑๅฎนใ•ใ‚Œใชใ„ใฎใงใ€

  • $DP[0][0] = 0$, $DP[0][1] = T[1]$
  • $DP[i+1][0] = max(DP[i][0], DP[i+1][1])$
  • $DP[i+1][1] = DP[i][0] + T[i]$

ใงๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ใ“ใฎใจใ $(\sum T) - max(DP[|T|][])$ ใŒใ€ใ‚ใ‚‹็ญ‰ๅทฎๆ•ฐๅˆ—ใซใคใ„ใฆๆฑ‚ใ‚ใ‚‹็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ใ™ในใฆใฎ็ญ‰ๅทฎๆ•ฐๅˆ—ใซใคใ„ใฆๆฑ‚ใ‚ใŸๅ’ŒใŒๆœ€็ต‚็š„ใช็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ABC 403-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใƒญใƒผใƒชใƒณใ‚ฐใƒใƒƒใ‚ทใƒฅใงใพใจใ‚ใชใŒใ‚‰้›†ๅˆใ‚’็ฎก็†ใจๅˆ†ใ‹ใฃใŸใŒๆ‰‹ใ“ใšใฃใŸใ€‚

ๆ–‡ๅญ—ๅˆ— $T$ ใฎๅ…ˆ้ ญ $k=1..|T|$ ๆ–‡ๅญ—ใซใคใ„ใฆใฎใƒญใƒผใƒชใƒณใ‚ฐใƒใƒƒใ‚ทใƒฅใ‚’ $H(T,k)$ ใจใ™ใ‚‹ใ€‚

  • $S_1$ ใซๅซใพใ‚Œใ‚‹ๆ–‡ๅญ—ๅˆ— $T$ ใฎ $H(T,|T|)$ ใฎ้›†ๅˆใ‚’ $X$ ใจใ™ใ‚‹ใ€‚ $S_1$ ไธธใ”ใจใฎใƒใƒƒใ‚ทใƒฅใงใ‚ใ‚‹ใ€‚
  • $S_2$ ใซๅซใพใ‚Œใ‚‹ $j \in 1..|S_2|$ ็•ช็›ฎใฎๆ–‡ๅญ—ๅˆ— $T = S_{2,j}$ ใซๆณจ็›ฎใ™ใ‚‹ใ€‚ๅ€คใŒ $h = H(T,1..|T|)$ ใจใชใ‚‹ใ‚ˆใ†ใชๆ–‡ๅญ—ๅˆ—ใฎๆทปใˆๅญ—ใฎ้›†ๅˆใ‚’ $Y[h]$ ใจใ™ใ‚‹ใ€‚ $S_2$ ใŒๆŒใคๆŽฅ้ ญ่พžใฎๅ€™่ฃœใงใ‚ใ‚‹ใ€‚
  • $S_2$ ใฎ $j$ ็•ช็›ฎใฎๆ–‡ๅญ—ๅˆ—ใŒใ€ $S_1$ ใฎใ„ใšใ‚Œใ‹ใฎ่ฆ็ด ใŒๆŽฅ้ ญ่พžใซใชใ‚‹ใ‹ใฉใ†ใ‹ใ‚’ $U[j]$ ใจใ—ใฆๆŒใคใ€‚ๆŽฅ้ ญ่พžใชใ‚‰1ใ€ๆŽฅ้ ญ่พžใงใชใ‘ใ‚Œใฐ0ใงใ‚ใ‚‹ใ€‚ $U$ ใฏ0-based indexingใจใ—ใฆใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใจใ—ใฆๆŒใคใ€‚

ใ‚ฏใ‚จใƒช $T_i = 2$ ใŒๆฅใŸๆ™‚็‚นใงใ€ $|S_2| - \sum U$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใ‚ฏใ‚จใƒช $X,Y,U$ ใ‚’ๆ›ดๆ–ฐใ™ใ‚‹ๆ–นๆณ•ใ‚’ๅฎšใ‚ใ‚‹ใ€‚

ใ‚ฏใ‚จใƒช $T_i = 1$ ใ‚’ใ“ใ†ๅ‡ฆ็†ใ™ใ‚‹ใ€‚ $h = H(S, |S|)$ ใจใ—ใฆใ€ $j \in Y[h]$ ใซใคใ„ใฆใ€ $U[j] = 1$ ใจใ™ใ‚‹ใ€‚ใใฎๅพŒใฎ $S$ ใซ $h$ ใ‚’่ฟฝๅŠ ใ—ใ€ $Y[h]$ ใ‚’็ฉบใซใ™ใ‚‹ใ€‚็ฉบใซใ—ๅฟ˜ใ‚Œใ‚‹ใจTLEใ™ใ‚‹ใ€‚

ใ‚ฏใ‚จใƒช $T_i = 2$ ใ‚’ใ“ใ†ๅ‡ฆ็†ใ™ใ‚‹ใ€‚ใ‚ฏใ‚จใƒชใŒๆฅใ‚‹ๅ‰ใฎ $|S_2|$ ใ‚’ $L$ ใจใ™ใ‚‹ใ€‚

  • $U[L] = 1$ ใชใ‚‰ๆ—ขใซ $S_1$ ใฎๆŽฅ้ ญ่พžใชใฎใงไฝ•ใ‚‚ใ—ใชใ„
  • $U[L] = 0$ ใ‹ใค $h = H(S, 1..|S|)$ ใจใ—ใฆใ€ใ„ใšใ‚Œใ‹ใฎ $h$ ใŒ $X$ ใซๅซใพใ‚Œใ‚‹ใชใ‚‰ $U[L] = 1$ ใจใ™ใ‚‹ใ€‚ๆ—ขใซ $T$ ใฏ $S_1$ ใฎๆŽฅ้ ญ่พžใงใ‚ใ‚‹ใ€‚
  • $U[L] = 0$ ใ‹ใค $h = H(S, 1..|S|)$ ใจใ—ใฆใ€ใ„ใšใ‚Œใฎ $h$ ใ‚‚ $X$ ใซๅซใพใชใ„ใชใ‚‰ $h$ ใใ‚Œใžใ‚Œใซใคใ„ใฆ $Y[h]$ ใซ $L$ ใ‚’ ่ฟฝๅŠ ใ™ใ‚‹ใ€‚ไปŠใฏ $T$ ใฏ $S_1$ ใฎๆŽฅ้ ญ่พžใงใฏใชใ„ใŒใ€ๅฐ†ๆฅใฏๆŽฅ้ ญ่พžใซใ•ใ‚Œใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใ€ใจใ„ใ†ไบˆ็ด„ใงใ‚ใ‚‹ใ€‚
  • ไธŠ่จ˜ใฎใ„ใšใ‚Œใฎๅ ดๅˆใ‚‚ใ€ $L$ ใซ1่ถณใ™

ABC 403-F

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

$O(N^2)$ ใŒ่จฑใ•ใ‚Œใ‚‹ใฎใง็ทๅฝ“ใŸใ‚Šใ™ใ‚‹ใ€‚ $N$ ใ‚’ๅผใซใ—ใŸๆ™‚ใฎๆผ”็ฎ—ๅญใฎๆ•ฐใฏ $O(log(N))$ ใงใ‚ใ‚‹(ๅŒใ˜ๆ•ฐๅญ—ใ‚’10ๅ›ž็จ‹ๅบฆใ—ใ‹่ถณใ•ใชใ„ใฎใง)ใ€‚

$N = A + B$ ใจ $N = A \times B$ ใซใคใ„ใฆใƒกใƒขๅŒ–ๅ†ๅธฐใ—ใชใŒใ‚‰็ทๅฝ“ใŸใ‚Šใ—ใฆใ€ๆœ€ใ‚‚ๆ–‡ๅญ—ๅˆ—้•ทใŒ็Ÿญใ„ใ‚‚ใฎใ‚’่ฟ”ใ™ใ€‚ 1,11,111,1111 ใ‚’ใใฎใพใพๆ–‡ๅญ—ๅˆ—ใซใ—ใŸใ‚‚ใฎใ‚’ใ‚ใ‚‰ใ‹ใ˜ใ‚็”จๆ„ใ—ใฆใŠใใ€‚ $A,B$ ใฎๆ–‡ๅญ—ๅˆ—่กจ็พใ‚’ใใ‚Œใžใ‚Œใ‚’ๆ‹ฌๅผงใงๅ›ฒใ‚€ใ‹ใฉใ†ใ‹ๅˆคๅฎšใ™ใ‚‹ใ€‚

$A op B$ ใฎ $B$ ใซๆ‹ฌๅผงใŒ่ฆใ‚‹ใ‹ใฉใ†ใ‹ใฏใ€ $A$ ใฎๅ…ˆ้ ญใ‹ใ‚‰ไปฅไธ‹ใฎ้€šใ‚Š่ชฟในใ‚‹ใ€‚ $B$ ใ‚‚ๅŒๆง˜ใงใ‚ใ‚‹ใ€‚

  • () ๅ†…ใฏ่ชฟในใชใ„ใ€‚ใ“ใ‚Œใฏๅ…ฅใ‚Œๅญใฎๆทฑใ•ใŒ0ไปฅๅค–ใ‹ใฉใ†ใ‹ใงๅˆ†ใ‹ใ‚‹ใ€‚ ( ใง1ๆทฑใใ€ ) ใง1ๆต…ใใ™ใ‚‹ใ€‚
  • $op = \times$ ใง $+$ ใŒๅ‡บใŸใ‚‰ใ€ $B$ ใซๆ‹ฌๅผงใŒ่ฆใ‚‹ใ€‚ $op = +$ ใฏ่ชฟในใชใใฆใ‚ˆใ„ใ€‚

ABC 404-A

ใƒใƒใƒฃใงใฏใชใใ€ไธ€ๅ•ใšใค่งฃใ„ใŸใ€‚Eๅ•้กŒใŒใ‚ใ‹ใ‚‰ใชใ„ใ€‚

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ๅ‡บ็พใ—ใŸๆ–‡ๅญ—ใ‚’ๆ•ฐใˆใ€ๅ‡บ็พใ™ใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„ๆ–‡ๅญ— a-z ใใ‚Œใžใ‚Œใซใคใ„ใฆๅ‡บ็พใ—ใชใ‹ใฃใŸใ‚‚ใฎใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ABC 404-B

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

่‰ฒใ‚’ๅค‰ใˆใฆใ‹ใ‚‰ๅ›ž่ปขใ™ใ‚‹ใ“ใจใจใ€ๅ›ž่ปขใ—ใฆใ‹ใ‚‰่‰ฒใ‚’ๅค‰ใˆใ‚‹ใ“ใจใฏ็ญ‰ไพกใงใ‚ใ‚‹(ๅ›ž่ปขๅพŒใฎๅ ดๆ‰€ใฎ่‰ฒใ‚’ๅค‰ใˆใ‚Œใฐใ„ใ„ใฎใง)ใ€‚ใ‚ˆใฃใฆ $r = 0..3$ ๅ›ž่ปขใ—ใŸๆ™‚ใฎๆ“ไฝœๅ›žๆ•ฐใฏใ€ $S$ ใ‚’ๅ›ž่ปขๅพŒใซ $S,T$ ใง่‰ฒใŒ้•ใ†ใƒžใ‚นใŒ $C_i$ ๅ€‹ใจใ—ใฆใ€ $i + C_i$ ใงใ‚ใ‚‹ใ€‚ใ“ใฎๆœ€ๅฐๅ€คใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

ABC 404-C

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ใ‚ฐใƒฉใƒ•ใซใ‚ตใ‚คใ‚ฏใƒซใŒใ‚ใ‚‹ใ‹ใ€ใจๅ•้กŒใ‚’่ชญใฟ้•ใˆใฆๆ™‚้–“ใ‚’ๆบถใ‹ใ—ใŸใ€‚ใ„ใฃใŸใ„ไฝ•ใ‚’ใ—ใฆใ„ใ‚‹ใฎใ ใ‚ใ†ใ€‚

่พบใฎๆ•ฐใŒ $N$ ใงใ€้ ‚็‚นๆ•ฐ $N$ ใฎๅ”ฏไธ€ใฎ้€ฃ็ตๆˆๅˆ†ใ‚’ๆŒใกใ€ใ™ในใฆใฎ้ ‚็‚นใฎๆฌกๆ•ฐใŒ2ใชใ‚‰ Yes ใ€ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚ๆฌกๆ•ฐใ‚’็„ก่ฆ–ใ™ใ‚‹ใจใ€็ตใณ็›ฎใŒใ‚ใ‚‹ใ‚ฐใƒฉใƒ•ใ‚’ใ‚ตใ‚คใ‚ฏใƒซใ‚ฐใƒฉใƒ•ใ‚’่ชค่ชใ™ใ‚‹ใ€‚

ABC 404-D

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

STLใฎๆŸ”่ปŸๆ€งใซๅŠฉใ‘ใ‚‰ใ‚ŒใŸใ€‚

std::map ใฏ std::vector<int> ใ‚’ใ‚ญใƒผใซๆŒใคใ“ใจใŒใงใใ‚‹ใ€‚ใ“ใ‚Œใ‚’ๅˆฉ็”จใ—ใฆDPใ‚’ไฝœใ‚‹ใ€‚

$DP[V,C]$ ใฏใ€ๅ‹•็‰ฉ $1..M$ ใ‚’่ฆ‹ใŸๅ›žๆ•ฐใฎใƒ™ใ‚ฏใƒˆใƒซ $V[1..M]$ ใฎใจใใซใ€ๅ‹•็‰ฉๅœ’ใฎๆœ€ไฝŽๅ…ฅๅ ดๆ–™ $C$ ใจใ„ใ†้€ฃๆƒณ้…ๅˆ—ใจใ™ใ‚‹ใ€‚ใŸใ ใ— $V \in 0..2$ ใจใ—ใ€2ๅ›žไปฅไธŠ่ฆ‹ใŸใ‚‰2ๅ›žใจๅŒใ˜ใจใฟใชใ™ใ€‚ๅˆๆœŸๅ€คใฏ $DP[0] = 0$ ใ€ใใ‚Œไปฅๅค–ใฏ $DP[] = \infty$ ใจใ™ใ‚‹ใŒใ€ $DP[] = \infty$ ใชใ‚‰ $DP$ ใซ่ผ‰ใ›ใชใ„ใ€‚

ๅŒใ˜ๅ‹•็‰ฉๅœ’ใ‚’ไบŒๅบฆใพใงใฏ่ฆ‹ใ‚‹(ไธ‰ๅบฆ่ฆ‹ใ‚‹ๅฟ…่ฆใฏใชใ„)ใฎใงใ€ๅ‹•็‰ฉๅœ’ใ‚’่ฆ‹ใ‚‹้ †็•ชใ‚’ $P[1..2N] = 1..N, 1..N$ ใจใ™ใ‚‹ใ€‚ $DP[0,0]$ ใฏๅ‹•็‰ฉๅœ’ใ‚’ๅ…จใ่ฆ‹ใฆใ„ใชใ‘ใ‚Œใฐใ‚ณใ‚นใƒˆ0ใจใ„ใ†ๆ„ๅ‘ณใงใ‚ใ‚‹ใ€‚

ๅ‹•็‰ฉๅœ’ $k=P[i]$ ใงใ‚ณใ‚นใƒˆ $C_i$ ใงๅ‹•็‰ฉ $U$ ใ‚’่ฆ‹ใ‚‹ใ€‚ $T$ ใฏใƒ™ใ‚ฏใƒˆใƒซใงใ€ๅ‹•็‰ฉๅœ’ $k$ ๅ‹•็‰ฉ $j$ ใ‚’่ฆ‹ใ‚‰ใ‚Œใ‚‹ใจใใซ $U[j] = 1$ ่ฆ‹ใ‚‰ใ‚Œใชใ„ใจใใฏ $U[j] = 0$ ใงใ‚ใ‚‹ใ€‚DPใฎๆ›ดๆ–ฐๅผใฏไปฅไธ‹ใฎ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

  • $S$ ใฏใ€ๅ€คใŒ $\infty$ ใงใชใ„ $DP$ ใฎใ™ในใฆใฎ่ฆ็ด ใจใ™ใ‚‹
  • $S+T = min(2, S[j] + T[j])$ ใจใ™ใ‚‹
  • $DP[S+T] = min(DP[S+T], DP[S] + C_i)$

็ญ”ใˆใฏใ€ๅ‹•็‰ฉใ‚’ไบŒๅ›ž่ฆ‹ใŸใจใ„ใ†ใ‚ญใƒผใซๅฏพใ™ใ‚‹ๅ€ค $V = (2,2,...,2) , DP[V]$ ใงใ‚ใ‚‹ใ€‚

$DP$ ใฎ่ฆ็ด ใฏ้ซ˜ใ€… $1+2^{2N}$ ๅ€‹ใชใฎใงใ€ๅˆถ็ด„ใ‹ใ‚‰ 1048577ๅ€‹ใงใ‚ใ‚‹ใ€‚่จˆ็ฎ—้‡ใฏ $NN4^{N}$ ใ ใŒ้–“ใซๅˆใฃใฆใ—ใพใฃใŸ(60 ms)ใ€‚

ๅฎŸใฏๅ‹•็‰ฉๅœ’ใ‚’ $3^N$ ใฎๅ…จๆŽข็ดขใ™ใ‚Œใฐใ‚ˆใ‹ใฃใŸใ€‚

ABC 404-E

ใ‚ณใƒผใƒ‰ใฏใ“ใกใ‚‰

ไฝ•ๆ™‚้–“่€ƒใˆใฆใ‚‚ใ‚ใ‹ใ‚‰ใชใ„ใ€‚MSTใ‚’ไฝœใ‚‹ๅ•้กŒใ ใจๆ€ใฃใŸใ‚‰ๅ…จใ้•ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใ‚’ใปใผใใฎใพใพๅฎŸ่ฃ…ใ—ใฆ่งฃ่ชฌACใ—ใŸใ€‚ๅพŒใ‚ใ‹ใ‚‰่€ƒใˆใ‚‹ๅ…ธๅž‹ใงใ‚ใ‚‹ใ€‚

MSTใ‚’ไฝœใ‚Œใฐใ‚ˆใ„ใฎใ ใŒใ€ๅˆๆตใ™ใ‚‹้ ‚็‚นใ‚’ไปปๆ„ใ ใจๆ€ใฃใŸใฎใง่จˆ็ฎ—้‡ใŒๅคšใ™ใŽใŸใ€‚้ ‚็‚น $i$ ใซ้ ‚็‚น $i+1$ ไปฅ้™ใ‚’ใ™ในใฆๅˆๆตใ•ใ›ใ‚‹ใจๅ…ฌๅผ่งฃ่ชฌใจๅŒใ˜่€ƒใˆๆ–นใซใชใ‚‹ใ€‚

โš ๏ธ **GitHub.com Fallback** โš ๏ธ