AGC lessons learned1 - zettsu-t/zettsu-t.github.io GitHub Wiki

AtCoder Grand Contest lessons learned

ABC 6,8ๅ•ไฝ“ๅˆถ(126..ๆœ€ๆ–ฐ)ใฎDๅ•้กŒใ‚’ใ ใ„ใŸใ„่งฃใ„ใŸใฎใงใ€AGCใ‚’่งฃใ„ใฆใฟใพใ™ใ€‚AGCใซใ‚‚็ฐdiffใŒใ‚ใ‚Šใพใ™ใ€‚

AGC 002-A

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

ไธๅฏงใซๅ ดๅˆๅˆ†ใ‘ใ™ใ‚‹

  • $0 < a \leq b$ ใชใ‚‰็ฉใฏๆญฃ
  • $a \leq b < 0$ ใชใ‚‰ใ€aไปฅไธŠbไปฅไธ‹ใฎๆ•ดๆ•ฐใฎๆ•ฐ $b-a+1$ ใŒๅถๆ•ฐๅ€‹ใชใ‚‰็ฉใฏๆญฃใ€ๅฅ‡ๆ•ฐๅ€‹ใชใ‚‰็ฉใฏ่ฒ 
  • ไธŠ่จ˜ไปฅๅค–ใ€ใคใพใ‚Š $a \leq 0 \leq b$ ใชใ‚‰็ฉใฏ0

AGC 002-B

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

ไธๅฏงใซใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ทใƒงใƒณใ™ใ‚‹

ไธ็ขบๅฎšใชใฎใฏ่ตค็™ฝใฉใกใ‚‰ใฎใƒœใƒผใƒซใ‚’ๆธกใ™ใ‹ใงใ‚ใฃใฆใ€ใใ‚Œใžใ‚Œใฎ็ฎฑใซไฝ•ๅ€‹ใƒœใƒผใƒซใŒใ‚ใ‚‹ใ‹ใฏๆฑบๅฎš็š„ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆๆ“ไฝœ 1..M ใ‚’้ †็•ชใซๅฎŸ่กŒใ—ใฆใ€็ฎฑใซ่ตคใ„ใƒœใƒผใƒซใŒใ‚ใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใ€ใ‚‚ใ—ใใฏใใ†ใงใฏใชใ„(็ฎฑใŒ็ฉบใ‹ใ€็™ฝใ„ใƒœใƒผใƒซใ—ใ‹ใชใ„)ใ‹ใ‚’ไผๆฌใ™ใ‚‹ใ€‚

  • ็ฎฑ $X$ ใซ่ตคใ„ใƒœใƒผใƒซใŒใ‚ใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใชใ‚‰ใ€ๆ“ไฝœๅพŒใฎ็ฎฑ $Y$ ใ‚‚่ตคใ„ใƒœใƒผใƒซใŒใ‚ใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„
  • ็ฎฑ $X$ ใซ่ตคใ„ใƒœใƒผใƒซใŒใชใ‘ใ‚Œใฐใ€ๆ“ไฝœๅพŒใฎ็ฎฑ $Y$ ใซ่ตคใ„ใƒœใƒผใƒซใŒใ‚ใ‚‹ใ‹ใฉใ†ใ‹ใฏๅค‰ใ‚ใ‚‰ใชใ„
  • ๆ“ไฝœๅพŒใซ็ฎฑ $X$ ใŒ็ฉบใซใชใฃใŸใ‚‰ใ€็ฎฑ $X$ ใซ่ตคใ„ใƒœใƒผใƒซใฏ็„กใใชใ‚‹
  • ๆ“ไฝœๅพŒใซ็ฎฑ $X$ ใŒ็ฉบใงใชใ‘ใ‚Œใฐใ€็ฎฑ $X$ ใซ่ตคใ„ใƒœใƒผใƒซใŒใ‚ใ‚‹ใ‹ใฉใ†ใ‹ใฏๅค‰ใ‚ใ‚‰ใชใ„

AGC 002-C

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

้€†ใ‹ใ‚‰่€ƒใˆใ‚‹ใ€‚

็Ÿญใ„ใƒญใƒผใƒ—ใ‹ใ‚‰้ †ใซ็ตๅˆใ—ใฆใ€ๆœ€ๅพŒใซ $N$ ๆœฌใฎใƒญใƒผใƒ—ใ‚’็ตๅˆใ—ใŸใ‚‚ใฎใ‚’่€ƒใˆใ‚‹ใ€‚

้šฃใ‚Šๅˆใ†2ๆœฌใƒญใƒผใƒ—ใ‚’็ตๅˆใ—ใฆ้•ทใ• $L$ ไปฅไธŠใซใชใ‚‹ใ‚‚ใฎใŒใชใ‘ใ‚Œใฐใ€็ตๅˆใ—ใฆ $L$ ไปฅไธŠใฎ2ๆœฌใฎใƒญใƒผใƒ—ใ‚’ใปใฉใใ“ใจใŒใงใใชใ„ใฎใงใ€็ญ”ใˆใฏ Impossible ใงใ‚ใ‚‹ใ€‚

ใใ†ใงใชใ‘ใ‚Œใฐ็ญ”ใˆใฏ Possible ใงใ‚ใ‚‹ใ€‚้šฃใ‚Šๅˆใ†2ๆœฌใƒญใƒผใƒ—ใ‚’็ตๅˆใ—ใŸใจใใฎ้•ทใ•ใŒ $L$ ไปฅไธŠใซใชใ‚‹ใ‚ˆใ†ใชใƒญใƒผใƒ—ใฎ็ต„ $(i,i+1)$ ใ‚’ใ€็ตๅˆใ™ใ‚‹ๅ€™่ฃœใจใ—ใฆๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใ‚‹ใ€‚

ใ‚ญใƒฅใƒผใ‹ใ‚‰ๆœ€ใ‚‚้•ทใ•ใŒ็Ÿญใ„ใƒญใƒผใƒ—ใฎ็ต„ $(p,p+1)$ ใ‚’ๅ–ใ‚Šๅ‡บใ™ใ€‚ใ“ใ‚Œใฏใƒญใƒผใƒ— $[l,..p]$ ใจ $[p+1,..r]$ ใ‚’็ตๅˆใ™ใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ™ใ‚‹ใ€‚

  • $(p,p+1)$ ใ‚’็ตๅˆๆธˆใชใ‚‰ไฝ•ใ‚‚ใ—ใชใ„
  • $(p,p+1)$ ใ‚’ๆœช็ตๅˆใชใ‚‰็ตๅˆใ™ใ‚‹ใ€‚ใƒญใƒผใƒ—ใฎ็ต„ใฏไธ€ใพใจใพใ‚ŠใฎๅŒบ้–“ $[l,..p,p+1,..r]$ ใ‚’ๆˆใ™ใฎใงใ€ๅทฆๅณใฎๅŒบ้–“ใจ็ตๅˆใ™ใ‚‹ใ“ใจใ‚’ๅ€™่ฃœใจใ—ใฆใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใ‚‹ใ€‚
    • $l > 1$ ใชใ‚‰ $l-1$ ใ‚’ๅซใ‚€ๅŒบ้–“ $[a,l-1]$ , $[l,r]$ ใ‚’็ตๅˆใ™ใ‚‹ใ‚ˆใ†ใซใ€ๅ€™่ฃœ $(l-1,l)$ ใ‚’ใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใ‚‹ใ€‚
    • $r < N$ ใชใ‚‰ $r+1$ ใ‚’ๅซใ‚€ๅŒบ้–“ $[l,r]$ , $[r+1,b]$, ใ‚’็ตๅˆใ™ใ‚‹ใ‚ˆใ†ใซๅ€™่ฃœ $(r,r+1)$ ใ‚’ใ‚ญใƒฅใƒผใซ่ผ‰ใ›ใ‚‹

ใƒญใƒผใƒ—ใ‚’็ตๅˆๆธˆใ‹ใฉใ†ใ‹ใฏใ€union-findๆœจใง็ฎก็†ใ™ใ‚‹ใ€‚ใ‚ใ‚‹ใƒญใƒผใƒ—ใซใฉใฎใƒญใƒผใƒ—ใ‚’็ตๅˆใ—ใŸใ‹ใฏใ€ใƒญใƒผใƒ—ใฎไปฃ่กจๅ…ƒใซ std::set<Num> ใงๆŒใŸใ›ใฆใ€็ตๅˆใ—ใฆใ„ใ‚‹ใƒญใƒผใƒ—ใฎๆœ€ๅฐๅ€คใจๆœ€ๅคงๅ€คใจ้•ทใ•ใŒๅˆ†ใ‹ใ‚‹ใ€‚ใƒญใƒผใƒ—ใ‚’็ตๅˆใ—ใŸใจใใ€่ฆ็ด ๆ•ฐใฎๅฐ‘ใชใ„ๆ–นใ‚’่ฆ็ด ๆ•ฐใฎๅคšใ„ๆ–นใซใƒžใƒผใ‚ธใ—ใฆใ€็ตๅˆใ—ใŸใƒญใƒผใƒ—ใฎไปฃ่กจๅ…ƒใซ้–ข้€ฃไป˜ใ‘ใ‚‹ใ€‚

ใ“ใ‚Œใ‚’ $N-1$ ๅ›ž็นฐใ‚Š่ฟ”ใ™ใจ $(p,p+1)$ ใฎ็ตๅˆ้ †ใŒๆฑ‚ใพใ‚‹ใฎใงใ€้€†้ †ใซใ—ใฆใปใฉใ้ †็•ชใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใ‚’่ชญใ‚€ใจใ€ๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใ‚’ไฝฟใ†ใพใงใ‚‚ใชใใ€้šฃใ‚Šๅˆใ†2ๆœฌใƒญใƒผใƒ—ใ‚’็ตๅˆใ—ใŸใจใใฎ้•ทใ•ใŒ $L$ ไปฅไธŠใซใชใ‚‹ใ‚ˆใ†ใชใƒญใƒผใƒ—ใฎ็ต„ $(i,i+1)$ ใ‹ใ‚‰ๅทฆๅณใซ็ตๅˆใ™ใ‚Œใฐใ‚ˆใ‹ใฃใŸใ€‚

AGC 003-A

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

ๆฑ่ฅฟใฎใ†ใกใ€ไธ€ๆ–นใซ0ๅ›žใ€ไป–ๆ–นใซ1ๅ›žไปฅไธŠ็งปๅ‹•ใ™ใ‚‹ใชใ‚‰้€†ๆ–นๅ‘ใซๆ‰“ใกๆถˆใ—ๅˆใ†ใ“ใจใŒใงใใชใ„ใฎใงๅฎถใซๆˆปใ‚Œใชใ„ใ€‚ๅ—ๅŒ—ใ‚‚ๅŒๆง˜ใงใ‚ใ‚‹ใ€‚

AGC 003-B

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

GreedyใงใฏWAใ™ใ‚‹ใจๆ€ใฃใŸใฎใ ใŒใ€‚

DPใŒๆญฃ่งฃใงใ‚ใ‚‹ใ€‚ $(i,i), (i+1,i+1)$ ใจ $(i,i+1), (i,i+1)$ ใงใƒšใ‚ขใฎๆ•ฐใฏๅŒใ˜ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ $(i,i+1)$ ใ‚’1ใคไฝœใ‚‹ใ‹ไฝœใ‚‰ใชใ„ใฉใ†ใ‹ใงDPใ™ใ‚‹ใ€‚

$DP[i][0]$ ใ‚’ $i$ ใพใง่ฆ‹ใŸๆ™‚ $(i,i+1)$ ใ‚’ไฝœใ‚‰ใชใ„ใจใใฎใƒšใ‚ขใฎๆœ€ๅคงๆ•ฐใ€ $DP[i][1]$ ใ‚’ $i$ ใพใง่ฆ‹ใŸๆ™‚ $(i,i+1)$ ใ‚’ไธ€ใคไฝœใ‚‹ใƒšใ‚ขใฎๆœ€ๅคงๆ•ฐใจใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€ค $DP[0][] = 0$ ใจใ™ใ‚‹ใ€‚ใพใŸ $(i,i+1)$ ใ‚’ใƒšใ‚ขใซใ—ใชใ„ใจใใฎ $A$ ใ‚’ $A0$ ใ€ $(i,i+1)$ ใ‚’ใƒšใ‚ขใซใ—ใŸใจใใฎ $A1$ ใจใ—ใ€ $A0 = A1 = A$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚

$DP[i][0]$ ใฏ $max(DP[i-1][0] + \lfloor A0_i / 2 \rfloor, DP[i-1][1] + \lfloor A1_i / 2 \rfloor)$ ใงใ‚ใ‚‹ใ€‚

$DP[i][1]$ ใฏ $max(DP[i-1][0] + 1 + \lfloor (A0_i - 1) / 2 \rfloor, DP[i-1][1] + 1 + \lfloor (A1_i - 1) / 2 \rfloor)$ ใงใ‚ใ‚‹ใ€‚ใŸใ ใ— $(i,i+1)$ ใ‚’ใƒšใ‚ขใซใงใใชใ„ใจใใ‚’่€ƒใˆใ€ๅ‰่€…ใฏ $A0_i &lt; 1 \lor A0_{i+1} &lt; 1$ ใชใ‚‰0ใ€ๅพŒ่€…ใฏ $A1_i &lt; 1 \lor A1_{i+1} &lt; 1$ ใชใ‚‰ใง0ใ‚ใ‚‹ใ€‚

ไธŠ่จ˜ใฎๆ“ไฝœ $i$ ใซใคใ„ใฆ็ต‚ใ‚ใฃใŸใ‚‰็ต„ใ‚“ใ ใƒšใ‚ขใฎๅˆ†ใ ใ‘ $A0_i,A0_{i+1},A1_i,A1_{i+1}$ ใ‚’ๆธ›ใ‚‰ใ™ใ€‚ไธŠ่จ˜ใฎๆ“ไฝœใŒ $i=1..(N-1)$ ใซใคใ„ใฆ็ต‚ใ‚ใฃใŸใ‚‰ $N$ ใ ใ‘ใงใƒšใ‚ขใ‚’็ต„ใฟใ€ $max(DP[i][0] + \lfloor A0_N / 2 \rfloor, DP[i][1] + \lfloor A1_N / 2 \rfloor)$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏgreedyใงใ‚ใ‚‹ใ€‚่ฆ–็‚นใŒ้•ใฃใŸใ€‚ๅฎŸ่ฃ…ใฏ ใ“ใกใ‚‰ ใ€‚

AGC 003-C

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

ๆœ€ๅˆใซ $A$ ใ‚’ $1..N$ ใซๅบงๆจ™ๅœง็ธฎใ™ใ‚‹ใ€‚

$A$ ใฎไธ€ใค้ฃ›ใฐใ—ใฎ่ฆ็ด ใฏๆ“ไฝœ2ใ ใ‘ใงๆ˜‡้ †ใซใ‚ฝใƒผใƒˆใงใใ‚‹ใ€‚ใคใพใ‚Š $A_{2i}$ , $A_{2i+1}$ ใ‚’ใใ‚Œใžใ‚Œใ‚ฝใƒผใƒˆใ™ใ‚‹ใ€‚

$A_{2i}$ ใจ $A_{2i+1}$ ใ‚’ไธ€ใคใฎ $A$ ใซใ™ใ‚‹ใจใใฎใ€ๆ“ไฝœ1ใฎๅ›žๆ•ฐใ‚’่€ƒใˆใ‚‹ใ€‚ $A_{2i}$ ใซใ‚ใ‚‹ๅฅ‡ๆ•ฐใฏ $A_{2i+1}$ ใซ็งปใ™ๅฟ…่ฆใŒใ‚ใ‚Šใ€ $A_{2i+1}$ ใซใ‚ใ‚‹ๅถๆ•ฐใฏ $A_{2i}$ ใซ็งปใ™ๅฟ…่ฆใŒใ‚ใ‚Šใ€ใ“ใฎใ‚ˆใ†ใช่ฆ็ด ใฎๅ’ŒใŒๆ“ไฝœ1ใฎๅ›žๆ•ฐใฎๆœ€ๅฐๅ€คใคใพใ‚Š็ญ”ใˆใงใ‚ใ‚‹ใ€‚่ฆ็ด ใ‚’1ๅ€‹็งปใ™ใฎใซๆ“ไฝœ1ใŒ1ๅ›ž่ฆใ‚‹ใŒใ€ๅฎšไฝ็ฝฎใซ็งปใ™ใซใฏๆ“ไฝœ2ใ ใ‘ใงใ‚ˆใ„ใ€‚

AGC 004-A

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

ๆœ€ๅฐใฎๆ–ญ้ข

ๅถๆ•ฐ้•ทใฎ่พบใŒใ‚ใ‚Œใฐใใ“ใงๅˆ‡ใ‚Œใฐๅทฎใฏ0ใซใชใ‚‹ใ€‚ใ™ในใฆใฎ่พบใŒๅฅ‡ๆ•ฐ้•ทใชใ‚‰ใ€ๆœ€ใ‚‚ๅฐใ•ใ„ๆ–ญ้ข็ฉ(x1)ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 004-B

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

ๆœ€็ต‚็š„ใซ่‰ฒ $i$ ใฎใ‚นใƒฉใ‚คใƒ ใ‚’้ฃผใ†ใจใ™ใ‚‹ใ€‚้ญ”ๆณ•ใ‚’ $j$ ๅ›žๅ”ฑใˆใŸ็ตๆžœ่‰ฒ $i$ ใซใชใฃใŸใชใ‚‰ใ€ๅ…ƒใฎ่‰ฒใฏ $(N + i - j) mod N$ ใงใ‚ใ‚‹ใ€‚

้ญ”ๆณ•ใ‚’ๆœ€ๅคง $k$ ๅ›žๅ”ฑใˆใ‚‰ใ‚Œใ‚‹ใจใ™ใ‚‹ใ€‚ $0 \leq K \leq N$ ใงใ‚ใ‚‹ใ€‚ใใ‚Œใžใ‚Œใฎใ‚นใƒฉใ‚คใƒ ใซๅ”ฑใˆใ‚‹้ญ”ๆณ•ใฏ $K$ ๅ›žไปฅไธ‹ใฎไปปๆ„ใฎๅ›žๆ•ฐใงใ‚ใ‚‹ใ€‚ใใ“ใงไปฅไธ‹ใฎDPใ‚’่€ƒใˆใ‚‹ใ€‚

  • ้ญ”ๆณ•ใ‚’ $i$ ๅ›žๅ”ฑใˆใฆใ‚นใƒฉใ‚คใƒ ใ‚’่‰ฒ $j$ ใซใ™ใ‚‹ใŸใ‚ใฎใ€ๅ…ƒใฎใ‚นใƒฉใ‚คใƒ ใฎๆœ€ๅฐใฎใ‚ณใ‚นใƒˆใ‚’ $DP[i][j]$ ใจ็ฝฎใ
  • ้ญ”ๆณ•ใ‚’ $0$ ๅ›žๅ”ฑใˆใŸใจใใ€ $DP[0][j] = a_j$ ใงใ‚ใ‚‹
  • ้ญ”ๆณ•ใ‚’ $i+1$ ๅ›žๅ”ฑใˆใŸใจใใ€ $DP[i+1][j] = min(DP[i][j], a_{j + N - i})$ ใงใ‚ใ‚‹ใ€‚ๅณ่พบใฎๅทฆๅดใ‚’้ธใ‚“ใ ๆ™‚ใ€้ญ”ๆณ•ใ‚’ $i$ ไปฅไธ‹ใ—ใ‹ๅ”ฑใˆใŸใ‚‰ๆญขใ‚ใซใ™ใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ™ใ‚‹ใ€‚
  • ้ญ”ๆณ•ใ‚’ $i$ ๅ›žๅ”ฑใˆใŸใจใใฎใ‚ณใ‚นใƒˆใฏ $ix + \sum_j DP[i][j]$ ใงใ‚ใ‚‹ใ€‚ใ“ใฎๅ€คใฎใ€ใ™ในใฆใฎ $i$ ใซใคใ„ใฆใฎๆœ€ๅฐๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 004-C

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

ๆง‹็ฏ‰ๅ•้กŒ(constructive problem)ใฏ้›ฃใ—ใ„ใŒใ€ABC 387-Eใงใ‚‚ๅ‡บใ‚‹ใฎใงARC/AGCใซๅ‡บๅ ดใ™ใ‚‹ใชใ‚‰่งฃใ‘ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ€‚

ใƒ’ใƒณใƒˆใซใชใ‚‹ใฎใฏใƒ’ใƒฅใƒผใ‚บROM (One Time Programmable ROM) ใฎๆง‹้€ ใงใ‚ใ‚‹ใ€‚ใƒฏใƒผใƒ‰็ทšใจใƒ“ใƒƒใƒˆ็ทšใฎไบค็‚นใ‚’ๆบถๆ–ญใ™ใ‚‹ใ‹ใฉใ†ใ‹ใงๆƒ…ๅ ฑใ‚’ไฟๆŒใ™ใ‚‹ใ€‚ๅŒใ˜่ฆ้ ˜ใงใ“ใฎๅ•้กŒใ‚’่งฃใใ€‚ใคใพใ‚Šใƒฏใƒผใƒ‰็ทšใจใƒ“ใƒƒใƒˆ็ทšใ‚’ไธ€้€šใ‚Šๅก—ใฃใฆใ‹ใ‚‰ใ€่ฆใ‚‰ใชใ„้ƒจๅˆ†ใ‚’ๅก—ใ‚‰ใชใ‹ใฃใŸใ“ใจใซใ™ใ‚‹ใ€‚

ไธก็ซฏใ‚’้™คใๅถๆ•ฐ่กŒใ€ๅถๆ•ฐๅˆ—ใ‚’่ตคใๅก—ใ‚‹ใ€‚ไธก็ซฏใ‚’้™คใๅฅ‡ๆ•ฐ่กŒใ€ๅฅ‡ๆ•ฐๅˆ—ใ‚’้’ใๅก—ใ‚‹ใ€‚ๆœ€ๅทฆๅˆ—ใ‚’ใ™ในใฆ่ตคใๅก—ใ‚Šใ€ๆœ€ๅณๅˆ—ใ‚’้’ใๅก—ใ‚‹ใ€‚ใ“ใ‚Œใง่ตคใ„ใƒžใ‚นใ€้’ใ„ใƒžใ‚นใฏไธ€ใคใฎ้€ฃ็ตๆˆๅˆ†ใ‚’ๆง‹ๆˆใ™ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ๅˆๆœŸ้…็ฝฎใซใ™ใ‚‹ใ€‚ๆœ€ไธŠ่กŒใจๆœ€ไธ‹่กŒไปฅๅค–ใฎใƒžใ‚นใฏใ€่ตคใ‹้’ใ‹ใฉใกใ‚‰ใ‹ไธ€ๆ–นใงๅก—ใ‚‰ใ‚Œใฆใ„ใ‚‹ใ€‚

ใ“ใฎใพใพใ ใจๅ…ฅๅŠ›ใ—ใŸ็ดซ่‰ฒใฎใƒžใ‚นใจไธไธ€่‡ดใซใชใ‚‹ใ€‚ๅ…ฅๅŠ›ใฏ็ดซ่‰ฒใ ใŒใ€ๅˆๆœŸ้…็ฝฎใงใฏ่ตคใ‹้’ใ‹ใฉใกใ‚‰ใ‹ไธ€ๆ–นใงใ—ใ‹ๅก—ใ‚‰ใ‚Œใฆใ„ใชใ„ๅ ดๅˆใ‚’่€ƒใˆใ‚‹ใ€‚ใ“ใฎใจใใฏ่ถณใ‚Šใชใ„ใปใ†ใฎ่‰ฒใ‚’ๅก—ใ‚Œใฐใ‚ˆใ„ใ€‚ๆ–ฐใŸใซใƒžใ‚นใ‚’ๅก—ใ‚‹ใฎใงใ€่ตคใ€้’ใใ‚Œใžใ‚Œใฎใƒžใ‚นใŒไธ€ใคใฎ้€ฃ็ตๆˆๅˆ†ใงใ‚ใ‚‹ใ“ใจใซๅค‰ใ‚ใ‚Šใฏใชใ„ใ€‚

ๅ…ฅๅŠ›ใฏ็ดซ่‰ฒใงใฏใชใ„ใŒใ€ๅˆๆœŸ้…็ฝฎใงใฏ่ตคใจ้’ใฎไธกๆ–นใงๅก—ใ‚‰ใ‚Œใฆใ„ใ‚‹ๅ ดๅˆใ‚’่€ƒใˆใ‚‹ใ€‚ใ“ใฎใจใ่กŒใฎๅก—ใ‚Šๆ–นใ‚’็ถญๆŒใ—ใ€ๅˆ—ใงๅก—ใฃใŸ่‰ฒใ‚’ๅก—ใ‚‰ใชใ‹ใฃใŸใ“ใจใซใ™ใ‚‹ใ€‚ๅˆ—ใงๅก—ใฃใŸ่‰ฒใซ้–ขใ—ใฆใ€ใ“ใฎใƒžใ‚นใ‚’ๅก—ใ‚‰ใชใ‹ใฃใŸใจใ—ใฆใ‚‚ใ€ใ“ใฎใƒžใ‚นใฎไธŠไธ‹ใฎ่กŒใฏๆœ€ๅทฆๅˆ—(่ตค)ใ‹ๆœ€ๅณๅˆ—(้’)ใง้€ฃ็ตใ™ใ‚‹ใฎใงใ€่ตคใ€้’ใใ‚Œใžใ‚Œใฎใƒžใ‚นใŒไธ€ใคใฎ้€ฃ็ตๆˆๅˆ†ใงใ‚ใ‚‹ใ“ใจใซๅค‰ใ‚ใ‚Šใฏใชใ„ใ€‚

ๆœ€ๅค–ๅ‘จใซ็ดซใฎใƒžใ‚นใฏ็„กใ„ใฎใงใ€ใ“ใ‚Œใ‚’ใ™ในใฆใฎใƒžใ‚นใซใคใ„ใฆ็นฐใ‚Š่ฟ”ใ™ใจ็ญ”ใˆใŒๆฑ‚ใพใ‚‹ใ€‚

ใ“ใฎๆ–นๆณ•ใฏๅ…ฌๅผ่งฃ่ชฌใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚ๅˆ—ใฎใ“ใจใฏ่€ƒใˆใšใซๅˆๆœŸ้…็ฝฎใ‹ใ‚‰ๅก—ใ‚Š่ถณใ™ๅˆ†ใ€ไธŠ่จ˜ใ‚ˆใ‚Šๅ…ฌๅผ่งฃ่ชฌใฎๆ–นใŒใ‚ใ‹ใ‚Šใ‚„ใ™ใ„ใ€‚

AGC 004-D

ใฉใ†ใ—ใฆใ‚‚็ญ”ใˆใŒๅˆใ‚ใชใ„ใ€‚

้ฆ–้ƒฝใ‹ใ‚‰ใ™ในใฆใฎ็”บใ‚’่ท้›ขใฎ่ฟ‘ใ„้ †ใ‚’ใ€ใƒ†ใƒฌใƒใƒผใƒˆใ‚’้€†ๅ‘ใใซใ—ใŸใ‚ฐใƒฉใƒ•ใงๆŽข็ดขใ™ใ‚‹ใ€‚ $K=1$ ใชใ‚‰ใ€้ฆ–้ƒฝใพใงใฎ่ท้›ข1ใงใชใ„้ ‚็‚นใฎๆ•ฐใงใ‚ใ‚‹ใ€‚็‰นใซ้ฆ–้ƒฝใ‚‚ๅซใ‚€ใ€‚

ใใ†ใงใชใ‘ใ‚Œใฐใ€้ฆ–้ƒฝใ‹ใ‚‰่‡ชๅทฑใƒซใƒผใƒ—ใŒใชใ‘ใ‚Œใฐ่ฟฝๅŠ ใ™ใ‚‹ใ€‚ใใ‚ŒไปฅๅพŒใฏใ€้ฆ–้ƒฝใ‚’่ตท็‚นใซใ€้ฆ–้ƒฝใพใงใฎ่ท้›ขใฎ็Ÿญใ„้ †ใซๆŽข็ดขใ™ใ‚‹ใ€‚็”บ $v$ ใŒ้ฆ–้ƒฝใ‹ใ‚‰ใฎ่ท้›ข $K$ ไปฅๅ†…ใชใ‚‰ไฝ•ใ‚‚ใ—ใชใ„ใ€‚่ท้›ข $K+1$ ใซใชใฃใŸใ‚‰็”บ $v$ ใ‹ใ‚‰้ฆ–้ƒฝใธใฎ็›ด่กŒ่ทฏใ‚’1ๆœฌ่ฟฝๅŠ ใ™ใ‚‹ใ€‚่ฟฝๅŠ ใ—ใŸใ‚‰็”บ $v$ ใ‹ใ‚‰้ฆ–้ƒฝใธใฎ่ท้›ขใฏ1ใซใชใ‚‹(0ใงใฏใชใ„)ใ€‚ใ„ใšใ‚Œใซใ—ใฆใ‚‚ $v$ ใซใƒ†ใƒฌใƒใƒผใƒˆใงใใฆใพใ ่จชใ‚Œใฆใ„ใชใ„็”บใ‚’ๆŽข็ดขใ™ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌ้€šใ‚Šใฎใฏใšใ ใŒใ€ใชใœใ‹ 23 WAs ใŒ่ฟ”ใฃใฆใใ‚‹ใ€‚

AGC 005-A

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

ๆ‹ฌๅผง

S,T ใ‚’ (,) ใ€ใ•ใ‚‰ใซ 1,-1 ใ ใจๆ€ใˆใฐๅ…ธๅž‹ๅ•้กŒใงใ‚ใ‚‹ใ€‚ๆ‹ฌๅผงใฎๅฏพๅฟœใŒๅ–ใ‚Œใชใ„ใคใพใ‚Š็ดฏ็ฉใ—ใฆ0ๆœชๆบ€ใชใ‚‰ๅ‰Š้™คใงใใšใ€ใใ†ใงใชใ„ใจใ“ใ‚ใฎๅŒบ้–“ใ‚’ๅ‰Š้™คใงใใ‚‹ใ€‚

Rubyใงๅ†ๅธฐๆญฃ่ฆ่กจ็พใ‚’ไฝฟใ†ใจ้ƒจๅˆ†็‚นใŒ็ฒใ‚Œใ‚‹ใ€‚

p gets.chomp.gsub(/(S(?:\g<-1>)*T)/, "").size

AGC 005-B

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

ๆ•ฐ $i=1..N$ ใŒๆœ€ๅฐๅ€คใจใ—ใฆไฝ•ๅ›žๆ•ฐใˆใ‚‰ใ‚Œใ‚‹ใ‹ๆฑ‚ใ‚ใ‚‹ใ€‚

1ใฎไฝ็ฝฎใ‚’ $P_1$ ใจใ—ใฆใ€1ใŒๆœ€ๅฐๅ€คใจใชใ‚‹ๅŒบ้–“ใฏใ€ๅทฆ็ซฏใŒ $[1,P_1]$ ใ€ๅณ็ซฏใŒ $[P_1,N]$ ใฎๅŒบ้–“ใงใ‚ใ‚‹ใ€‚

2ใฎไฝ็ฝฎใ‚’ $P_2$ ใจใ—ใฆใ€2ใŒๆœ€ๅฐๅ€คใจใชใ‚‹ๅŒบ้–“ใฏใ€็•ชๅ…ตใ‚’ $0,N+1$ ใจใ—ใฆใ€ $0 &lt; P_2 &lt; P_1$ ใชใ‚‰ ๅทฆ็ซฏใŒ $(0,P_2]$ ใ€ๅณ็ซฏใŒ $[P_2,P_1)$ ใฎๅŒบ้–“ใงใ‚ใ‚‹ใ€‚ $P_1 &lt; P_2$ ใชใ‚‰ ๅทฆ็ซฏใŒ $(P_1,P_2]$ ใ€ๅณ็ซฏใŒ $[P_2,N+1)$ ใฎๅŒบ้–“ใงใ‚ใ‚‹ใ€‚

ใ“ใฎๆ“ไฝœใ‚’ไธ€่ˆฌๅŒ–ใ™ใ‚‹ใ€‚ๆ—ขใซๅ‡บ็พใ—ใŸๆ•ฐๅญ—ใฎ้›†ๅˆใ‚’ $S = [0,N+1]$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚ๆ•ฐๅ€ค $i$ ใซใคใ„ใฆใ€ $S$ ใซใŠใ„ใฆ $i$ ใ‚’่ถ…ใˆใชใ„ๆœ€ๅคงๅ€คใ‚’ $L$ ใ€ $i$ ใ‚’่ถ…ใˆใ‚‹ๆœ€ๅฐๅ€คใ‚’ $R$ ใจใ™ใ‚‹ใจใ€ๅŒบ้–“ใฎๆ•ฐใฏ $(P_i - L)(R - P_i)$ ใงใ‚ใ‚‹ใ€‚ $i$ ใฎ็ญ”ใˆใซๅฏพใ™ใ‚‹ๅฏ„ไธŽ $i(P_i - L)(R - P_i)$ ใ‚’็ญ”ใˆใซ่ถณใ—ใฆใ€ $S$ ใซ $P_i$ ใ‚’ๅŠ ใˆใ‚‹ใ€‚

ใ“ใ‚Œใ‚’ $i=1..N$ ใซใคใ„ใฆ็นฐใ‚Š่ฟ”ใ™ใจ็ญ”ใˆใซใชใ‚‹ใ€‚

AGC 005-C

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

ๆœจใฎ็›ดๅพ„ใ€ใคใพใ‚ŠไบŒ้ ‚็‚น้–“ใฎ่ท้›ขใฎๆœ€ๅคงๅ€ค $D = max(A)$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚็›ดๅพ„ใจใชใ‚‹ไธก้ ‚็‚นใ‚’ๆจชไธ€็ทšใซๅผตใฃใฆใ€ใใฎๆžใ‚’ๅผตใ‚‹ใ“ใจใ‚’่€ƒใˆใ‚‹ใ€‚ใ“ใฎ็›ด็ทš็Šถใฏไธก็ซฏใ‚’ๅซใ‚ใฆใ€ๅทฆ็ซฏใ‹ใ‚‰ๆ•ฐใˆใŸ้ ‚็‚น $i=0..D$ ใซใคใ„ใฆ่ท้›ขใฏ $L_i = max(i,D-i)$ ใซใชใ‚‹ใ€‚ใ“ใ‚Œใ‚‰ใ‚’ไธ€ใคใšใค $A$ ใ‹ใ‚‰้™คใใ€‚้™คใใ“ใจใŒใงใใชใ„ใคใพใ‚Š $L_i$ ใŒ $A$ ใซๅซใพใ‚Œใชใ„ใชใ‚‰็ญ”ใˆใฏ Impossible ใงใ‚ใ‚‹ใ€‚

ๆฎ‹ใฃใŸ $A$ ใซใคใ„ใฆใ€็›ด็ทšใ‹ใ‚‰ๆžใ‚’ๅผตใ‚‹ใ€‚ๆžใฎ่ท้›ขใฏๅฐ‘ใชใใจใ‚‚ $H = 1 + \lceil D/2 \rceil$ ใชใฎใงใ€ใ“ใ‚Œใ‚’ไธ‹ๅ›žใ‚‹ $A$ ใฎ่ฆ็ด ใŒใ‚ใ‚Œใฐใ€็ญ”ใˆใฏ Impossible ใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐๆžใฎ้•ทใ•ใŒ1ใซใชใ‚‹ๅ ดๆ‰€ใ‹ใ‚‰ๆžใ‚’็”Ÿใ‚„ใ›ใฐใ‚ˆใใ€็ญ”ใˆใฏ Possible ใงใ‚ใ‚‹ใ€‚ๅŒใ˜้ ‚็‚นใ‹ใ‚‰่ค‡ๆ•ฐใฎๆžใ‚’็”Ÿใ‚„ใ—ใฆใ‚‚ๆง‹ใ‚ใชใ„ใ€‚

AGC 006-A

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

็ทๅฝ“ใŸใ‚Š

$S$ ใฎๅ…ˆ้ ญ $0..N$ ๆ–‡ๅญ—ใซ $T$ ใ‚’ใคใชใ’ใฆๆกไปถใ‚’ๆบ€ใŸใ™ใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚ $S+T$ ใฏๅฟ…ใšๆกไปถใ‚’ๆบ€ใŸใ™ใฎใงใ€ใ“ใ†ใ™ใ‚Œใฐๆกไปถใ‚’ๆบ€ใŸใ™ๆœ€ๅฐใฎๆ–‡ๅญ—ๅˆ—ใŒใฟใคใ‹ใ‚‹ใ€‚

AGC 006-B

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

ๅฎŸ้จ“ใ—ใฆๆณ•ๅ‰‡ๆ€งใ‚’่ฆ‹ใ„ใ ใ™ใ€‚

$N = 4$ ใง็ทๅฝ“ใŸใ‚Šใ™ใ‚‹ใจใ€ไปฅไธ‹ใฎใ“ใจใŒๆŽจๆธฌใงใใ‚‹ใ€‚ $X &gt; N$ ใฏ $X$ ใ‚’ $2N - X$ ใซๅ่ปขใ—ใฆๅŒๆง˜ใซ่งฃใใ€‚

  • $X = N$ ใชใ‚‰ $1..(2N-1)$ ใŒ่งฃใฎไธ€ใคใงใ‚ใ‚‹
  • $X = 1$ ่งฃใชใ—ใงใ‚ใ‚‹
  • $1 &lt; X &lt; N$ ใชใ‚‰ใ€ๅทฆใ‹ใ‚‰้ †ใซไธญๅคฎใพใง $N, N-1, ..., X+1, 1, 2, ... , X$ ใ€ไธญๅคฎใ‹ใ‚‰ๅณ็ซฏใพใง $N+1, ... , (2N-1)$ ใงใ‚ใ‚‹

AGC 007-A

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

ใ‚„ใฏใ‚Š็ทๅฝ“ใŸใ‚Š

ๅณใพใŸใฏไธ‹ใธใฎ็งปๅ‹•ใ—ใ‹ใงใใชใ„ใชใ‚‰ใ€ใใฎใ‚ˆใ†ใช็งปๅ‹•ใฎ็ทๅฝ“ใŸใ‚Šใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใฎ็ต„ใฟๅˆใ‚ใ›ใฎๆ•ฐใฏ ${h+w-2}C{w-1}$ ้€šใ‚Šใงใ‚ใ‚‹ใ€‚ใใฎใ‚ˆใ†ใช็ต„ใฟๅˆใ‚ใ›ใ‚’ๅ…จ้ƒจไฝœใฃใฆใ€ๅฏ่ƒฝใชใƒžใ‚นใฎ็ต„ใฟๅˆใ‚ใ›ใ‚’ๅˆ—ๆŒ™ใ™ใ‚‹ใ€‚ๅ…ฅๅŠ›ใŒใฉใ‚Œใ‹ใฎ็ต„ใฟๅˆใ‚ใ›ไธ€่‡ดใ™ใ‚Œใฐ Possible ใ€ใใ†ใงใชใ‘ใ‚Œใฐ Impossible ใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใ‚’่ชญใ‚€ใจใ€ใ€Œๅ•้กŒๆ–‡ใŠใ‚ˆใณ $a$ ใงไธŽใˆใ‚‰ใ‚Œใ‚‹ๆƒ…ๅ ฑใจๆ•ดๅˆใ™ใ‚‹ใ‚ˆใ†ใช้ง’ใฎๅ‹•ใๆ–นใŒๅญ˜ๅœจใ™ใ‚‹ใ€ใจใ„ใ†ๅˆถ็ด„ใ‹ใ‚‰ใ€ๅ…ฅๅŠ›ไธญใฎๆ–‡ๅญ—ใŒ $H+W-1$ ๅ€‹ใ‹ใฉใ†ใ‹่ชฟในใ‚Œใฐใ‚ˆใ‹ใฃใŸใ€‚็งใฎ่งฃๆณ•ใฏใ€ใ“ใฎใ‚ˆใ†ใชๅˆถ็ด„ใŒ็„กใ„ใจใใซ่ฉฒๅฝ“ใ™ใ‚‹ใ€‚

AGC 007-B

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

$A_i + B_i$ ใฏๅฎšๆ•ฐใ€ $|A_i - A_{i+1}|, |B_i - B_{i+1}| &gt; n$ ใ€ $ord(P_i)$ ใงๅทฎใ‚’ไป˜ใ‘ใ‚‹ใจใ„ใ†ๆ–น้‡ใฏๆ€ใ„ใคใ„ใŸใŒใ€ใใ‚ŒไปฅไธŠใฉใ†ใ™ใ‚Œใฐใ‚ˆใ„ใ‹ๅˆ†ใ‹ใ‚‰ใชใใฆ่ซฆใ‚ใŸใ€‚ใชใ‚“ใจๆญฃ่งฃใฏใ€ $A_i = Si, B_i = (n-i)S, S = 20005$ ใ ใฃใŸใ€‚้›ฃใ—ใ่€ƒใˆ้ŽใŽใงใ‚ใ‚‹ใ€‚

AGC 008-A

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

ๅฏพ็งฐๆ€งใŒ็„กใ„

$x,y$ ใซๅฏพ็งฐๆ€งใŒใชใ„ใฎใงๅ ดๅˆๅˆ†ใ‘ใŒๅคงๅค‰ใงใ‚ใ‚‹ใ€‚ๆ•ฐ็›ด็ทšไธŠใซ $x,y$ ใ‚’็ฝฎใใ€ $x,y$ ใฎ็ฌฆๅทใจ็ตถๅฏพๅ€คใ‹ใ‚‰ใ€็ฌฆๅทๅ่ปขใ‚’ใ—ใชใ„ใ€ไธ€ๅ›žใ™ใ‚‹ใ€ไบŒๅ›žใ™ใ‚‹ใจใ„ใ†ๅ ดๅˆๅˆ†ใ‘ใซๅธฐ็€ใ™ใ‚‹ใ€‚

AGC 008-B

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

ๆœ€ๅพŒใ ใ‘ใซๆ„ๅ‘ณใŒใ‚ใ‚‹ใ€‚

ๆœ€ๅพŒใซๅก—ใฃใŸใจใ“ใ‚ใ ใ‘ใฏใ€ $K$ ใƒžใ‚น้€ฃ็ถšใง็™ฝใ‹ใ€ $K$ ใƒžใ‚น้€ฃ็ถšใง้ป’ใ‹ใ€ใฉใกใ‚‰ใ‹ใงใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ€‚ใใ‚Œไปฅๅค–ใฎใƒžใ‚นใฏใฉใฎใ‚ˆใ†ใช่‰ฒใงใ‚‚ๅก—ใ‚Œใ‚‹ใ€‚ใฉใฎใ‚ˆใ†ใซใ‚‚ๅก—ใ‚Œใ‚‹ใฎใ ใ‹ใ‚‰ใ€ๆญฃใฎๆ•ฐใ ใ‘ๅก—ใ‚Œใฐใ„ใ„ใ€‚

ใ‚ˆใฃใฆๆœ€ๅพŒใซๅก—ใฃใŸใƒžใ‚นใฎๅทฆ็ซฏใ‚’ $i$ ใจใ—ใฆใ€ๅก—ใ‚‹ๅŒบ้–“ใ‚’ $[i,i+K)$ ใซๆฑบใ‚ๆ‰“ใกใ™ใ‚‹ใ€‚ใ™ในใฆใฎ $i$ ใซใคใ„ใฆ่ชฟในใŸใ‚‚ใฎใจ0ใฎๆœ€ๅคงๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

  • ๆœ€ๅพŒใซ็™ฝใงๅก—ใ‚‹ใชใ‚‰ใ€ $j \in [1,i)$ ใฎๆญฃใฎๆ•ฐ $a_j$ ใฎๅˆ่จˆใจใ€ $j \in [i+K,N]$ ใฎๆญฃใฎๆ•ฐ $a_j$ ใฎๅˆ่จˆใฎๅ’Œใงใ‚ใ‚‹
  • ๆœ€ๅพŒใซ้ป’ใงๅก—ใ‚‹ใชใ‚‰ใ€ $j \in [1,i)$ ใฎๆญฃใฎๆ•ฐ $a_j$ ใฎๅˆ่จˆใ€ $\sum_i^{i+K-1} a_i$ ใ€ $j \in [i+K,N]$ ใฎๆญฃใฎๆ•ฐ $a_j$ ใฎๅˆ่จˆใงใ‚ใ‚‹

AGC 008-C

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

่ฆ‹ใŸ็›ฎใซๅใ—ใฆใจใฆใ‚‚้›ฃใ—ใ„ใ€‚

Oๅฝขใฏใฉใ“ใซ็ฝฎใ„ใฆใ‚‚ใ‚ˆใ„ใฎใงใ€ๆœ€ๅพŒใซ $a_O$ ใ‚’็ญ”ใˆใซๅŠ ใˆใ‚‹ใ€‚T,S,Zๅฝขใฏไฝฟใ„้“ใŒใชใ„ใ€‚ใ‚ˆใฃใฆ $a_I, a_J, a_L$ ใฎ็ต„ใฟๅˆใ‚ใ›ใ‚’่€ƒใˆใ‚‹ใ€‚

  1. IๅŒๅฃซใ€JๅŒๅฃซใ€LๅŒๅฃซใ€2ใคใšใค็ต„ใฟๅˆใ‚ใ›ใ‚‹
  2. I,J,Lใฎใ†ใกใ€ๆœ€ใ‚‚ๅฐ‘ใชใ„็‰ฉ $M = min(a_I, a_J, a_L)$ ใ‚’็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ€‚ๆฎ‹ใ‚Šใ‚’ๅŒใ˜ใ‚‚ใฎใ‚’2ใคใšใค็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ€‚
  3. $M &gt; 0$ ใฎใจใใ€ $M-1$ ๅ€‹ใฎ I,J,Lใ‚’็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ€‚ๆฎ‹ใ‚Šใ‚’ๅŒใ˜ใ‚‚ใฎใ‚’2ใคใšใค็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ€‚

3็•ช็›ฎใ‚’ๅฟ˜ใ‚Œใ‚‹ใจWAใ™ใ‚‹ใ€‚

AGC 008-D

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

ๅฎŸใฏๅŒบ้–“ใ‚นใ‚ฑใ‚ธใƒฅใƒผใƒชใƒณใ‚ฐๅ•้กŒใ€‚ๅ˜ใชใ‚‹greedyใ ใจไธŠๆ‰‹ใใ„ใ‹ใชใ„ใ€‚

ไปฅไธ‹0-based indexingใ‚’่ชญใฟๆ›ฟใˆใ‚‹ใ€‚็ญ”ใˆใฎ้•ทใ•ใ‚’ $L = N^2$ ใจใ™ใ‚‹ใ€‚ๆ•ฐๅญ—ใฎ็ฝฎใๅ ดๆ‰€ใ‚’ $P[0..(L-1)]$ ใ€ $P$ ใฎๅ€™่ฃœใ‚’้›†ๅˆ $S = 0..(L-1)$ ใจ็ฝฎใใ€‚

ๆœ€ๅˆใซๅ…ฅๅŠ›ใฎๅ€คใ‚’ๅ›บๅฎšใ—ใ€็ฝฎใๅ ดๆ‰€ $P[x_i] = i$ ใจใ—ใ€ $S$ ใ‹ใ‚‰ $x$ ใ‚’้™คใใ€‚

ๆฌกใซ $P$ ใซๅทฆใ‹ใ‚‰้ †ใซ(ๆทปใˆๅญ—ใฎๆ˜‡้ †ใซ)ๆ•ฐๅญ—ใ‚’่ฉฐใ‚ใ‚‹ใ€‚ใ“ใฎใ‚„ใ‚Šๆ–นใฏๅŒบ้–“ใ‚นใ‚ฑใ‚ธใƒฅใƒผใƒชใƒณใ‚ฐใใฎใ‚‚ใฎใงใ€ $(x_i,i)$ ใฎๆ˜‡้ †ใซใ€ $S$ ใ‹ใ‚‰ๅฐใ•ใ„้ †ใซ $i$ ใ‚’ $x_i$ ่ฆ็ด ๅ–ใ‚Šๅ‡บใ—ใฆ $P$ ใซ่ฉฐใ‚ใ‚‹ใ€‚้€”ไธญใง $x_i$ ใ‚ˆใ‚ŠๅคงใใใชใฃใŸใ‚‰ๆ‰‹่ฉฐใพใ‚Šใชใฎใง No ใ‚’่ฟ”ใ™ใ€‚

ๆฌกใซ $P$ ใซๅณใ‹ใ‚‰้ †ใซ(ๆทปใˆๅญ—ใฎ้™้ †ใซ)ๆ•ฐๅญ—ใ‚’่ฉฐใ‚ใ‚‹ใ€‚ $(x_i,N-i)$ ใฎๆ˜‡้ †ใซใ€ $S$ ใ‹ใ‚‰ๅคงใใ„้ †ใซ $i$ ใ‚’ $N-x_i-1$ ่ฆ็ด ๅ–ใ‚Šๅ‡บใ—ใฆ $P$ ใซ่ฉฐใ‚ใ‚‹ใ€‚้€”ไธญใง $x_i$ ใ‚ˆใ‚Šๅฐใ•ใใชใฃใŸใ‚‰ๆ‰‹่ฉฐใพใ‚Šใชใฎใง No ใ‚’่ฟ”ใ™ใ€‚

ๆ‰‹่ฉฐใพใ‚Šใซใชใ‚‰ใชใ‘ใ‚Œใฐ $P$ ใฎๅ†…ๅฎนใŒ็ขบๅฎšใ™ใ‚‹ใฎใงใ€1-based indexingใซใ—ใฆๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ไธŠ่จ˜ใฎๅŒบ้–“ใ‚’ $(x_i-i,i)$ ใคใพใ‚Šใ“ใ“ใ‹ใ‚‰้€ฃ็ถšใ—ใฆไธฆในใ‚ŒใฐใŽใ‚ŠใŽใ‚Š้–“ใซๅˆใ†ๆœ€ๅคงใฎๆทปใˆๅญ—ใซใ—ใŸใ‚‰WAใ—ใŸใ€‚

AGC 009-A

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

้žๅฏพ็งฐ

ใƒœใ‚ฟใƒณ $N$ ใฎๅฝฑ้Ÿฟใฏ $A_{N-1},A_{N}$ ใซๅŠใถใŒใ€ใƒœใ‚ฟใƒณ $N-1$ ใฎๅฝฑ้Ÿฟใฏ $A_{N}$ ใซใฏๅŠใฐใชใ„ใ€‚ใชใฎใงใƒœใ‚ฟใƒณ $N..1$ ใฎ้ †ใซไฝ•ๅ›žๆŠผใ™ใ‹ๆฑบใ‚ใ‚Œใฐใ‚ˆใ„ใ€‚

ใƒœใ‚ฟใƒณ $N$ ใ‚’ๆŠผใ™ๅ›žๆ•ฐใฏ $(N - (A_N \quad mod \quad B_n)) \quad mod \quad B_N$ ใงใ‚ใ‚‹ใ€‚ใƒœใ‚ฟใƒณ $N..(i+1)$ ใพใงใ‚’ $d$ ๅ›žๆŠผใ—ใŸใจใ—ใฆใ€ใƒœใ‚ฟใƒณ $i$ ใ‚’ๆŠผใ™ๅ›žๆ•ฐใฏ $(N - ((d + A_i) \quad mod \quad B_i)) \quad mod \quad B_i$ ใงใ‚ใ‚‹ใ€‚

AGC 009-B

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

ใƒˆใƒผใƒŠใƒกใƒณใƒˆใฎๆฑบๅ‹ใ‚’ๆ นใ€ๅˆๆˆฆใ‚’่‘‰ใจใ—ใฆใ€ๆ นใ‹ใ‚‰่‘‰ใพใงใฎๆทฑใ•ใ‚’่ท้›ขใจๅฎš็พฉใ™ใ‚‹ใ€‚้กŒๆ„ใ‚’ๆบ€ใŸใ™ใคใพใ‚ŠใƒˆใƒผใƒŠใƒกใƒณใƒˆๆœจๅ…จไฝ“ใฎๆทฑใ•ใ‚’ๆœ€ๅฐใซใ™ใ‚‹ใซใฏใ€ๆทฑใ„้ƒจๅˆ†ๆœจใ‚’ๆต…ใ„้ ‚็‚นใซใคใชใ’ใ‚Œใฐใ‚ˆใ„ใ€‚ใ“ใ‚ŒใฏDFSใงๆฑ‚ใพใ‚‹ใ€‚

ไปŠDFSใงๆณจ็›ฎใ—ใฆใ„ใ‚‹ไบบใ‚’ $p$ ใจใ—ใฆใ€ๅˆๆœŸๅ€คใ‚’ $p=1$ ใจใ—ใฆไปฅไธ‹ใฎ้€šใ‚ŠๆŽข็ดขใ™ใ‚‹ใ€‚

  • $p$ ใซ็›ดๆŽฅ่ฒ ใ‘ใŸไบบใฎ้›†ๅˆใ‚’ $S$ ใจใ™ใ‚‹ใ€‚ $l \in S$ ใใ‚Œใžใ‚Œใซใคใ„ใฆใ€้ƒจๅˆ†ๆœจใฎ้ซ˜ใ•ใ‚’ $H_l$ ใจใ™ใ‚‹ใ€‚
  • $H_i$ ใ‚’้™้ †ใซไธฆในใ‚‹ใ€‚ $i = 1..|S|$ ใซใคใ„ใฆใ€ $min(i + H_i)$ ใŒใ€ $p$ ใซ้–ขใ™ใ‚‹้ƒจๅˆ†ๆœจใงๆทฑใ•ๆœ€ๅฐใฎใ‚‚ใฎใงใ‚ใ‚‹ใ€‚
  • $H_i$ ใฏใ€ $i$ ่‡ช่บซใฎ้ƒจๅˆ†ๆœจใฎ้ซ˜ใ•ใซใ€ๆ นใ‹ใ‚‰ $p$ ใพใงใฎ้ซ˜ใ• $t$ ใ‚’ๅŠ ใˆใŸใ‚‚ใฎใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆDFSใฎๅ‘ผใณๅ‡บใ—ใ‚’ $DFS(l, t)$ ใจใ—ใฆใ€ $t + H(l)$ ใ‚’่ฟ”ใ™ใ€‚็‰นใซๆœ€ๅˆใฎๅ‘ผใณๅ‡บใ—ใฏ $DFS(1,0)$ ใงใ€ใใฎ่ฟ”ใ‚Šๅ€คใŒๅ•้กŒใฎ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 010-A

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

ๅถๆ•ฐ+ๅถๆ•ฐใฏๅถๆ•ฐใ€ๅฅ‡ๆ•ฐ+ๅฅ‡ๆ•ฐใ‚‚ๅถๆ•ฐใ€ใ—ใŸใŒใฃใฆๅถๆ•ฐใฏใ„ใใคใ‚ใฃใฆใ‚‚1ๅ€‹ใซ็ธฎ็ด„ใงใใ€ๅถๆ•ฐๅ€‹ใฎๅฅ‡ๆ•ฐใฏๅถๆ•ฐใซ็ธฎ็ด„ใงใใ‚‹ใ€‚ๅฅ‡ๆ•ฐ+ๅถๆ•ฐใ€ๅฅ‡ๆ•ฐ+ๅถๆ•ฐใฏๅฅ‡ๆ•ฐใชใฎใงๅฅ‡ๆ•ฐใฎๆ•ฐใ‚’ๆธ›ใ‚‰ใ™ใ“ใจใฏใงใใชใ„ใ€‚ใ‚ˆใฃใฆๅฅ‡ๆ•ฐใŒๅฅ‡ๆ•ฐๅ€‹ใ‚ใฃใŸใ‚‰ NO ใ€ๅถๆ•ฐๅ€‹ใ‚ใฃใŸใ‚‰ YES ใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใงใฏใ€ใ™ในใฆใฎๆ•ฐใฎๅ’ŒใŒๅฅ‡ๆ•ฐใจ่กจ็พใ—ใฆใ„ใ‚‹ใ€‚็ขบใ‹ใซใใฎๆ–นใŒๅˆคๅฎšใŒ้€Ÿใ„ใ€‚

AGC 010-B

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

ๅทฎๅˆ†ใซๆณจ็›ฎใ™ใ‚‹ใ€‚

$N=1$ ใชใ‚‰ๅธธใซ YES ใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ๅฟ˜ใ‚Œใ‚‹ใจ 2 WAs ใ™ใ‚‹ใ€‚ไปฅไธ‹ $N &gt; 1$ ใจใ™ใ‚‹ใ€‚

็Ÿณใฏ $U = \sum_{i=1}^N i = N(N+1)/2$ ๅ€‹ๅ˜ไฝใงใ—ใ‹ๅ–ใ‚Š้™คใใ“ใจใŒใงใใชใ„ใ€‚ใ‚ˆใฃใฆ $S= \sum_{i=1}^N A_i$ ใŒ $U$ ใฎๅ€ๆ•ฐใงใชใ‘ใ‚Œใฐ NO ใงใ‚ใ‚‹ใ€‚

้€†ๆ“ไฝœใคใพใ‚Šใพใฃใ•ใ‚‰ใช็Šถๆ…‹ใ‹ใ‚‰็Ÿณใ‚’็ฝฎใใ“ใจใ‚’่€ƒใˆใ‚‹ใ€‚ใ‚ใ‚‹ $i$ ใซใคใ„ใฆ $A_i$ ใ‹ใ‚‰้ †็•ชใซ็Ÿณใ‚’ $1..N$ ๅ€‹็ฝฎใใจใ€ $A_i - A_{i+1} = -1$, $A_{i+1} - A_{i+2} = -1$, ... $A_i - A_{i-1} = N - 1$ ใซใชใ‚‹ใ€‚ใ“ใ‚Œใฏ $A$ ใฎ้šฃๆŽฅๅทฎๅˆ† $D_i = D_{i} - D_{i-1}$ ใฎใ•ใ‚‰ใซๅทฎๅˆ†ใ‚’ๅ–ใ‚‹ใจใ€ $N - 1$ ่ฆ็ด ใŒ0ใ€ 1่ฆ็ด ใŒ $N$ ใซใชใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ™ใ‚‹ใ€‚ๅŒๆง˜ใฎ $j$ ใซใคใ„ใฆ $A_j$ ใ‹ใ‚‰้ †็•ชใซ็Ÿณใ‚’ $1..N$ ๅ€‹็ฝฎใใจใ€ $D_j$ ใŒๅŒๆง˜ใซๅŠ ็ฎ—ใ•ใ‚Œใ‚‹ใ€‚

ใ‚ˆใฃใฆ้€†ๆ“ไฝœใŒๅญ˜ๅœจใ™ใ‚‹ใชใ‚‰ $D_i = A_{i} - A_{i-1}$ ใฏไธŠ่จ˜ใฎ่ฆๅ‰‡ใซๅพ“ใฃใฆไฝœใ‚‰ใ‚ŒใŸใ‚‚ใฎใซ้™ใ‚‹ใ€‚ $D_i$ ใ‹ใ‚‰ $min(D)$ ใ‚’ๅผ•ใ„ใฆๆœ€ไฝŽๅ€คใ‚’0ใซๆญฃ่ฆๅŒ–ใ™ใ‚‹ใ€‚ใ“ใฎใจใไปฅไธ‹ใฎๆกไปถใ‚’ๆบ€ใŸใ›ใฐ YES ใ€ใใ†ใงใชใ‘ใ‚Œใฐ NO ใงใ‚ใ‚‹ใ€‚

  • $D$ ใฏใ™ในใฆ $N$ ใฎๅ€ๆ•ฐใงใ‚ใ‚‹
  • $S = U \sum D / N$

AGC 011-A

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

Greedy

$T_1$ ใซๅˆฐ็€ใ—ใŸไบบใซใคใ„ใฆใ€ใƒใ‚นใฎๅ‡บ็™บๆ™‚้–“ใ‚’ $T_1 + K$ ใพใง้…ใ‚‰ใ›ใ‚‹ใ“ใจใŒใงใใ‚‹ใฎใงใใฎใ‚ˆใ†ใซใƒใ‚นใ‚’ๆ‰‹้…ใ™ใ‚‹ใ€‚

  • $T_1 + K$ ใพใงใซ $C+1$ ไบบ้›†ใพใ‚‰ใชใ‘ใ‚Œใฐๅ‡บ็™บใ™ใ‚‹ใ€‚ใใฎๆฌกใฎไบบใซใคใ„ใฆๅŒๆง˜ใซใ€ $T_1$ ใจๅŒๆง˜ใซใƒใ‚นใ‚’ๆ‰‹้…ใ™ใ‚‹ใ€‚
  • $T_1 + K$ ใพใงใซ $C+1$ ไบบ้›†ใพใฃใŸใ‚‰ใ€ไน—ใ‚Šๅˆ‡ใ‚Œใชใ‹ใฃใŸไบบใŒๅˆฐ็€ใ—ใŸๆ™‚ๅˆปใ‚’ $T_i$ ใจใ—ใฆใ€ใใฎไบบใฎใŸใ‚ใซๅ‡บ็™บๆ™‚้–“ใŒ $T_i + K$ ใฎใƒใ‚นใ‚’ๆ‰‹้…ใ™ใ‚‹ใ€‚ $C$ ไบบใใฃใกใ‚Š้›†ใพใฃใŸๆ™‚็‚นใงใฏใพใ ๆ‰‹้…ใ—ใชใ„ใ€‚ใ“ใ‚Œใ‚‚ $T_1$ ใจๅŒๆง˜ใงใ‚ใ‚‹ใ€‚

AGC 011-B

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

Union-findๆœจใงใƒžใƒผใ‚ธ

std::set<std::pair<Num,Num>> ใงใ€ ็”Ÿใ็‰ฉใฎๅคงใใ•ใจ่‰ฒใ‚’็ฎก็†ใ™ใ‚‹ใ€‚ๅฐใ•ใ„็”Ÿใ็‰ฉๅŒๅฃซใ‚’็ต„ใฟๅˆใ‚ใ›ใŸๆ–นใŒใ€ใใ†ใงใชใ„ใ‚ˆใ‚Š่‰ฒๆ•ฐใŒๅข—ใˆใ‚‹ใฎใงใ€้›†ๅˆไธญๆœ€ใ‚‚ๅฐใ•ใ„็”Ÿใ็‰ฉ2็จฎ้กžใ‚’ๅˆไฝ“ใ™ใ‚‹ใ€‚

็‰‡ๆ–นใŒไป–ๆ–นใ‚’ไธ€ๆ–น็š„ใซๅธๅŽใงใใ‚‹ใชใ‚‰่‰ฒ้›†ๅˆใฏๅข—ใˆใชใ„ใ€‚ใใ†ใงใชใ‘ใ‚ŒใฐๅŒๆ–นใฎ่‰ฒ้›†ๅˆใ‚’ๅˆไฝตใ—ใŸใ‚‚ใฎใซใชใ‚‹ใ€‚ใ“ใ‚ŒใฏUnion-findๆœจใงใƒžใƒผใ‚ธใ™ใ‚‹ใ“ใจใง่กจ็พใงใใ‚‹ใ€‚ๅˆไฝ“ใ—ใŸใ‚‰ใ€ๅคงใใ•ใจ่‰ฒใฎไปฃ่กจๅ…ƒใ‚’ๅ†ๅบฆ้›†ๅˆใซ่ผ‰ใ›ใ‚‹ใ€‚ๅˆไฝ“ใฏๆœ€ๅคง $N-1$ ๅ›žใชใฎใงใ“ใฎ็นฐใ‚Š่ฟ”ใ—ใฏ็ต‚ไบ†ใ—ใ€Union-findๆœจใชใฎใง่จˆ็ฎ—้‡ใ‚‚ๅคงใใใชใ‚‰ใชใ„ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏๅคงใใ•ใ ใ‘ใซๆณจ็›ฎใ—ใฆ่งฃใ„ใฆใ„ใ‚‹ใ€‚

AGC 012-A

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

ไธŠใซๅฏ„ใ›ใ‚‹

$a$ ใ‚’้™้ †ใซไธฆในใฆใ€ไธŠใ‹ใ‚‰ $2i$ ็•ช็›ฎใพใงใซไธ€ไฝใจไบŒไฝใ‚’้ธใถใจใ™ใ‚Œใฐใ€ $2,4,..,2i$ ็•ช็›ฎใ‚’ไบŒไฝใซใ™ใ‚‹ใ“ใจใงใใ‚Œใžใ‚ŒไบŒไฝใงใ‚ใ‚Šๅ’ŒใŒๆœ€ๅคงใซใชใ‚‹ใ€‚ไธ‰ไฝใฏๆฎ‹ใ‚Šใ‹ใ‚‰้ธในใ‚‹ใฎใงๆฐ—ใซใ—ใชใใฆใ‚ˆใ„ใ€‚

AGC 012-B

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

ใ‚ˆใใ‚ใ‚‹ใ‚ฏใ‚จใƒช้€†ๅ†็”Ÿใ€‚

ใ‚คใ‚ซใŒๅก—ใฃใŸ้ ‚็‚นใฏๅพŒใฎๆ“ไฝœใงไธŠๆ›ธใใ•ใ‚Œใ‚‹ใ€‚ๅก—ใ‚‹้ †็•ชใ‚’ใ‚ฏใ‚จใƒช $t=1..Q$ ใฎ้ †็•ชใซๅฏพๅฟœใ—ใ€้€†้ † $t=Q..1$ ใซๅก—ใ‚‹ใ€‚ $D \leq 10$ ใซๆณจ็›ฎใ—ใ€้ ‚็‚นใ‚’ๅก—ใ‚‹ใฎใ‚’ไธŠๆ‰‹ใๆ‰“ใกๅˆ‡ใ‚‹BFSใ‚’่€ƒใˆใ‚‹ใ€‚

ๅ„้ ‚็‚น $v$ ใฎ็Šถๆ…‹ใ‚’ใ€ๆœ€ๅพŒใซๅก—ใ‚‹ใจใใฎๆฎ‹ใ‚Š่ท้›ข $D_v$ , ๆœ€ๅพŒใซๅก—ใฃใŸ่‰ฒ $C_v$ , ๆœ€ๅพŒใซๅก—ใฃใŸๆ™‚ๅˆป $T_v$ ใฎ็ต„ใง่กจ็พใ™ใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใฏ $(D_v,C_v,T_v) = (0,0,0)$ ใงใ‚ใ‚Šใ€ใ‚ฏใ‚จใƒช $t=1..Q$ ใฎ้ †็•ชใซไธŠๆ›ธใใ™ใ‚‹ใ€‚

ใ™ในใฆใฎใ‚ฏใ‚จใƒชใซใคใ„ใฆใ€ๆ™‚ๅˆปใ€ๆฎ‹ใ‚Š่ท้›ขใ€่‰ฒใ€้ ‚็‚นใฎ็ต„ $(t,d,c,v)$ ใ‚’ใ€ๆ™‚ๅˆป $t$ ใŒ้…ใ„ใ‚‚ใฎใŒๅ…ˆ้ ญใซๆฅใ‚‹ๅ„ชๅ…ˆๅบฆใ‚ญใƒฅใƒผใซ็ฉใ‚€ใ€‚ใ‚ญใƒฅใƒผใ‹ใ‚‰ $(t,d,c,v)$ ใ‚’ๅ–ใ‚Šๅ‡บใ—ใฆใ€้šฃๆŽฅใ™ใ‚‹้ ‚็‚นใ‚’ใŸใฉใ‚‹ใ€ใจใ„ใ†ๅ‡ฆ็†ใ‚’ใ‚ญใƒฅใƒผใŒ็ฉบใซใชใ‚‹ใพใง็ถšใ‘ใ‚‹ใ€‚

  • $d = 0$ ใชใ‚‰้šฃใฎ้ ‚็‚นใซใฏ่กŒใ‘ใชใ„
  • ้šฃใฎ้ ‚็‚น $u \in adj(v)$ ใใ‚Œใžใ‚Œใซใคใ„ใฆใ€ไปฅไธ‹ใฎๅ‡ฆ็†ใ‚’่กŒใ†
    • $t &gt; T_u \lor d-1 &gt; D_u$ ใชใ‚‰ใ€้šฃใฎ้ ‚็‚นใซ่กŒใใฎใงใ€ $(t,d-1,c,u)$ ใ‚’ใ‚ญใƒฅใƒผใซ็ฉใ‚€
    • $t &gt; T_u$ ใชใ‚‰ใ€้ ‚็‚น $u$ ใ‚’ๅก—ใ‚‹ใ€‚ใคใพใ‚Š $C_u = c$, $T_u = t$ ใซใ™ใ‚‹

้šฃใฎ้ ‚็‚นใซ่กŒใใŒๅก—ใ‚‰ใชใ„ใง้€šใ‚Š้ŽใŽใ‚‹ใ“ใจใŒใ‚ใ‚‹ใ€ใจใ„ใ†ใฎใŒใƒŸใ‚ฝใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใฏ่ท้›ขใŒ็Ÿญใๆ™‚ๅˆปใŒๅพŒใฎใ‚ฏใ‚จใƒชใ‚’ๆญฃ้ †ใซ้ฉ็”จใ™ใ‚‹ๅ ดๅˆใซๅฏพๅฟœใ™ใ‚‹ใ€‚

AGC 013-A

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

ไธ‰ๆ–นๆฏ”่ผƒ

ๆœฌๅฝ“ใฏๆ•ดๆ•ฐใ‚’ <=> ใงๆฏ”่ผƒใ—ใŸใ„ใ€‚้–“้•ใฃใฆ > ใงๆฏ”่ผƒใ—ใฆWAใ—ใฆใ—ใพใฃใŸใ€‚ๅข—ๆธ›ๆ–นๅ‘ใŒๅค‰ใ‚ใฃใŸใ‚‰ๅŒบๅˆ‡ใ‚Œใฐใ‚ˆใ„ใ€‚ใใ‚Œใ‚ˆใ‚Š้€ŸใๅŒบๅˆ‡ใฃใฆใ‚‚ๅŒบๅˆ‡ใ‚‹ๅ›žๆ•ฐใฏๅŒใ˜ใ‹ๅข—ใˆใ‚‹ใ ใ‘ใงใ‚ใ‚‹ใ€‚

  • ๅˆๆœŸๅ€คใฎๆ–นๅ‘ใฏ0(ๆจช้€™ใ„)ใจใ™ใ‚‹
  • $A_{i} = A_{i+1}$ ใชใ‚‰ๆ–นๅ‘ใ‚’ๅค‰ใˆใชใ„
  • $A_{i} &lt; A_{i+1}$ ใฏๅข—ๅŠ ใง1ใ€ $A_{i} &gt; A_{i+1}$ ใฏๆธ›ๅฐ‘ใง-1ใจใ™ใ‚‹
  • ๆ–นๅ‘ใŒๅค‰ใ‚ใ‚‹ใ€ใคใพใ‚Šใ“ใ‚Œใพใงใฎๆ–นๅ‘ใจ $A_{i},A_{i+1}$ ใฎๆ–นๅ‘(1,-1)ใฎ็ฉใŒ่ฒ ใชใ‚‰ใ€ๅŒบๅˆ‡ใ‚Šใ‚’ไธ€ๅ€‹่ถณใ—ใฆๆ–นๅ‘ใ‚’0(ๆจช้€™ใ„)ใซใ™ใ‚‹

AGC 013-B

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

ๆœช่จผๆ˜ŽใฎใพใพACใ€‚

ๆฌกๆ•ฐ1ใฎ้ ‚็‚นใŒไบŒใคใ‚ใ‚‹ใชใ‚‰ใใ‚Œใ‚‰ไบŒ้ ‚็‚นใ‚’็ตใถไปปๆ„ใฎใƒ‘ใ‚นใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐใƒซใƒผใƒ—ใŒใ‚ใ‚‹ใฏใšใ ใ‹ใ‚‰ใ€่ผชใ‚’ๅˆ‡ใฃใฆใƒ‘ใ‚นใซใ™ใ‚Œใฐใ„ใ„ใ€‚

่ผชใ‚’ๅˆ‡ใฃใฆใƒ‘ใ‚นใซใ™ใ‚‹ๆ–นๆณ•ใŒใ‚ใ‹ใ‚‰ใชใ„ใŒใ€ๆฌกๆ•ฐใŒไธ€็•ชๅฐใ•ใ„้ ‚็‚น $i$ ใ‚’ๅง‹็‚นใซใ€ไปฅไธ‹ใฎๅˆถ็ด„ใ‚’ๆบ€ใŸใ™ใƒ‘ใ‚นใ‚’DFSใ™ใ‚‹ใจACใ™ใ‚‹ใ€‚ใ“ใ‚Œใฏๆฌกๆ•ฐ1ใฎ้ ‚็‚นใŒ่ฉฒๅฝ“ใ™ใ‚‹ใชใ‚‰ $i$ ใจใ—ใฆ้ธใถใ€‚

  • ใ“ใ‚Œใพใง้€šใฃใŸใƒ‘ใ‚นไธŠใฎ้ ‚็‚น้›†ๅˆใ‚’ $S$ ใจใ™ใ‚‹
  • ็พๅœจใฎ้ ‚็‚นใ‚’ $v$ ใจใ™ใ‚‹
  • ๅˆๆœŸๅ€คใฏ $S = i$, $v = i$ ใงใ‚ใ‚‹
  • $i$ ใฎ้šฃๆŽฅใ™ใ‚‹้ ‚็‚นใงใ€ $S$ ใซๅซใพใ‚Œใชใ„ใ‚‚ใฎใ‚’้ธใถ
  • $i$ ใฎ้šฃๆŽฅใ™ใ‚‹้ ‚็‚นใงใ€ $S$ ใซๅซใพใ‚Œใชใ„ใ‚‚ใฎใ‚’้ธในใชใ„ใชใ‚‰ใ€ไปฅไธ‹ใฎๅˆคๆ–ญใ‚’่กŒใ†
    • $v$ ใซ้šฃๆŽฅใ™ใ‚‹้ ‚็‚นใŒใ™ในใฆใƒ‘ใ‚นไธŠใซใ‚ใ‚‹ใชใ‚‰ใ€ใใ‚ŒใŒ็ญ”ใˆใฎไธ€ใคใงใ‚ใ‚‹ใ€‚ใ“ใ‚ŒไปฅไธŠๆŽข็ดขใ™ใ‚‹ๅฟ…่ฆใฏใชใ„ใฎใงใ€ๆŽข็ดขใ‚’ๆ‰“ใกๅˆ‡ใ‚‹
    • ใใ†ใงใชใ‘ใ‚Œใฐใ“ใฎใƒ‘ใ‚นใฏ็ญ”ใˆใงใฏใชใ„ใฎใงใ€ใƒ‘ใ‚นใ‚’ไธ€ใคๆˆปใฃใฆๆŽข็ดขใ‚’็ถšใ‘ใ‚‹

ไธŠ่จ˜ใงWAใ‚‚TLEใ‚‚ใ—ใชใ„็†็”ฑใŒใ‚ใ‹ใ‚‰ใชใ„ใ€‚ใใ—ใฆๅ…ฌๅผ่งฃ่ชฌใฎๅๅพฉใง่ฉฐใพใชใ„็†็”ฑใ‚‚ใ‚ใ‹ใ‚‰ใชใ„ใ€‚

AGC 014-A

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

ใ‚„ใฃใฆใฟใ‚‹

ๅฎŸ้š›ใซใ‚„ใฃใฆใฟใ‚‹ใจๅ›žๆ•ฐใŒๅˆ†ใ‹ใ‚‹ใ€‚ๅ•้กŒใฏ็„ก้™ใซ็ถšใใจใใ„ใคๆ‰“ใกๅˆ‡ใ‚‹ใ‹ใงใ‚ใ‚‹ใ€‚

$A,B,C$ ใฏ $(B+C)/2,(A+C)/2,(A+B)/2$ ใซใชใ‚‹ใ€‚ใคใพใ‚Š $A,B,C$ ใซ็ด ๅ› ๆ•ฐ2ใŒใ‚ใ‚Œใฐใ€ๆ“ไฝœใ‚’ไธ€ๅ›žใ™ใ‚‹ใจ็ด ๅ› ๆ•ฐใŒ2ใŒ1ๅ€‹ๆธ›ใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใจไบˆๆƒณใงใใ‚‹ใ€‚ๆธ›ใ‚‰ใชใ„ใฎใงใ‚ใ‚Œใฐใ€็„ก้™ใซ็ถšใใ€‚ใชใฎใ ใŒ่จผๆ˜Žใ‚’ๆ€ใ„ใคใ‹ใชใ‹ใฃใŸใ€‚

ๅ…ฌๅผ่งฃ่ชฌใซใ‚ˆใ‚Œใฐใ€ใ‚ฏใƒƒใ‚ญใƒผใฎๅ€‹ๆ•ฐใฎๆœ€ๅคงใจๆœ€ๅฐใฎๅทฎใŒใ€ไธ€ๆ“ไฝœใ”ใจใซๅŠๅˆ†ใซใชใ‚‹ใจๆ›ธใ„ใฆใ‚ใ‚‹ใ€‚ใใ†ใ ใฃใŸใฎใ‹ใ€‚

AGC 014-B

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

ใ‚ชใ‚คใƒฉใƒผใƒ„ใ‚ขใƒผ

ๆœจใ‚’ใ‚ชใ‚คใƒฉใƒผใƒ„ใ‚ขใƒผใ—ใฆ้ ‚็‚น็•ชๅทใ‚’ $1..N$ ใ‚’ๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใชๆœจใซใŠใ„ใฆใ€้ ‚็‚น $a,b (a &lt; b)$ ใธใฎใƒ‘ใ‚นใ‚’่€ƒใˆใ‚‹ใจใ€ๆœ€็Ÿญใƒ‘ใ‚นใซใ‚ใ‚‹่พบใฏ1ๅ›žใ€ใใ†ใงใชใ„่พบใฏ0ใพใŸใฏ2ๅ›ž้€šใ‚‹ใ€‚ใ‚ˆใฃใฆใ‚ชใ‚คใƒฉใƒผใƒ„ใ‚ขใƒผใซใ‚ˆใฃใฆ่พบใ‚’้€šใ‚‹ๅ›žๆ•ฐใ‚’ใ„ใ‚‚ใ™ๆณ•ใฆใใซใ€ $a$ ใง1่ถณใ—ใ€ $b$ ใง1ๆธ›ใ‚‰ใ™ใ€‚

ใ™ในใฆใฎใ‚ฏใ‚จใƒช $(a,b)$ ใซใคใ„ใฆไธŠ่จ˜ใ‚’ๅ‰ๅ‡ฆ็†ใ™ใ‚‹ใ€‚่พบใ‚’้€šใ‚‹ๅ›žๆ•ฐใ‚’ใ„ใ‚‚ใ™ๆณ•ใงๆฑ‚ใ‚ใ€ๅฅ‡ๆ•ฐๅ›ž้€šใ‚‹่พบใŒใ‚ใ‚Œใฐ็ญ”ใˆใฏ NO ใ€ใใ†ใงใชใ‘ใ‚Œใฐ็ญ”ใˆใฏ YES ใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใงใฏใ‚ชใ‚คใƒฉใƒผใƒ„ใ‚ขใƒผใจใฏๆ˜Ž่จ€ใ—ใฆใ„ใชใ„ใŒใ€LCAใ‚’่€ƒๆ…ฎใ—ใฆใ„ใ‚‹ใฎใงๅฎŸ่ณช็š„ใซไธŠ่จ˜ใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚

AGC 014-C

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

ใฉใ†ใ—ใฆ่งฃใ‘ใชใ‹ใฃใŸใฎใ‹ใ‚ใ‹ใ‚‰ใชใ„ใ€‚

ๅˆๆ‰‹ใง็งปๅ‹•ใงใใ‚‹็ฏ„ๅ›ฒใฏใ€ๅˆๆœŸไฝ็ฝฎใ‹ใ‚‰ใƒžใƒณใƒใƒƒใ‚ฟใƒณ่ท้›ขใŒ $K$ ไปฅๅ†…ใง้–‰ใ˜ใ‚‰ใ‚Œใฆใ„ใชใ„้ƒจๅฑ‹ใงใ‚ใ‚‹ใ€‚

ไบŒๆ‰‹็›ฎใฏไปฅ้™ใฏใ€ๅ•้กŒๆ–‡ใจ้€†ใซๆ“ไฝœใ‚’่กŒใ†ใ€‚ใคใพใ‚Š้ƒจๅฑ‹ใ‚’ $K$ ็ฎ‡ๆ‰€้–‹ใ‘ใฆใ€ไปŠ้–‹ใ‘ใŸใ‹ๅ…ƒใ€…้–‹ใ„ใฆใ„ใŸใ‹ใซ้–ขใ‚ใ‚‰ใšใ€ใƒžใƒณใƒใƒƒใ‚ฟใƒณ่ท้›ขใŒ $K$ ไปฅๅ†…ใง้–‰ใ˜ใ‚‰ใ‚Œใฆใ„ใชใ„้ƒจๅฑ‹ใซ็งปๅ‹•ใ™ใ‚‹ใ€‚ใ“ใ‚Œใฏ้ƒจๅฑ‹ใŒ้–‹ใ„ใฆใ„ใ‚‹ใ‹ใฉใ†ใ‹ใซ้–ขใ‚ใ‚‰ใšใ€ๅ˜ใซ่ท้›ข $K$ ็งปๅ‹•ใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

ใฏใšใชใฎใ ใŒใ€้ƒจๅฑ‹ใ‚’ $R &lt; K$ ๅ›žไปฅๅ†…้–‹ใ‘ใฆ้–‹ใ„ใฆใ„ใ‚‹้ƒจๅฑ‹ใซ็งปๅ‹•ใ—ใŸใ‚‰ใ€ $K - R$ ๅ›žไฝ™ๅˆ†ใซ้–‹ใ‘ใ‚‹ๅ›žๆ•ฐใ‚’ๆŒใก่ถŠใ›ใ‚‹ใจใ—ใฆใƒซใƒผใƒ—ใ‚’็ต„ใ‚“ใ ใ‚‰WAใ—ใŸใ€‚ใฉใ†ใ—ใฆ้–“้•ใฃใŸใฎใ‹ใ‚ใ‹ใ‚‰ใชใ„ใ€‚่งฃ่ชฌใ‚’่ชญใ‚“ใงใ‚‚ 3 WAs ใ™ใ‚‹ใฎใŒใ‚ใ‹ใ‚‰ใชใ„(ๅคšๅœฐ็‚นBFSใชใฎใงใ€ไธ€ๆ‰‹็›ฎใฎๅˆๆœŸๅŒ–ใ‚’ๅค‰ใˆใŸใ‚‰้€šใฃใŸ)ใ€‚

AGC 015-A

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

ๅ ดๅˆๅˆ†ใ‘ใŒๅคงๅค‰

$A \leq B$ ใงใฏใชใ„ๅ…ฅๅŠ›ใซๅฏพๅ‡ฆใ—ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ€‚

  • $A &gt; B$ ใชใ‚‰0้€šใ‚Š
  • $A = B$ ใพใŸใฏ $A &lt; B \land n = 2$ ใชใ‚‰1้€šใ‚Š
  • $A &lt; B \land n = 1$ ใชใ‚‰0้€šใ‚Š
  • ใใ‚Œไปฅๅค–ใชใ‚‰ $1 + (b - a)(n - 2)$ ้€šใ‚Š

AGC 015-B

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

็ซฏใพใง่กŒใ

็›ด่กŒใงใใชใ‘ใ‚Œใฐๆœ€ไธŠ้šŽใ‹ๆœ€ไธ‹้šŽใพใง่กŒใ‘ใฐใ„ใ„ใฎใงใ€ใ‚จใƒฌใƒ™ใƒผใ‚ฟใƒผใซไน—ใ‚‹ๅ›žๆ•ฐใฏ1ๅ›žใพใŸใฏ2ๅ›žใงใ‚ใ‚‹ใ€‚2ๅ›žไน—ใ‚‹ใฎใฏใ€่กŒใใŸใ„ๆ–นๅ‘ใซใƒœใ‚ฟใƒณใŒใชใ„ใจใใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ $i=1..N$ ้šŽใซใ„ใ‚‹ใจใใ€

  • ใƒœใ‚ฟใƒณใŒ U ใชใ‚‰ไปŠใ‚ˆใ‚Šไธ‹ใฎ้šŽ $i-1$ ้€šใ‚Š
  • ใƒœใ‚ฟใƒณใŒ D ใชใ‚‰ไปŠใ‚ˆใ‚ŠไธŠใฎ้šŽ $N-i$ ้€šใ‚Š

ใฏ2ๅ›žไน—ใ‚‹ใ€‚

AGC 015-C

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

1ๆ™‚้–“6ๅˆ†ใง่งฃใ‘ใŸใ€‚

ไบŒๆฌกๅ…ƒ็ดฏ็ฉๅ’ŒใฎๅฎŸ่ฃ…ใงๆ‰‹ใ“ใšใฃใŸใ€‚ใ„ใ„ๆ„Ÿใ˜ใซไบŒๆฌกๅ…ƒ็ดฏ็ฉๅ’Œใ‚’ๅ‰่จˆ็ฎ—ใ™ใ‚‹ใจใ€ใ‚ฏใ‚จใƒชๅฝ“ใŸใ‚Š $O(1)$ ใง่งฃใ‘ใ‚‹ใ€‚ๅบงๆจ™็ณปใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใฆ่กŒใคใพใ‚Š็ธฆๆ–นๅ‘ใ‚’ $Y$ ใ€ๅˆ—ใคใพใ‚Šๆจชๆ–นๅ‘ใ‚’ $X$ ใ‚’่ชญใ‚€ใ€‚

ๅ•้กŒๆ–‡ใฎๅˆถ็ด„ใŒ้‡่ฆใงใ‚ใ‚‹ใ€‚็”ฐใฎๅญ— $(y,x),(y+1,x),(y,x+1),(y+1,x+1)$ ใฎ4ใƒžใ‚นใ‚’ๅŒๆ™‚ใซ้’ใๅก—ใ‚‹ใ“ใจใฏ็„กใ„ใ€‚ใ“ใฎใ“ใจใ‹ใ‚‰ใ€ใ‚ใ‚‹็Ÿฉๅฝข้ ˜ๅŸŸ $(Y1,X1)-(Y2,X2)$ ใฎ้€ฃ็ตๆˆๅˆ†ๆ•ฐใฏใ€ $X1 \leq c \leq X2$, $Y1 \leq r \leq Y2$, $X1 \leq x &lt; X2$, $Y1 \leq y &lt; Y2$ ใจใ—ใฆใ€

  • $C = (Y1,X1)-(Y2,X2)$ ใซใ‚ใ‚‹้’ใƒžใ‚น $(c,r)$ ใฎๆ•ฐ
  • $V = (Y1,X1)-(Y2,X2)$ ใงใ€ๅทฆๅณใŒ้’ใƒžใ‚นใฎๅขƒ็•Œใฎๆ•ฐใ€ใคใพใ‚Š $(y,x),(y,x+1)$ ใŒไธกๆ–น้’ใƒžใ‚นใจใชใ‚‹ $x$ ใฎๆ•ฐ
  • $H = (Y1,X1)-(Y2,X2)$ ใงใ€ไธŠไธ‹ใŒ้’ใƒžใ‚นใฎๅขƒ็•Œใฎๆ•ฐใ€ใคใพใ‚Š $(y,x),(y+1,x)$ ใŒไธกๆ–น้’ใƒžใ‚นใจใชใ‚‹ $y$ ใฎๆ•ฐ

ใจใ—ใฆใ€ $C - V - H$ ใงใ‚ใ‚‹ใ€‚ $C,V,H$ ใฏไบŒๆฌกๅ…ƒ็ดฏ็ฉๅ’Œใ‚’ๅ‰่จˆ็ฎ—ใ—ใฆใŠใใ€‚ๅฎŸ่ฃ…ใŒใ‚„ใ‚„ใ“ใ—ใ‹ใฃใŸใ€‚ใ“ใฎ่งฃใๆ–นใฏๅ…ฌๅผ่งฃ่ชฌ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

AGC 016-A

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

ๆฑบใ‚ๆ‰“ใก

ๆœ€ๅพŒใฎๆ–‡ๅญ—ๅˆ—ใฏใ€ $S$ ใซๅซใพใ‚Œใ‚‹ใ„ใšใ‚Œใ‹ใฎๆ–‡ๅญ— $c$ ใจๆฑบใ‚ๆ‰“ใฃใฆใ‚ˆใ„ใ€‚ $c$ ใซใคใ„ใฆ $c$ ไปฅๅค–ใ‚’ใƒฉใƒณใƒฌใƒณใ‚ฐใ‚นๅœง็ธฎใ—ใŸใจใใฎๆœ€ๅคง้•ทใŒใ€ $c$ ใจๆฑบใ‚ๆ‰“ใฃใŸใจใใฎๆ“ไฝœใฎๆœ€ๅคงๅ›žๆ•ฐใงใ‚ใ‚‹ใ€‚ใชใœใชใ‚‰ไธ€ๆ“ไฝœใ”ใจใซใ€ใใ‚Œใžใ‚Œใฎใƒฉใƒณ้•ทใŒไธ€ใคๆธ›ใ‚‹ใ‹ใ‚‰ใ ใ€‚

ใ™ในใฆใฎ $c$ ใฎๅ€™่ฃœใซใคใ„ใฆไธŠ่จ˜ใฎๆœ€ๅฐๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 016-B

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

ๅพนๅบ•ใ—ใฆ็†่ฉฐใ‚ใ€‚

NๅŒนใฎ็ŒซใŒ่ขซใฃใฆใ„ใ‚‹ๅธฝๅญใฎ่‰ฒใฎ็จฎ้กžๆ•ฐใฏใกใ‚‡ใ†ใฉ $K$ ใงใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ใ‚ใ‚‹็Œซ $i$ ใŒ่‰ฒ $C_i$ ใฎๅธฝๅญใ‚’ใ‹ใถใฃใฆใ„ใ‚‹ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใ็Œซ $i$ ไปฅๅค–ใฎ็ŒซใŒใ‹ใถใฃใฆใ„ใ‚‹ๅธฝๅญใฎ่‰ฒใฎ็จฎ้กžๆ•ฐ $a_i$ ใฏใ€

  • $C_i$ ใฎๅธฝๅญใ‚’ใ‹ใถใฃใฆใ„ใ‚‹็ŒซใŒ็Œซ $i$ ไปฅๅค–ใซใ„ใ‚Œใฐ $a_i = K$
  • $C_i$ ใฎๅธฝๅญใ‚’ใ‹ใถใฃใฆใ„ใ‚‹็ŒซใŒ็Œซ $i$ ไปฅๅค–ใซใ„ใชใ‘ใ‚Œใฐ $a_i = K - 1$

ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ $a$ ใฏ $K$ ใฎใฟใ‹ใ€ $K-1,K$ ใฎไบŒ็จฎ้กžใ‹ใฉใกใ‚‰ใ‹ไธ€ๆ–นใ—ใ‹ใชใ„ใ€‚ใใ‚Œไปฅๅค–ใฏ No ใงใ‚ใ‚‹ใ€‚ใ“ใฎใ“ใจใฏ $a$ ใฎใƒ’ใ‚นใƒˆใ‚ฐใƒฉใƒ ใ‚’ไฝœใ‚Œใฐๅˆ†ใ‹ใ‚‹ใ€‚

$a$ ใŒ1็จฎ้กžใฎใจใใ‚’่€ƒใˆใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใซใชใ‚‹ใฎใฏใ€ใ™ในใฆใฎๅธฝๅญใฎ่‰ฒใŒ็•ฐใชใ‚‹ $a_i = K-1$ ใ‹ใ€ใฉใฎ่‰ฒใฎๅธฝๅญใ‚‚2ๅŒนไปฅไธŠใฎ็ŒซใŒใ‹ใถใฃใฆใ„ใ‚‹ใ‹ใฉใกใ‚‰ใ‹ใงใ‚ใ‚‹ใ€‚ๅพŒ่€…ใŒๆˆใ‚Š็ซ‹ใคๆกไปถใฏใ€ $1 \leq a_i \leq \lfloor N / 2 \rfloor$ ใงใ‚ใ‚‹ใ€‚ใใ‚Œไปฅๅค–ใฏ No ใงใ‚ใ‚‹ใ€‚

$a$ ใŒ $K-1, K$ ใฎ2็จฎ้กžใฎใจใใ‚’่€ƒใˆใ‚‹ใ€‚ $a = K-1$ ใฎ็ŒซใŒ $M$ ๅŒนใจใ™ใ‚‹ใ€‚ใ“ใฎ $M$ ๅŒนใฎ็Œซใ‹ใ‚‰่ฆ‹ใฆๅธฝๅญใฎ่‰ฒใฏใ€ไป–ใฎ $a = K-1$ ใฎ็Œซ $M-1$ ่‰ฒใจใ€ $a = K$ ใฎ็Œซใฎๅฐ‘ใชใใจใ‚‚1่‰ฒๅˆ†ใŒๅฟ…่ฆใงใ‚ใ‚‹ใ€‚ใคใพใ‚Š $K - 1 &lt; M$ ใชใ‚‰่‰ฒใŒ่ถณใ‚Šใชใ„ใฎใง็ญ”ใˆใฏ No ใงใ‚ใ‚‹(ใ“ใ‚Œใฏไธ‹่จ˜ใจใพใจใ‚ใ‚‹)ใ€‚

ๅŒใ˜่‰ฒใฎๅธฝๅญใ‚’ใ‹ใถใฃใŸไป–ใฎ็ŒซใŒใ„ใ‚‹ $N - M$ ๅŒนใฎ็Œซใซใ€ $K - M$ ่‰ฒใ‚’ๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ใ“ใจใŒๅฏ่ƒฝใ‹่€ƒใˆใ‚‹ใ€‚ใ“ใ‚ŒใŒๆˆใ‚Š็ซ‹ใคๆกไปถใฏ $a$ ใŒ1็จฎ้กžใฎใจใใจๅŒๆง˜ใซใ€ $1 \leq K - M \leq \lfloor (N - M) / 2 \rfloor$ ใงใ‚ใ‚‹ใ€‚ใใ‚Œไปฅๅค–ใฏ No ใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏaloneใช็Œซใจใ„ใ†่กจ็พใงใ€ไธŠ่จ˜ใจๅŒใ˜ใ“ใจใ‚’่ฟฐในใฆใ„ใ‚‹ใ€‚

AGC 016-C

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

ARCใซใ—ใฆใฏ็ใ—ใๅ…ฅๅŠ›ไพ‹ใŒใƒ’ใƒณใƒˆใงใ‚ใ‚‹ใ€‚

$H mod \quad h = 0 \land W mod \quad w = 0$ ใฎใจใใฏใ€ $h$ ่กŒ $w$ ๅˆ—ใฎ้•ทๆ–นๅฝขใ‚’้š™้–“ใชใ $H$ ่กŒ $W$ ๅˆ—ใซๆ•ทใ่ฉฐใ‚ใ‚‹ใ“ใจใŒใงใใ‚‹ใ€‚ใ“ใฎใจใ $H$ ่กŒ $W$ ๅˆ—ใฎๅ…จ่ฆ็ด ใฎๅ’Œใฏๅฟ…ใš่ฒ ใซใชใ‚‹ใฎใง็ญ”ใˆใฏ No ใงใ‚ใ‚‹ใ€‚ใใ‚Œไปฅๅค–ใฏ Yes ใงใ‚ใ‚Šใ€ไปฅไธ‹ใฎ้€šใ‚Šๆง‹ๆˆใ™ใ‚‹ใ€‚

$H=1$ ใฎใจใใ‚’็‰นๅˆฅๆ‰ฑใ„ใ™ใ‚‹ใ€‚ $R = W mod \quad w$ ใจใ™ใ‚‹ใ€‚่ฆ็ด ใฎๅ˜ไฝ $C$ ใจๅฎšใ‚ใ‚‹ใ€‚0-based indexing ใคใพใ‚Šๆœ€ๅทฆๅˆ—ใ‚’0ๅˆ—็›ฎใจใ—ใฆใ€ $x$ ๅˆ—็›ฎใฎๅ†…ๅฎนใ‚’ใ€ $x Mod \quad w = w-1$ ใฎใจใ $-C(w-1)-1$ ใ€ใใ‚Œไปฅๅค–ใฎใจใใฏ $C$ ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใไปปๆ„ใฎ้€ฃ็ถšใ™ใ‚‹ $w$ ๅˆ—ใซใคใ„ใฆใ€ๅ’Œใฏ-1ใซใชใ‚‹ใ€‚ใ™ในใฆใฎ่ฆ็ด ใฎๅ’Œใฏ $RC - \lfloor W/w \rfloor$ ใงใ‚ใ‚Šใ€ $C &gt; W/w$ ใจใชใ‚‹ใ‚ˆใ†ใซไพ‹ใˆใฐ $C = 1000$ ใซใ™ใ‚Œใฐใ™ในใฆใฎ่ฆ็ด ใฎๅ’Œใฏๆญฃใซใชใ‚‹ใ€‚

$W=1$ ใฎใจใใฏ่กŒใจๅˆ—ใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใ‚ŒใฐๅŒๆง˜ใซใงใใ‚‹ใ€‚

$H,W &gt; 1$ ใฎใจใใ‚‚ๅŒๆง˜ใซ่€ƒใˆใ‚‹ใ€‚ $y$ ่กŒ $x$ ๅˆ—็›ฎใฎๅ†…ๅฎนใ‚’ใ€ $y Mod \quad h = h -1 \land x Mod \quad w = w-1 \land$ ใฎใจใ $-C(hw-1)-1$ ใ€ใใ‚Œไปฅๅค–ใฎใจใใฏ $C$ ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใไปปๆ„ใฎ $h$ ่กŒ $w$ ๅˆ—ใฎ้•ทๆ–นๅฝขใซใคใ„ใฆใ€ๅ’Œใฏ-1ใซใชใ‚‹ใ€‚ $T = H mod \quad h$ , $R = W mod \quad w$ ใจใ™ใ‚‹ใ€‚ใ™ในใฆใฎ่ฆ็ด ใฎๅ’Œใฏ $C(T \lfloor W/w \rfloor + R \lfloor H/h \rfloor + TR) - \lfloor W/w \rfloor \lfloor H/h \rfloor$ ใงใ‚ใ‚Šใ€ไพ‹ใˆใฐ $C = 1000$ ใซใ™ใ‚Œใฐใ™ในใฆใฎ่ฆ็ด ใฎๅ’Œใฏๆญฃใซใชใ‚‹ใ€‚

AGC 017-A

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

ใƒ‘ใƒชใƒ†ใ‚ฃ

ๅถๆ•ฐใช $A$ ใฏใฉใ†็ต„ใฟๅˆใ‚ใ›ใฆใ‚‚ใ‚ˆใ„ใ€‚ใชใฎใงๅถๆ•ฐใช $A$ ใŒ $E$ ๅ€‹ใ‚ใฃใŸใ‚‰ใ€ $C_e = 2^E$ ้€šใ‚Š้ธในใ‚‹ใ€‚ๅฅ‡ๆ•ฐใช $A$ ใฏ $P = 0$ ใชใ‚‰ๅถๆ•ฐๅ€‹ใ€ $P = 1$ ใชใ‚‰ๅฅ‡ๆ•ฐๅ€‹้ธในใ‚‹ใ€‚ใ‚ˆใฃใฆใชใฎใงๅฅ‡ๆ•ฐใช $A$ ใŒ $D$ ๅ€‹ใ‚ใฃใŸใ‚‰ใ€ $C_o = \sum_{i=P..M} {D \choose i}$ ้€šใ‚Š้ธในใ‚‹ใ€‚ใŸใ ใ— $M$ ใฏใ€ $P = 0$ ใชใ‚‰ $D$ ใ‚’่ถ…ใˆใชใ„ๆœ€ๅคงใฎๅถๆ•ฐใ€ $P = 1$ ใชใ‚‰ $D$ ใ‚’่ถ…ใˆใชใ„ๆœ€ๅคงใฎๅฅ‡ๆ•ฐใงใ‚ใ‚‹ใ€‚็ญ”ใˆใฏ $C_e C_o$ ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ‚‚ใฃใจใ‚จใƒฌใ‚ฌใƒณใƒˆใงใ‚ใ‚‹ใ€‚ใใ†ใ„ใˆใฐๅ‡บๅŠ›ไพ‹4ใฏ2ใฎในใไน—ใงใ‚ใ‚‹ใ€‚

AGC 017-B

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

่ถณใ—ๅผ•ใใซใคใ„ใฆๅฏพ็งฐใชใฎใงใ€ๆœ€ๅˆใซๆญฃ่ฆๅŒ–ใ™ใ‚‹ใ€‚ใคใพใ‚Š $A=0, B=|A=B|$ ใซใ™ใ‚‹ใ€‚่ถณใ—ใŸๆ•ฐใฎๅน…ใ‚’ $W = |D-C|$ ใจใ™ใ‚‹(ใ“ใฎๅฎš็พฉใ‚’้–“้•ใˆใฆใ—ใฐใ‚‰ใ่งฃใ‘ใชใ‹ใฃใŸ)ใ€‚ๆ•ฐ $C \leq a \leq D$ ใ‚’่ถณใ—ใฆ $S$ ใ‚’ไฝœใ‚Œใ‚‹ใชใ‚‰ $-S$ ใ‚‚ไฝœใ‚Œใ‚‹ใฎใงใ€ $S \geq 0$ ใ ใ‘่€ƒใˆใ‚‹ใ€‚ใพใŸ $N$ ใ‚’ไฝ•ๅ›ž่ถณใ™ใ‹ใจๅ†ๅฎš็พฉใ— $N-1$ ใง็ฝฎใๆ›ใˆใ‚‹ใ€‚

ๆœ€ๅˆใซใ€ $N = 1$ ใฎใจใใ€ $C \leq B \leq D$ ใชใ‚‰ YES ใ€ใใ†ใงใชใ‘ใ‚Œใฐ NO ใงใ‚ใ‚‹ใ€‚ไปฅไธ‹ $N &gt; 1$ ใจใ™ใ‚‹ใ€‚

$2C \leq D$ ใชใ‚‰ใ€ไบŒๅ›ž่ถณใ™ใจ $[0, 2D]$ ใฎไปปๆ„ใฎๆ•ฐใ‚’ไฝœใ‚Œใ‚‹ใ€‚ $S$ ใฎไธŠ้™ใฏ $DN$ ใชใฎใงใ€ $2C / D \land B \leq DN$ ใชใ‚‰ YES ใงใ‚ใ‚‹ใ€‚

$2C &gt; D$ ใชใ‚‰ $S$ ใฏๅ˜ไธ€ๅŒบ้–“ใงใฏใชใ้š™้–“ใŒใ‚ใ‚‹ใ€‚ไบŒๅ›ž่ถณใ™ใจ $[W, 2D], W &gt; 0$ ใฎไปปๆ„ใฎๆ•ฐใ‚’ไฝœใ‚Œใ‚‹ใ“ใจใŒ้ตใงใ‚ใ‚‹ใ€‚ $H = \lfloor N/2 \rfloor$ ใจใ™ใ‚‹ใ€‚ $N$ ใŒๅถๆ•ฐใฎใจใใ€ $i = 1..H$ ใซใคใ„ใฆใ€ $[C,D]$ ใ‚’ $2i$ ๅ›ž่ถณใ™ใจ $[2iC,2iD]$ ใชใ‚Šใ€ใ“ใ“ใ‹ใ‚‰ๆฎ‹ใ‚Š $r = N - 2i$ ๅ›žใฎๆ“ไฝœใงๅŒบ้–“ใ‚’ๅทฆๅณใซไผธใฐใ—ใฆใ€ $[2iC - rW, 2iD + rW]$ ใ‚’ไฝœใ‚Œใ‚‹ใ€‚ $N$ ใŒๅฅ‡ๆ•ฐใฎใจใใฏๆœ€ๅˆใซ $[C,D]$ ใซใ™ใ‚‹ใฎใง $[(2i+1)C - rW, (2i+1)D + rW]$ ใงใ‚ใ‚‹ใ€‚

ใ“ใ‚Œใ‚‰ใฎๅŒบ้–“ใฎใ„ใšใ‚Œใ‹ใซ $B$ ใŒๅ…ฅใฃใฆใ„ใ‚Œใฐ YES ใ€ใใ†ใงใชใ‘ใ‚Œใฐ NO ใงใ‚ใ‚‹ใ€‚่จˆ็ฎ—้‡ใฏๅŒบ้–“ใฎๆ•ฐใงๆฑบใพใ‚Š $O(N)$ ใงใ‚ใ‚‹ใ€‚

AGC 017-D

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

ใ‚ฒใƒผใƒ ๆœจใ ใจๆ€ใฃใŸใ‚‰Grundyๆ•ฐใ ใฃใŸใ€‚Min-maxใ ใจๆ€ใฃใŸใฎใงใพใ‚‹ใฃใใ‚Šใ‚ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

่จผๆ˜ŽใฏใปใผGrundyๆ•ฐใฎๅฎš็พฉใ‹ใ‚‰ๅฐŽใ‘ใ‚‹ใ‚ˆใ†ใงใ‚ใ‚‹ใ€‚้ƒจๅˆ†ๆœจ $T$ ใฎGrundyๆ•ฐใŒ $N$ ใชใ‚‰้ƒจๅˆ†ๆœจใฎ้ƒจๅˆ†ๆœจ $T^{'}$ ใฎGrundyๆ•ฐใฏ $0..N$ ใฎๅ€คใ‚’ไปปๆ„ใ‚’้ธในใ‚‹ใ€ใ‚ˆใฃใฆ $T$ ใฎๆ นใซไธ€่พบๅŠ ใˆใŸๆœจใฎGrundyๆ•ฐใฏใใ‚Œใ‚‰ใฎใฉใ‚Œใงใ‚‚ใชใ„ๅ€ค $N+1$ ใงใ‚ใ‚‹ใ€‚ใจ่จ€ใ‚ใ‚Œใ‚Œใฐๅˆ†ใ‹ใ‚‹ใŒ่‡ชๅŠ›ใงใฏๆ€ใ„ใคใ‹ใชใ„ใ€‚

AGC 018-A

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

ๆœ€ๅคงๅ…ฌ็ด„ๆ•ฐ

$A_i$ ไปฅๅค–ใฎๆœ€ๅคงๅ…ฌ็ด„ๆ•ฐ $gcd(i) : S = A \setminus A_i$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ‚ใ‚‹ $i$ ใซใคใ„ใฆ $A_i - C \times gcd(i) = k$ ใชใ‚‹ๆ•ดๆ•ฐ $C$ ใŒๅญ˜ๅœจใ™ใ‚Œใฐ็ญ”ใˆใฏ POSSIBLE ใงใ‚ใ‚‹ใ€‚ $gcd(i)$ ใฏใ€ๆ“ไฝœใฏGCD, ๅ˜ไฝๅ…ƒใ‚’0ใจใ™ใ‚‹ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚’ไฝฟใˆใฐๆฑ‚ใพใ‚‹ใ€‚ $N = 1$ ใฎใจใใซๆณจๆ„ใ™ใ‚‹ใ€‚

ใชใ‚“ใจใชใไบˆๆƒณใงใใŸ้€šใ‚Šใ€ๅ…ฌๅผ่งฃ่ชฌใฏ $gcd(A)$ ใ‚’็›ดๆŽฅไฝฟใฃใฆใ„ใ‚‹ใ€‚

AGC 018-B

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

ใพใ•ใ‹greedyใŒ้€šใ‚‹ใจใฏๆ€ใ‚ใชใ‹ใฃใŸใ€‚

ไฝ•ใฎๅˆถ็ด„ใ‚‚ใชใ„ใจใใฎไธ€็•ชไบบๆฐ—ใฎใ‚นใƒใƒผใƒ„ $k$ ใฎๅ‚ๅŠ ไบบๆ•ฐ $c$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ๆฌกใซ $k$ ใŒใชใ„ใจใใฎไธ€็•ชไบบๆฐ—ใฎใ‚นใƒใƒผใƒ„ $k^{'}$ ใฎๅ‚ๅŠ ไบบๆ•ฐ $c^{'}$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’็นฐใ‚Š่ฟ”ใ—ใฆ้ †ใซใ‚นใƒใƒผใƒ„ใ‚’้™คใใ€ $c$ ใฎๆœ€ๅฐๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ใ‚ใ‚‹ไบบ $i$ ใฎๅ‚ๅŠ ๆ„ๆฌฒใ‚’ std::set<std::pair<Num,Num>> ใซ $(j, A_{ij})$ ใ‚’่ผ‰ใ›ใ‚‹ใจใ€ใ‚นใƒใƒผใƒ„ $k$ ใ‚’้™คใๆ“ไฝœใฏไธ€ไบบๅฝ“ใŸใ‚Š $log(M)$ ใชใฎใงใ€็ท่จˆ็ฎ—้‡ใฏ $O(NMlog(M))$ ใงใ‚ใ‚‹ใ€‚ๆƒณๅฎš่งฃๆณ•ใฏ $O(NM^2)$ ใ ใฃใŸใ€‚

AGC 019-A

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

ๅ˜ไพกใงไธฆในใ‚‹

ใพใš่ฒทใ†้‡ใ‚’0.25ใƒชใƒƒใƒˆใƒซๅ˜ไฝใซใ™ใ‚‹ใ€‚ใ“ใ‚Œใฏ้‡ใ‚’ใ™ในใฆ4ๅ€ใซใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

้‡ใŒๅข—ใˆใ‚‹ใชใ‚‰ๅ˜ไฝ้‡ใ‚ใŸใ‚Šใฎไพกๆ ผใŒๅฎ‰ใใชใ‘ใ‚Œใฐๆ„ๅ‘ณใŒ็„กใ„ใ€‚ใใ†ใชใ‚‹ใ‚ˆใ†ใซใƒœใƒˆใƒซใ‚’ใ€2ใƒชใƒƒใƒˆใƒซๅฝ“ใŸใ‚Šไพกๆ ผใ€ใƒœใƒˆใƒซใฎไพกๆ ผใ€ใƒœใƒˆใƒซใฎ้‡ใ€ใจใ„ใ†ใ‚ฟใƒ—ใƒซใง่กจ็พใ™ใ‚‹ใ€‚ๆœ€ๅˆใฏใƒœใƒˆใƒซใ‚’้‡ใฎๆ˜‡้ †ใงไธฆในใ€2ใƒชใƒƒใƒˆใƒซๅฝ“ใŸใ‚Šไพกๆ ผใŒๅ˜่ชฟๅข—ๅŠ ใซใชใ‚‰ใชใ„ใ‚ˆใ†ใชใƒœใƒˆใƒซใ‚’ๅ–ใ‚Š้™คใใ€‚

ใ“ใ†ใ™ใ‚‹ใจ้‡ใŒๅข—ใˆใ‚‹ใชใ‚‰ๅ˜ไฝ้‡ใ‚ใŸใ‚Šใฎไพกๆ ผใŒๅฎ‰ใใชใ‚‹ใ€‚ๅพŒใฏ้‡ใฎๅคšใ„ใƒœใƒˆใƒซใ‹ใ‚‰้ †ใซ่ฒทใˆใ‚‹ใ ใ‘่ฒทใฃใฆใ€็ซฏๆ•ฐใฏใ‚ˆใ‚Š้‡ใŒๅฐ‘ใชใ„ใƒœใƒˆใƒซใ‚’่ฒทใ†ใ€ใจ่จ€ใ†ใฎใ‚’็นฐใ‚Š่ฟ”ใ™ใ€‚

AGC 019-B

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

Manacher's Algorithm ใ ใจๆ€ใฃใŸใ‚‰ๅ…จ็„ถ้•ใฃใŸใ€‚

AGC 020-A

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

ไธๅค‰้‡

ใ‚ขใƒชใ‚นใจใƒœใƒชใ‚นใŒไธกๆ–นๅ‹•ใ‘ใ‚‹ใชใ‚‰ใ€ $A$ ใจ $B$ ใฎๅทฎใฎๅถๅฅ‡ใฏๅŒใ˜ใงใ‚ใ‚‹ใ€‚ๅŒใ˜ๆ–นๅ‘ใซๅ‹•ใ‘ใฐๅทฎใฏๅŒใ˜ใ€้•ใ†ๆ–นๅ‘ใซๅ‹•ใ‘ใฐๅทฎใฏ2้–‹ใใ‹2็ธฎใพใ‚‹ใ‹ใ‚‰ใงใ‚ใ‚‹ใ€‚

ใ“ใ‚ŒใŒๆˆใ‚Š็ซ‹ใŸใชใ„ใฎใฏไธ€ๆ–นใŒ็ซฏใซ่ฟฝใ„่พผใพใ‚ŒใŸใจใใงใ‚ใ‚‹ใ€‚ใ‚ขใƒชใ‚นใŒๅ…ˆๆ‰‹ใชใฎใงใ€

  • $A-B$ ใŒๅถๆ•ฐใชใ‚‰ๅทฎใ‚’1ใซใ—ใŸใจใ“ใ‚ใงใƒœใƒชใ‚นใฏๅ‹•ใ‘ใชใใฆ่ฒ ใ‘ใ‚‹ใ€‚ใ‚ขใƒชใ‚นใฏใƒœใƒชใ‚นใฎๆ–นใซๅ‘ใ‹ใฃใฆใ„ใใ€็ซฏใซ่ฟฝใ„่พผใ‚ใฐใ„ใ„ใ€‚
  • $A-B$ ใŒๅฅ‡ๆ•ฐใชใ‚‰ๅทฎใ‚’1ใซใ—ใŸใจใ“ใ‚ใงใ‚ขใƒชใ‚นใฏๅ‹•ใ‘ใชใใฆ่ฒ ใ‘ใ‚‹ใ€‚ใƒœใƒชใ‚นใฏใ‚ขใƒชใ‚นใฎๆ–นใซๅ‘ใ‹ใฃใฆใ„ใใ€็ซฏใซ่ฟฝใ„่พผใ‚ใฐใ„ใ„ใ€‚

AGC 020-B

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

ๆœ€ๅพŒใŒ2ใงใชใ‘ใ‚Œใฐ่งฃใชใ—ใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ๅฟ˜ใ‚ŒใฆWAใ—ใŸใ€‚

$A$ ใ‚’้€†้ †ใซใ—ใฆใ€ๅ…ˆ้ ญใ‹ใ‚‰ๆœซๅฐพใซๅ‘ใ‹ใฃใฆๅๅพฉใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€คใฏ $min(N) = 2$, $max(N) = 3$ ใงใ‚ใ‚‹ใ€‚

  • $newmin(N) = A_i \lceil min(N) / A_i \rceil$ ใคใพใ‚Š $\lfloor newmin(N) / A_i \rfloor$ ใŒ $min(N)$ ใจใชใ‚‹ๆœ€ๅฐๅ€ค
  • $newmax(N) = A_i (1 + \lfloor max(N) / A_i \rfloor) - 1$ ใคใพใ‚Š $\lfloor newmax(N) / A_i \rfloor$ ใŒ $max(N)$ ใจใชใ‚‹ๆœ€ๅคงๅ€ค

ใงๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ $min(N) \leq max(N)$ ใชใ‚‰ใใ‚ŒใŒ็ญ”ใˆใ€ใใ†ใงใชใ‘ใ‚Œใฐ่งฃใชใ—ใงใ‚ใ‚‹ใ€‚

AGC 021-A

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

ๅ…ฅๅŠ›ไพ‹ใ‚’่ฆ‹็›ดใ™

ๅ…ฅๅŠ›ไพ‹2 9995 ใซๅฏพใ™ใ‚‹ 9989 ใฏๆญฃใ—ใ„ไพ‹ใ ใŒใ€ไธฆใณๆ›ฟใˆใŸ 8999 ใฎๆ–นใŒ็ด ็›ดใงใ‚ใ‚‹ใ€‚ใคใพใ‚Šๅณๅด(trailing)ใซ9ใ‚’ใงใใ‚‹ใ ใ‘ๅฏ„ใ›ใฆใ€ๆœ€ไธŠไฝๆกใฏ9ไปฅๅค–ใงใ‚‚ไป•ๆ–นใŒใชใ„ใ€ใจใ„ใ†ไพ‹ใ‚’ไฝœใ‚Œใฐใ‚ˆใ„ใ€‚

  • $N &lt; 10$ ใคใพใ‚Šไธ€ๆกใชใ‚‰ $N$ ใใฎใ‚‚ใฎใŒ็ญ”ใˆใซใชใ‚‹
  • $N=d9...9$ ใคใพใ‚Šๆœ€ไธŠไฝๆกใ‚’้™คใ„ใฆ9ใŒ็ถšใใชใ‚‰ใ€ $N$ ใใฎใ‚‚ใฎใŒ็ญ”ใˆใซใชใ‚‹ใ€‚ใ“ใ‚ŒไปฅไธŠๅ„ๆกใฎๅ’Œใ‚’ๅข—ใ‚„ใ™ไฝ™ๅœฐใฏใชใ„ใ€‚
  • ใใ†ใงใชใ‘ใ‚Œใฐ $N=a:b..c$ ใ‚’ $(a-1):9..9$ ใซ็ฝฎใๆ›ใˆใ‚Œใฐใ‚ˆใ„ใ€‚ $a=1$ ใชใ‚‰ๆœ€ไธŠไฝๆกใŒ0ใซใชใ‚‹ใŒใใ‚Œใงๆง‹ใ‚ใชใ„ใ€‚

ๆœ€ไธŠไฝๆกไปฅๅค–ใฏ9ใŒไธฆใถใจใ„ใ†ใฎใŒใ€ๆ„ๅค–ใจๅฎŸ่ฃ…ใŒๅคงๅค‰ใงใ‚ใ‚‹ใ€‚

AGC 021-B

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

ๅฎŸๆ•ฐใงใ„ใ‚‚ใ™ๆณ•ใ—ใฆใ„ใ„ใฎใ‹ใ€ใจใ„ใ†็–‘ๅ•ใฏใ‚ใ‚‹ใŒๅคšๅˆ†ๅคงไธˆๅคซใ ใจๆ€ใ†ใ€‚

ใ‚ใ‚‹็ฉด $A$ ใ‹ใ‚‰360ๅบฆใ‚’่ฆ‹ๅ›žใ—ใฆใ€ไป–ใฎ็ฉด $B$ ใŒ่ฆ‹ใˆใ‚‹ใ‹ใฉใ†ใ‹ใ‚’่ชฟในใ‚‹ใ€‚่ฆ–็‚นใฎๆ–นๅ‘ $\pm 90$ ๅบฆใ‚’่ฆ–้‡Žใจใ—ใฆใ€ไป–ใฎ็ฉด $B$ ใŒ่ฆ–้‡Žใซๅ…ฅใฃใŸใ‚‰ใ€ใใฎๆ–นๅ‘ใซใ‚ใ‚‹็‚น(ๅฎŸ่ณช็„ก้™้ )ใ‹ใ‚‰็ฉด $B$ ใซ่ฝใกใฆ็ฉด $A$ ใซใฏ่ฝใกใชใ„ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐใ€ใใฎๆ–นๅ‘ใซใ‚ใ‚‹็‚นใ‹ใ‚‰็ฉด $A$ ใซ่ฝใกใ‚‹ใ€‚

็ฉด $A$ ใ‹ใ‚‰่ฆ‹ใˆใชใ„่ฆ–้‡Ž $R$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚็ฉด $B \in 1..N \setminus A$ ใซใคใ„ใฆใ€ $B$ ใซๅกžใŒใ‚Œใ‚‹่ฆ–้‡Žใ‚’ $R$ ใซ่ฟฝๅŠ ใ—ใฆใ„ใใ€‚ใ“ใ‚Œใฏ $\theta = atan(y_B - y_A, x_B - x_a)$ ใจใ—ใฆใ€ $[l,r] = [\theta - \pi / 2, \theta + \pi / 2]$ ใ‚’ๅกžใใ‚ˆใ†ใ€ใ„ใ‚‚ใ™ๆณ•ใ‚’ๆบ–ๅ‚™ใ™ใ‚‹ใ€‚ใŸใ ใ—่ง’ๅบฆใŒ $[0, 2 \pi]$ ใซๅŽใพใ‚‹ใ‚ˆใ†ใ€่ฆ–้‡Žใ‚’ $[l,r]$ ใพใŸใฏ $[0,r],[l,2 \pi]$ ใซใ™ใ‚‹ใ€‚่ง’ๅบฆใฎใ‚ชใƒ•ใ‚ปใƒƒใƒˆใฏ $atan$ ใฎ่ฟ”ใ‚Šๅ€คๆฌก็ฌฌใ ใŒใ€ใ™ในใฆใฎใ‚ฑใƒผใ‚นใซใคใ„ใฆใใ‚ใฃใฆใ„ใ‚Œใฐใฉใ‚“ใชใ‚ชใƒ•ใ‚ปใƒƒใƒˆใ‹ใฏๆฐ—ใซใ—ใชใใฆใ‚ˆใ„ใ€‚

ไธŠ่จ˜ใŒๆฑ‚ใพใฃใŸใ‚‰ใ€่ฆ–้‡Ž $R$ ใ‚’ใ„ใ‚‚ใ™ๆณ•ใ—ใฆใ€ใ‚ซใ‚ฆใƒณใƒˆใŒ0ใฎๅŒบ้–“ใฎ็ทๅปถ้•ทใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ‚ŒใŒ็ฉด $A$ ใ‹ใ‚‰่ฆ‹ใˆใ‚‹่ฆ–้‡Žใฎ่ง’ๅบฆใงใ‚ใ‚‹ใ€‚ใ™ในใฆใฎ็ฉดใซใคใ„ใฆ่ฆ–้‡Žใฎ่ง’ๅบฆใ‚’ๆฑ‚ใ‚ใ€็ทๅ’ŒใŒ1ใซใชใ‚‹ใ‚ˆใ†ใซๆญฃ่ฆๅŒ–ใ™ใ‚‹ใจ็ญ”ใˆใซใชใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏๅ‡ธๅŒ…ใ‚’ $O(NlogN)$ ใงๆฑ‚ใ‚ใฆใ„ใ‚‹ใ€‚็ขบใ‹ใซๅ‡ธๅŒ…ใฏใ“ใฎ้€šใ‚Š้€Ÿใๆฑ‚ใพใ‚‹ใŒใ€ใ“ใฎๅ•้กŒใงใฏๅŠน็އ็š„ใชๅ‡ธๅŒ…ใฎๆฑ‚ใ‚ๆ–นใ‚’็Ÿฅใ‚‰ใชใใฆใ‚‚ไธŠ่จ˜ใฎ้€šใ‚Š $O(N^2)$ ใฎๆ–นๆณ•ใงๆง‹ใ‚ใชใ„ใ€‚

AGC 022-A

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

่พžๆ›ธ้ †ใชใ‚‰ไธฆในๆ›ฟใˆ

$S$ ใŒ26ๆ–‡ๅญ—ไปฅไธ‹ใชใ‚‰ใ€ $S$ ใงไฝฟใ‚ใ‚Œใฆใ„ใชใ„ๆ–‡ๅญ—ใฎใ†ใกๆœ€ใ‚‚้ †ๅบใŒๅฐใ•ใ„็‰ฉใ‚’ $S$ ใซไธ€ๆ–‡ๅญ—ไป˜ใ‘ๅŠ ใˆใ‚‹ใ€‚

$S$ ใŒ26ๆ–‡ๅญ—ใชใ‚‰ใ€ std::next_permutation ใง $S$ ใฎๆฌกใฎ่พžๆ›ธ้ † $U$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ $U$ ใฎใ†ใกใ€ๅ…ˆ้ ญใ‹ใ‚‰ $S$ ใจไธ€่‡ดใ™ใ‚‹ ๆŽฅ้ ญ่พžๅ…จใฆใจใ€ๆœ€ๅˆใซ $S$ ใจ็•ฐใชใ‚‹ไธ€ๆ–‡ๅญ—ใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚ใใ‚Œไปฅ้™ใฏ่ฆใ‚‰ใชใ„ใ€‚ $S$ ใŒ่พžๆ›ธ้ †ใงๆœ€ๅพŒใชใ‚‰ std::next_permutation ใฏfalseใ‚’่ฟ”ใ™ใฎใงๅˆ†ใ‹ใ‚‹ใ€‚

AGC 022-B

ๅถๆ•ฐใ‚’3ใฎๅ€ๆ•ฐๅ€‹ใ€3ใฎๅ€ๆ•ฐใ ใŒๅถๆ•ฐใงใฏใชใ„ๆ•ฐใ‚’ๅถๆ•ฐๅ€‹ไธฆในใ‚‹ใ€‚ใใ†ใ™ใ‚Œใฐใ€2ใฎๅ€ๆ•ฐใฎๆ•ฐใ‹ใ‚‰ใฟใ‚‹ใจไป–ใฎๆ•ฐใฎๅ’Œใฏๅถๆ•ฐใงใ‚ใ‚‹(ๅถๆ•ฐใฏๅ˜็‹ฌใงๅถๆ•ฐใ€3ใฎๅ€ๆ•ฐใฏ2ๅ€‹ใšใค็ต„ใฟๅˆใ‚ใ›ใ‚‹ใจๅถๆ•ฐ)ใ€3ใฎๅ€ๆ•ฐใฎๆ•ฐใ‹ใ‚‰ใฟใ‚‹ใจไป–ใฎๆ•ฐใฎๅ’Œใฏ3ใฎๅ€ๆ•ฐใงใ‚ใ‚‹(3ใฎๅ€ๆ•ฐใฏๅ˜็‹ฌใงใ€ๅถๆ•ฐใ‚’3ๅ€‹ใšใค็ต„ใฟๅˆใ‚ใ›ใ‚‹)ใ€‚ใ“ใฎ็ต„ใ‚’ $(p,q)$ ใจ่กจ็พใ™ใ‚‹ใ€‚

30000ใ‚’่ถ…ใˆใชใ„็ฏ„ๅ›ฒใงๅถๆ•ฐใ‚’3ใฎๅ€ๆ•ฐๅ€‹ใ€3ใฎๅ€ๆ•ฐใ ใŒๅถๆ•ฐใงใฏใชใ„ๆ•ฐใ‚’ๅถๆ•ฐๅ€‹ไธฆในใ‚‹ใ€‚ๆœ€ๅˆใซๅถๆ•ฐใ‚’6ๅ€‹ๅ˜ไฝใงไธฆในใ€30000ใ‚’่ถ…ใˆใŸใ‚‰3ใฎๅ€ๆ•ฐใ ใŒๅถๆ•ฐใงใฏใชใ„ๆ•ฐใ‚’ไธฆในใ‚‹ใ€‚

6ๅ€‹ๅ˜ไฝใงใชใ‚‰ในใฆ $r = N mod 6$ ใฎใจใใซใ€2ใฎๅ€ๆ•ฐใจ3ใฎๅ€ๆ•ฐใ‚’็ต„ใฟๅˆใ‚ใ›ใฆ $r$ ใ‚’ไฝœใ‚‹ใ€‚ $r = 0..5$ ใซใคใ„ใฆใ€ $(0,0),(3,2),(0,1),(1,0),(0,2),(1,1)$ ๅ€‹ไธฆในใ‚‹ใ€‚ $r=1$ ใฎใจใใฏ $r=7$ ใจใฟใชใ™ใฎใง6ๅ€‹็ต„ใ‚’ไธ€ใคๆธ›ใ‚‰ใ™ใ€‚ๅพฎ่ชฟๆ•ดใจใ—ใฆใ€30000ใ‚’่ถ…ใˆใŸๅถๆ•ฐใ‚’6ๅ€‹ใ€3ใฎๅ€ๆ•ฐใ ใŒๅถๆ•ฐใงใฏใชใ„ๆ•ฐใซ็ฝฎใๆ›ใˆใ‚‹ใ€‚ใ“ใฎใ‚ใจ3ใฎๅ€ๆ•ฐใ ใŒๅถๆ•ฐใงใฏใชใ„ๆ•ฐใŒ1ๅ€‹ใ‚‚ใชใ‘ใ‚Œใฐใ€ๅถๆ•ฐใ‚’6ๅ€‹ๅข—ใ‚„ใ—ใ€3ใฎๅ€ๆ•ฐใ ใŒๅถๆ•ฐใงใฏใชใ„ๆ•ฐใ‚’6ๅ€‹ๆธ›ใ‚‰ใ™ใ€‚ใ“ใ‚Œใงไธกๆ–นใฎ็ต„ใฏใจใ‚‚ใซ็ฉบใงใฏใชใ„ใ€‚

ๅขƒ็•Œไพ‹ใ‚’ใ‚ณใƒผใƒ‰ใซๆ›ธใใฎใฏ้›ฃใ—ใ„ใฎใงใƒใƒผใƒ‰ใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐใ™ใ‚‹ใ€‚ $N &lt; 5$ ใฏๅ•้กŒใ‹ใ‚‰ใ‚ณใƒ”ใบใ™ใ‚‹ใ€‚ $N = 19998$ ใฏ $(6,8,...,30000, 3,9,...,29997)$ ใซใ™ใ‚‹ใ€‚ $N = 19999$ ใฏ $(6,8,...,29998, 3,9,...,29997)$ ใซใ™ใ‚‹ใ€‚

AGC 023-A

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

็ดฏ็ฉๅ’Œ

$A_0 = 0$ ใจใ—ใฆใ€ $\sum_{i=l..r} A_i = \sum_{i=0..r} A_i - \sum_{i=0..(l-1)} A_i$ ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ็ดฏ็ฉๅ’Œ $\sum_{i=0..i} A_i$ ใŒ $S$ ใจใชใ‚‹ใ‚ˆใ†ใชไฝ็ฝฎ $i$ ใ‚’ๆฑ‚ใ‚ใฆ็ฝฎใใ€‚ $l=1..N$ ใซใคใ„ใฆใ€ $\sum_{i=l..r} A_i = \sum_{i=0..r} A_i$ ใจใชใ‚‹ใ‚ˆใ†ใช $r$ ใฎๅ€‹ๆ•ฐใ‚’ std::lower_bound ใงๆฑ‚ใ‚ใฆ่ถณใ™ใจ็ญ”ใˆใŒๆฑ‚ใพใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ“ใ‚Œใ‚’ไธ€ๆญฉๆŽจใ—้€ฒใ‚ใฆใ€็ดฏ็ฉๅ’ŒใŒ็ญ‰ใ—ใ„ๆ•ฐใฎ็ต„ใ‹ใ‚‰็ญ”ใˆใ‚’ๅฐŽๅ‡บใ—ใฆใ„ใ‚‹ใ€‚

AGC 023-B

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

$O(N^4)$ ใ‚’ $O(N^3)$ ใซไธ‹ใ’ใ‚‹ใ€‚

ๅ…ƒใ€…ใฎ็›ค้ขใฎๅฏพ่ง’็ทš $(1,1) ... (N,N)$ ใŒ็›ค้ขใ‹ใฉใ†ใ‹ใฏ็ทๅฝ“ใŸใ‚Šใงๅˆ†ใ‹ใ‚‹ใ€‚ๅŒๆง˜ใซๅทฆใซ $i$ ๅ›ž่ปขใ—ใŸ็›ค้ขใฎๅฏพ่ง’็ทš $(i,i) ... (i-1,i-1)$ ใŒ็›ค้ขใ‹ใฉใ†ใ‹ใ‚‚็ทๅฝ“ใŸใ‚Šใงๅˆ†ใ‹ใ‚‹(้ ญใŒใ“ใ‚“ใŒใ‚‰ใŒใฃใฆใ‚ณใƒ”ใƒผใ—ใŸใŒใ€้ฉๅˆ‡ใซๆทปใˆๅญ—ใ‚’ๅ–ใ‚Œใฐใ‚ณใƒ”ใƒผใฏ่ฆใ‚‰ใชใ„ใฏใš)ใ€‚

ใƒžใ‚น $(i,j)$ ใ‚’ $(i+A,j+B)$ ใซใšใ‚‰ใ™ใฎใฏใ€ๅฏพ่ง’็ทšใฎไฝ็ฝฎใ‚’ $A+B$ ใšใ‚‰ใ™ใ“ใจใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚็›ค้ขใฎๅฏพ็งฐๆ€งใฏๅฏพ่ง’็ทšใฎไฝ็ฝฎใ‚’ใฉใ†ใšใ‚‰ใ™ใ‹ใงๆฑบใพใ‚Šใ€ใ“ใ‚Œใฏ $A+B$ ใงๆฑบใพใ‚‹ใŒ $(A,B)$ ๅ€‹ใ€…ใฎๅ€คใซใฏไพใ‚‰ใชใ„ใ€‚

ใ‚ˆใฃใฆๅฏพ่ง’็ทšใ‚’ใšใ‚‰ใ™้‡ใ‚’ $i=0..(N-1)$ ใฎ็ทๅฝ“ใŸใ‚Šใ—ใฆใ€ใ‚ˆใ„็›ค้ขใซ่ฉฒๅฝ“ใ™ใ‚‹ $i$ ใฎๆ•ฐใ‚’ $N$ ๅ€ใ—ใŸใ‚‚ใฎใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 024-A

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

ๆ‰‹ใ‚’ๅ‹•ใ‹ใ™

ๅฎŸ้š›ใซๆ“ไฝœใ™ใ‚‹ใจใ€ $K$ ใŒๅฅ‡ๆ•ฐใชใ‚‰ $B-A$ ใ€ $K$ ใŒๅถๆ•ฐใชใ‚‰ $A-B$ ใ ใจๅˆ†ใ‹ใ‚‹ใ€‚

AGC 024-B

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

่‰ฒใ€…่€ƒใˆใŸใŒ่ซฆใ‚ใŸใ€‚

ๆœ€ๅพŒใซๆ€ใ„ใคใ„ใŸใฎใŒLISใ ใฃใŸใฎใ ใŒใ€ใ‚‚ใ†ไธ€ๆญฉใ ใฃใŸใ€‚ $i=1..N$ ใŒใ‚ใ‚‹ไฝ็ฝฎใ‚’ $Q_i$ ใจ็ฝฎใใ€‚ๅŒบ้–“ $[L,R]$ ใซใคใ„ใฆใ€ $Q_i &lt; Q_{i+1} : \forall i \in [L,R)$ ใŒๆˆใ‚Š็ซ‹ใคใ‚ˆใ†ใชใ€ๆœ€ๅคงใฎๅŒบ้–“ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ‚ŒใฏLISใ‚ˆใ‚Š็ฐกๅ˜ใซ้€ๆฌก็š„ใซๆฑ‚ใพใ‚‹ใ€‚ $i=2..N$ ใซใคใ„ใฆใ€ๅŒบ้–“้•ท $L_i$ ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

  • $Q_{i-1} &lt; Q_{i}$ ใชใ‚‰ $L_i = L_{i-1} + 1$
  • $Q_{i-1} &gt; Q_{i}$ ใชใ‚‰ $L_i = 1$

$N - max(L)$ ๅ€‹ใฎๆ•ดๆ•ฐใ‚’็ซฏใซๅฏ„ใ›ใ‚‹ใฎใง็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 024-C

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

$A_1$ ใฏๅข—ใ‚„ใ›ใชใ„ใฎใงใ€ $A_1 \ne 0$ ใชใ‚‰็ญ”ใˆใฏ -1 ใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ„ๅ ดๅˆใ‚’่€ƒใˆใ‚‹ใ€‚

ไธๅฏงใซๅ ดๅˆๅˆ†ใ‘ใ™ใ‚‹ใ€‚ใ„ใพๆณจ็›ฎใ™ใ‚‹ $A$ ใฎ $i=2..N$ ็•ช็›ฎใฎ่ฆ็ด ใ‚’ $h = A_i$ ใจใ™ใ‚‹ใ€‚

  • ้šฃใ‹ใ‚‰ใฏ1ใ‚ˆใ‚Šๅคšใๅข—ใ‚„ใ›ใชใ„ใฎใงใ€ $A_{i} - A_{i-1} &gt; 1$ ใชใ‚‰็ญ”ใˆใฏ -1 ใงใ‚ใ‚‹ใ€‚
  • ้šฃใ‹ใ‚‰1ๅข—ใ‚„ใ™ๆ“ไฝœใฏไธ€ๅ›žใงใงใใ‚‹ใฎใงใ€ $A_{i} - A_{i-1} = 1$ ใชใ‚‰ๆ“ไฝœๅ›žๆ•ฐใ‚’1ๅข—ใ‚„ใ™ใ€‚
  • ้šฃใจๅŒใ˜ใ‹ใใ‚Œใ‚ˆใ‚ŠไฝŽใ„ๅ ดๅˆ $A_{i} - A_{i-1} &lt; 1$ ใฏใ€ $h = A_i$ ใซใ™ใ‚‹ใŸใ‚ๅทฆใ‹ใ‚‰้ †ใซ $1,2,..h$ ใจ็ฉใฟไธŠใ’ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใฎใงๆ“ไฝœๅ›žๆ•ฐใ‚’ $h$ ๅข—ใ‚„ใ™ใ€‚

AGC 025-A

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

็ทๅฝ“ใŸใ‚Š

$A=1..N-1, B=N-1..1$ ใ‚’็ทๅฝ“ใŸใ‚Šใ™ใ‚‹ใ€‚0ใจ $N$ ใ‚’ๅซใพใชใ„ใฎใงๆณจๆ„ใ™ใ‚‹ใ€‚

$P$ ้€ฒๆ•ฐใฎๆกใ‚’่ถณใ™ใ‚ณใƒผใƒ‰ใฏ้ ปๅ‡บใชใฎใงใ™ใใซๆ›ธใ‘ใ‚‹ใ‚ˆใ†ใซใ™ใ‚‹ใ€‚ $A$ ใ‚’ $P$ ใงๅ‰ฒใฃใŸไฝ™ใ‚ŠใŒๆœ€ไธ‹ไฝๆก $0..P-1$ ใงใ€ $A$ ใ‚’ $P$ ใงๅ‰ฒใฃใฆไฝ™ใ‚Šใ‚’ๅˆ‡ใ‚Šๆจใฆใ€ $A &gt; 0$ ใฎ้™ใ‚Š็นฐใ‚Š่ฟ”ใ™ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ€ $N$ ใŒ10ใฎในใไน—ใ‹ใฉใ†ใ‹ใงๅ ดๅˆๅˆ†ใ‘ใ—ใฆๆฑ‚ใ‚ใฆใ„ใ‚‹ใ€‚่จˆ็ฎ—้‡ใฏใ“ใฎๆ–นใŒๅฐ‘ใชใ„ใŒใ€ $N \leq 10^5$ ใชใ‚‰ใ“ใฎๆดžๅฏŸใ‚’ใ™ใ‚‹ใ‚ˆใ‚ŠไธŠ่จ˜ใฎใ‚ณใƒผใƒ‰ใ‚’ๆ›ธใๆ–นใŒๆ—ฉใๆๅ‡บใงใใ‚‹(ใฉใกใ‚‰ใซใ›ใ‚ˆๆกใ‚’่ถณใ™ๅฟ…่ฆใŒใ‚ใ‚‹ใฎใง)ใ€‚

AGC 025-B

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

ใ‚„ใฏใ‚Š็ทๅฝ“ใŸใ‚Š

ใ“ใฎๅ•้กŒใฏ $A$ ใ‚’ $p=0..N$ ๅ€‹ใ€ $B$ ใ‚’ $q=0..N$ ๅ€‹ๅ‰ฒใ‚Šๅฝ“ใฆใฆ $Ap + Bq = K$ ใจใชใ‚‹็ต„ใฟๅˆใ‚ใ›ใฏไฝ•้€šใ‚Šใ‚ใ‚‹ใ‹ใ€ใจ่ชญใฟๆ›ฟใˆใ‚‹ใ€‚ใŸใ ใ— $0 \leq p,q \leq N$ ใจใ™ใ‚‹ใ€‚ $p=0..N$ ใจๅ›บๅฎšใ™ใ‚Œใฐ $Bq = (K - Ap)$ ใ‚ˆใ‚Šใ€ๆ•ดๆ•ฐใฎ $q$ ใŒใ‚ใ‚‹ใชใ‚‰ไธ€ๆ„ใซๅฎšใพใ‚‹ใ€‚ $0 \leq p,q \leq N$ ใชใ‚‹ๆ•ดๆ•ฐ $p,q$ ใฎ็ต„ใŒใ‚ใ‚Œใฐใ€ ${N \choose p} \times {N \choose q}$ ้€šใ‚Šใ‚’ๅŠ ็ฎ—ใ™ใ‚‹ใ€‚

ๆ‹กๅผตGCDใ‚’ๆŒใกๅ‡บใ—ใŸใŒไฝฟใ„้“ใŒ็„กใใ€ๅ˜ใซ่งฃ็ญ”ๆ™‚้–“ใฎ็„ก้ง„ใ ใฃใŸใ€‚

AGC 025-C

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

่งฃใ‘ใใ†ใง่งฃใ‘ใชใ„ใ€‚

็งปๅ‹•ๆ–นๅ‘ใ‚’ๅทฆใ€ๅณใ€ๅทฆใ€ๅณใจๆฑบใ‚ๆ‰“ใกใ™ใ‚‹(้€†้ †ใซใคใ„ใฆใฏๅบงๆจ™ใฎ็ฌฆๅทใ‚’ๅ่ปขใ—ใฆๅŒๆง˜ใซ่ชฟในใ‚‹)ใ€‚ใ“ใฎใจใๅทฆใธใฎ็งปๅ‹•ใฏใพใ ไฝฟใฃใฆใ„ใชใ„ๅŒบ้–“ใง $L$ ใฎๆœ€ๅคงๅ€คใ€ๅณใธใฎ็งปๅ‹•ใฏใพใ ไฝฟใฃใฆใ„ใชใ„ๅŒบ้–“ใง $R$ ใฎๆœ€ๅฐๅ€คใ‚’้ธในใฐใ‚ˆใ„ใ€‚

ใ“ใ‚Œใง่งฃใ‘ใ‚‹ใจๆ€ใฃใŸใŒWAใŒๅ–ใ‚Œใชใ‹ใฃใŸใ€‚ๅ…จๅŒบ้–“ใ‚’ไฝฟใ‚ใšใ€้€”ไธญใฎๅŒบ้–“ใ‚’้€š้Žใ—ใŸใ“ใจใซใ™ใ‚Œใฐใ‚ˆใ„ใ€ใจใ„ใ†ใฎใŒๆญฃ่งฃใ ใฃใŸใ€‚ใคใพใ‚Šๆฑบใ‚ๆ‰“ใกใ—ใŸ็งปๅ‹•ๅ›žๆ•ฐ $0..N$ ๅ›žใฎๆœ€ๅคงๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚้€š้Žใ™ใ‚‹ใฎใ‚’ไธŠๆ‰‹ใๆ‰ฑใˆใชใ‹ใฃใŸใ€‚

AGC 026-A

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

ใƒฉใƒณใƒฌใƒณใ‚ฐใ‚น

ๅŒใ˜่‰ฒใฎใ‚นใƒฉใ‚คใƒ ใŒ $i \ge 2$ ๅŒนไปฅไธŠ้€ฃใชใฃใŸใ‚‰ใ€ไธ€ใค้•ใ„ใซ $\lfloor i/2 \rfloor$ ๅŒนใฎ่‰ฒใ‚’ๅค‰ใˆใ‚‹ใ€‚ $N \leq 100$ ใชใฎใง่‰ฒใฏ 9900่‰ฒใ‹ใ‚‰ๅฅฝใใซ้ธในใฐใ„ใ„ใ€‚

ใ‚ปใƒณใƒใƒใƒซใ‚’ไฝฟใ†ใจๅทฆๅณใฎ็ซฏใฎใ‚นใƒฉใ‚คใƒ ใ‚’็‰นๅˆฅๆ‰ฑใ„ใ—ใชใใฆๆธˆใ‚€ใ€‚ๅทฆ็ซฏใซ่‰ฒ $a_0=-1$ ใ€ๅณ็ซฏใซ่‰ฒ $a_{N+1}=-10000$ ใฎใ‚นใƒฉใ‚คใƒ ใŒๅฑ…ใ‚‹ใจใ™ใ‚‹ใ€‚ๅทฆๅณใฎ็ซฏใฎ่‰ฒใฏ $a_{1..N}$ ใจใฏ็•ฐใชใ‚Šใ€ใ—ใŸใŒใฃใฆๅทฆๅณใฎ็ซฏใฎใ‚นใƒฉใ‚คใƒ ใซ้ญ”ๆณ•ใ‚’ๅ”ฑใˆใ‚‹ๅฟ…่ฆใฏใชใ„ใฎใงๅ•้กŒใฎ็ญ”ใˆใซใฏๅฝฑ้Ÿฟใ—ใชใ„ใ€‚ๅณ็ซฏใฎใ‚ปใƒณใƒใƒใƒซใฏ $a_{N-1}=a_{N}$ ใฎใจใใซใ“ใ‚Œใ‚‰ใซ้ญ”ๆณ•ใ‚’ๅ”ฑใˆใ‚‹ใŸใ‚ใงใ‚ใ‚‹(่‰ฒใŒ้€ฃ็ถšใ—ใŸใพใพๅˆ—ใŒ็ต‚ใ‚ใ‚‹ใจ้ญ”ๆณ•ใ‚’ๅ”ฑใˆใ‚‹ใฎใ‚’ๅฟ˜ใ‚Œใฆใ—ใพใ†ใฎใงใ€่‰ฒ้•ใ„ใง็ต‚ใ‚ใ‚‹)ใ€‚

AGC 026-B

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

ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐใจใ„ใ†ใ‚ˆใ‚Šๆ•ฐๅญฆใงใ‚ใ‚‹ใ€‚ไธๅฏงใซๅ ดๅˆๅˆ†ใ‘ใ™ใ‚‹ใ€‚ใพใ•ใ‹18ๅˆ†ใง่งฃใ‘ใ‚‹ใจใฏๆ€ใ‚ใชใ‹ใฃใŸใ€‚

  1. $A &lt; B$ ใชใ‚‰ๅˆๆ—ฅใซ่ฒทใˆใชใ„ใฎใง No
  2. ไธŠ่จ˜ใงใฏใชใใ€ $D &lt; B$ ใชใ‚‰ใ„ใคใ‹ๅœจๅบซใŒๅฐฝใใ‚‹ใฎใง No
  3. ไธŠ่จ˜ใงใฏใชใใ€ $C \geq B$ ใชใ‚‰ๅธธใซ่ฃœๅ……ใ•ใ‚Œใฆใ„ใ‚‹ใฎใง yes
  4. ไธŠ่จ˜ใงใฏใชใใ€ $Rem = A mod B$ ใจใ™ใ‚‹ใ€‚ $Rem &gt; C$ ใชใ‚‰ใใฎๆ—ฅ่ฃœๅ……ใ•ใ‚Œใšๆฌกใฎๆ—ฅใซ่ถณใ‚Šใชใ„ใฎใง No

$C &lt; B$ ใงใ€ๅœจๅบซใŒ $C$ ใ‚ˆใ‚Šๅคšใ $B$ ๆœชๆบ€ใฎ็Šถๆ…‹ใชใ‚‰ใใฎๆ—ฅ่ฃœๅ……ใ•ใ‚Œใชใ„ใพใพๆฌกใฎๆ—ฅใซ่ถณใ‚Šใชใ„ใฎใง No ใงใ‚ใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใช็Šถๆ…‹ใŒ็™บ็”Ÿใ™ใ‚‹ใ‹็ขบใ‹ใ‚ใ‚‹ใ€‚

ๅŽŸ็‚นใ‚’ $R$ ใ ใ‘ใ‚ทใƒ•ใƒˆใ—ใฆใ€ $Left = C - R$, $Right = B - R$ ใจใ™ใ‚‹ใ€‚ $S = D mod B$ ๅˆปใฟใงๅŽŸ็‚นใ‹ใ‚‰ๅ‹•ใใ€ $Left &lt; p &lt; Right$ ใซใชใ‚‰ใชใ„ใ“ใจใ‚’็ขบ่ชใ™ใ‚‹ใ€‚ $S = 0$ ใชใ‚‰ใšใฃใจๅŽŸ็‚นใชใฎใง Yes ใงใ‚ใ‚‹ใ€‚

ๅ‘จๅ›žใ‚’่€ƒๆ…ฎใ™ใ‚‹ใจใ€ๅŽŸ็‚นใ‹ใ‚‰ $U = GCD(B,S)$ ๅˆปใฟใงๅ‹•ใใจ่ชญใฟๆ›ฟใˆใฆๆง‹ใ‚ใชใ„ใ€‚ $p = \lfloor Left/U \rfloor$ ใจใ—ใฆ $p \leq Left \land (p + U) \geq Right$ ใชใ‚‰ใ€ $Left &lt; p &lt; Right$ ใซใชใ‚‰ใชใ„ใฎใง Yes ใ€ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

AGC 026-C

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

$2^N$ ใงไฝœใ‚Œใ‚‹ไฝ•ใ‹ใ ใจใฏๆ€ใฃใŸใŒใ€ใƒใƒƒใ‚ทใƒฅใƒ€ใ‚คใ‚ธใ‚งใ‚นใƒˆใ ใจใฏๆฐ—ใŒไป˜ใ‹ใชใ‹ใฃใŸใ€‚

ๅ…ฌๅผ่งฃ่ชฌใ‚’่ชญใ‚“ใงใ€ $S$ ใ‚’ๅทฆๅณใซๅˆ†ๅ‰ฒใ—ใฆใ€ใƒใƒƒใ‚ทใƒฅใƒ€ใ‚คใ‚ธใ‚งใ‚นใƒˆใŒไธ€่‡ดใ™ใ‚‹็ต„ใฟๅˆใ‚ใ›ใ‚’ๆ•ฐใˆใ‚‹ใ€‚

AGC 027-A

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

Greedy

$a_i$ ใŒๅฐ‘ใชใ„ๅญไพ›ใ‹ใ‚‰้ †ใซ้…ใ‚Œใฐใ‚ˆใ„ใ€‚ $a_i$ ใ‚’ๆ˜‡้ †ใซใ‚ฝใƒผใƒˆใ—ใฆ็ดฏ็ฉๅ’Œใ‚’ๅ–ใ‚Šใ€้ †ใซๅญไพ› $1..N$ ใจใ™ใ‚‹ใ€‚

  • ๅ…จๅ“กใซใŠ่“ๅญใ‚’ใใฃใกใ‚Š้…ใ‚‹ใ€ใคใพใ‚Š $sum(a) = N$ ใชใ‚‰็ญ”ใˆใฏ $N$ ใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐไปฅไธ‹ใ€‚
  • ็ดฏ็ฉๅ’Œใ‚’ std::upper_bound ใ—ใฆใ€็ดฏ็ฉๅ’ŒใŒ $X$ ใ‚’่ถ…ใˆใ‚‹ๆœ€ๅˆใฎๅญไพ›ใŒ $1 \leq i \leq N$ ไบบ็›ฎใชใ‚‰ใ€ $i-1$ ไบบใพใงใฏๅ–œใฐใ™ใ“ใจใŒใงใใ€ $i$ ไบบ็›ฎไปฅ้™ใ‚’ๅ–œใฐใ›ใ‚‹ใ“ใจใฏใงใใชใ„ใ€‚ไฝ™ใฃใŸใŠ่“ๅญใ‚’ $N$ ไบบ็›ฎใฎๅญไพ›ใซๅ…จ้ƒจ้…ใ‚Œใฐ(ๅ…ฌๅผ่งฃ่ชฌใฎ่กจ็พใ ใจๆŠผใ—ไป˜ใ‘ใ‚‹)ใ€ $N$ ไบบ็›ฎใฎๅญไพ›ใฏๅ–œใฐใชใ„ใŒไป–ใฎๅญไพ›ใฏๅ–œใถๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ็ญ”ใˆใฏ $min(N-1, i-1)$ ใงใ‚ใ‚‹ใ€‚

AGC 027-C

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

ๆ–น้‡ใฏ็ซ‹ใฃใŸใŒๅฎŸ่ฃ…ๆ–นๆณ•ใŒๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

ๅ€ค A ใ‚’ๅ–ใ‚‹้ ‚็‚น็พค $G_A$ ใจ ๅ€ค B ใ‚’ๅ–ใ‚‹้ ‚็‚น็พค $G_B$ ใŒใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ ${a,b} \in G_A$ ใจ ${c,d} \in G_B$ ใจใ„ใ†้ ‚็‚นใŒใ‚ใ‚Šใ€ $a-b, b-c, c-d, d-a$ ใŒ็ตใฐใ‚Œใฆใ„ใ‚Œใฐใ“ใฎใƒซใƒผใƒ—ใ‚’ไฝฟใฃใฆไปปๆ„ใฎๆ–‡ๅญ—ๅˆ—ใ‚’ไฝœใ‚Œใ‚‹ใ€‚ $a \ne b$ ใฏๅธธใซ้ธในใฆใ€ $a = b$ ใฏ $a$ ใซ่‡ชๅทฑใƒซใƒผใƒ—ใŒใ‚ใ‚‹ใจใใฏใใฎใ‚ˆใ†ใซใ—ใฆใ‚‚ใ‚ˆใ„( $c$ ใ‚‚ๅŒๆง˜)ใ€‚ๅ…ทไฝ“็š„ใซใฏใƒซใƒผใƒ—ไธŠใ‚’ไปฅไธ‹ใฎใ‚ˆใ†ใซๅ‹•ใใ€‚

  • AA ใฏ $a-b$ ใ‚’่กŒใๆฅใ™ใ‚‹
  • BB ใฏ $c-d$ ใ‚’่กŒใๆฅใ™ใ‚‹
  • AB ใฏ $(a,b)$ ใ‹ใ‚‰ $(c,d)$ ใซ่กŒใ
  • BA ใฏ $(c,d)$ ใ‹ใ‚‰ $(a,b)$ ใซ่กŒใ

ใ“ใฎใƒซใƒผใƒ—ใ‚’ๆคœๅ‡บใ™ใ‚‹ๆ–นๆณ•ใŒๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใ‚’่ชญใ‚“ใงใ‚ˆใ†ใ‚„ใๅˆ†ใ‹ใฃใŸใ€‚ใ‚ใ‚‹้ ‚็‚น $a$ ใซใคใ„ใฆใ€้šฃๆŽฅใ™ใ‚‹้ ‚็‚นใŒใชใ„ใ‹ใ€้šฃๆŽฅใ™ใ‚‹้ ‚็‚นใฎๅ€คใŒไธ€็จฎ้กžใ—ใ‹ใชใ„ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใ้ ‚็‚น $a$ ใ‚’้™คใใ€‚ $a$ ใซ้šฃๆŽฅใ™ใ‚‹้ ‚็‚น $b$ ใซใคใ„ใฆใ€ $a$ ใฎๅ€คใ‚’ๅ–ใ‚‰ใชใใชใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใฎใงใ€ใใฎๆ™‚ใฏ้ ‚็‚น $b$ ใ‚’ๅ–ใ‚Š้™คใใ€‚ใ“ใ‚Œใ‚’็นฐใ‚Š่ฟ”ใ™ใ€‚ๅ…ทไฝ“็š„ใซใฏไปฅไธ‹ใฎ้€šใ‚Šๅ†ๅธฐใ™ใ‚‹ใ€‚

  • ้ ‚็‚น $v$ ใซ้šฃๆŽฅใ™ใ‚‹้ ‚็‚น $U_v$ ใซใคใ„ใฆใ€ A ใ‚’ $C_A[v]$ ๅ€‹ใ€ B ใ‚’ $C_B[v]$ ๅ€‹ๅ–ใ‚‹ใ“ใจใ‚’ๆ•ฐใˆใ‚‹
  • $C_A[v] = 0 \lor C_B[v] = 0$ ใช้ ‚็‚นใ‚’ใ‚ญใƒฅใƒผใซๅ…ฅใ‚Œใ‚‹
  • ใ‚ญใƒฅใƒผใ‹ใ‚‰ๅ–ใ‚Šๅ‡บใ—ใŸ้ ‚็‚น $v$ ใฎๅ€คใ‚’ $K$ ใจใ™ใ‚‹ใ€‚้ ‚็‚น $v$ ใซ้šฃๆŽฅใ™ใ‚‹้ ‚็‚น $u \in U_v$ ใซใคใ„ใฆใ€ $C_K[u]$ ใ‚’1ๆธ›ใ‚‰ใ™ใ€‚ๆธ›ใ‚‰ใ—ใŸๅพŒใซ0ใซใชใฃใŸใ‚‰ใ€ใ‚ญใƒฅใƒผใซ้ ‚็‚น $u$ ใ‚’ๅ…ฅใ‚Œใ‚‹
  • ใ“ใ‚Œใ‚’็นฐใ‚Š่ฟ”ใ—ใฆ้ ‚็‚นใŒ็„กใใชใฃใŸใ‚‰็ญ”ใˆใฏ No ใ€้ ‚็‚นใŒๆฎ‹ใฃใŸใ‚‰ใƒซใƒผใƒ—ใŒใ‚ใ‚‹ใฎใง็ญ”ใˆใฏ Yes ใงใ‚ใ‚‹

ใƒˆใƒใƒญใ‚ธใ‚ซใƒซใ‚ฝใƒผใƒˆใจ่จ€ใ‚ใ‚Œใ‚Œใฐใใฎ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

AGC 028-A

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

ๆกไปถใŒใ‚„ใ‚„ใ“ใ—ใ„

่งฃใŒใ‚ใ‚‹ใชใ‚‰ $N,M$ ใฎๆœ€ๅฐๅ…ฌๅ€ๆ•ฐใงใ‚ใ‚‹ใ€‚่งฃใŒใ‚ใ‚‹ใ‹ใฉใ†ใ‹ใฎๅ ดๅˆๅˆ†ใ‘ใŒๅคงๅค‰ใงใ‚ใ‚‹ใ€‚

  • $N=M$ ใชใ‚‰ใ€ $S=T$ ใฎใจใ่งฃใฏ $N$ ใ€ใใ†ใงใชใ‘ใ‚Œใฐ่งฃใชใ— -1 ใงใ‚ใ‚‹
  • $S,T$ ใฎๆœ€ๅˆใฎๆ–‡ๅญ—ใŒ็•ฐใชใ‚‹ใชใ‚‰่งฃใชใ—ใงใ‚ใ‚‹
  • $N$ ใŒ $M$ ใงๅ‰ฒใ‚Šๅˆ‡ใ‚Œใ‚‹ใ‚‚ใ—ใใฏ $M$ ใŒ $N$ ใงๅ‰ฒใ‚Šๅˆ‡ใ‚Œใ‚‹ใจใใ€ $S,T$ ใฎๆœ€ๅพŒใฎๆ–‡ๅญ—ใŒ็•ฐใชใ‚‹ใชใ‚‰่งฃใชใ—ใงใ‚ใ‚‹
  • $N,M$ ใŒไบ’ใ„ใซ็ด ใชใ‚‰ใ€ $S,T$ ใฎๆ–‡ๅญ—ใ‚’ไบ’ใ„้•ใ„ใซ $X$ ใซ็ต„ใฟ่พผใ‚ใ‚‹ใฎใง่งฃใŒใ‚ใ‚‹
  • ใใ‚Œไปฅๅค–ใฏๅฎŸ้š›ใซ $X$ ใ‚’ไฝœใฃใฆใฟใ‚‹ใ€‚ไธŠ่จ˜ใฎใƒ•ใ‚ฃใƒซใ‚ฟใƒชใƒณใ‚ฐใชใ—ใซ $X$ ใ‚’ไฝœใ‚‹ใจRE/MLEใ™ใ‚‹ใ€‚

AGC 029-A

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

ใ‚„ใฃใฆใฟใ‚‹

็™ฝ็Ÿณใฎๅทฆใซ้ป’็ŸณใŒไธฆใ‚“ใงใ„ใ‚Œใฐใ€ไธฆใ‚“ใงใ„ใ‚‹้ป’็Ÿณใฎๅทฆ็ซฏใซใใฎ็™ฝ็Ÿณใ‚’็ฝฎใ‘ใ‚‹ใ€‚ไธฆใ‚“ใงใ„ใชใ„ใคใพใ‚ŠๅทฆใŒ็™ฝ็Ÿณใชใ‚‰ไฝ•ใ‚‚ใงใใชใ„ใ€‚ใ‚ˆใฃใฆใ€ๆ—ข็Ÿฅใฎ้ป’็Ÿณใฎๅ ดๆ‰€ใ‚’ใ‚ซใƒผใ‚ฝใƒซใจใ—ใฆ่ฆšใˆใฆ็ฝฎใใ€็™ฝ็Ÿณใ‚’ๅทฆใซๅฏ„ใ›ใฆใ„ใใ€‚ $S_{1..N}$ ใซใคใ„ใฆใ€

  • ๅˆๆœŸ็Šถๆ…‹ใงใฏใ‚ซใƒผใ‚ฝใƒซ $c$ ใฏ $NA$
  • $S_i=B$ ใ‹ใคใ‚ซใƒผใ‚ฝใƒซ $c=NA$ ใชใ‚‰ใ€ใ‚ซใƒผใ‚ฝใƒซใ‚’ $i$ ใซใ™ใ‚‹ใ€‚
  • $S_i=B$ ใ‹ใคใ‚ซใƒผใ‚ฝใƒซ $c \ne NA$ ใชใ‚‰ใฐไฝ•ใ‚‚ใ—ใชใ„
  • $S_i=W$ ใ‹ใคใ‚ซใƒผใ‚ฝใƒซ $c=NA$ ใชใ‚‰ไฝ•ใ‚‚ใ—ใชใ„
  • $S_i=W$ ใ‹ใคใ‚ซใƒผใ‚ฝใƒซ $c \ne NA$ ใชใ‚‰ $i-c$ ใ‚’ๆ“ไฝœๅ›žๆ•ฐใซๅŠ ็ฎ—ใ™ใ‚‹

ๅ…ฌๅผ่งฃ่ชฌใฏไธŠ่จ˜ใ‚’ไธŠๆ‰‹ใๆ•ด็†ใ—ใฆใ„ใฆใ€็™ฝ็Ÿณใฎๅทฆใซใ‚ใ‚‹้ป’็Ÿณใฎๆ•ฐใงใ‚ใ‚‹ใ“ใจใ‚’ๅฐŽๅ‡บใ—ใฆใ„ใ‚‹ใ€‚

AGC 029-B

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

ๅฎŸใฏgreedyใง่งฃใ‘ใ‚‹ใ€‚

ๅคงใใชๆ•ฐๅญ—ใฏ็›ธๆ‰‹ใฎใƒšใ‚ขใŒ่‡ชๅˆ†ไปฅไธ‹ใฎๆ•ฐๅญ—ใซ้™ใ‚‰ใ‚Œใ‚‹ใŒใ€ๅฐใ•ใชๆ•ฐๅญ—ใฏ็›ธๆ‰‹ใฎใƒšใ‚ขใŒ่‡ชๅˆ†ไปฅไธŠใชใ‚‰ไฝ•ใงใ‚‚ใ„ใ„ใฎใงไฝฟใ„ๅ‹ๆ‰‹ใŒใ„ใ„ใจๅˆ†ใ‹ใ‚‹ใ€‚ใ‚ˆใฃใฆๅคงใใชๆ•ฐๅญ—ใ‹ใ‚‰้ †ใซใƒšใ‚ขใ‚’็ต„ใ‚€ใ€‚

้‡่ค‡ใ‚’่จฑใ—ใฆๅคงใใชๆ•ฐๅญ— $A$ ใ‹ใ‚‰้ †ใซใ€ใƒšใ‚ขใŒ็ต„ใ‚ใ‚‹ใ‹ใฉใ†ใ‹่€ƒใˆใ‚‹ใ€‚

  • $A$ ใŒ2ใฎในใไน—ใ€ใคใพใ‚Š็ซ‹ใฃใฆใ„ใ‚‹ใƒ“ใƒƒใƒˆใŒ1ๅ€‹ใชใ‚‰ใ€ใ‚‚ใ†ไธ€ๅ€‹ $A$ ใ‚’็ต„ใ‚ใ‚‹ใชใ‚‰็ต„ใพใ›ใ‚‹ใ€‚
  • $A$ ใŒ2ใฎในใไน—ไปฅๅค–ใชใ‚‰ใ€ $A$ ใฎใƒ“ใƒƒใƒˆๅน…ใŒ $w$ ใจใ—ใฆ $2^w-A$ ใจ็ต„ใ‚ใ‚‹ใชใ‚‰็ต„ใพใ›ใ‚‹
  • ใƒšใ‚ขใ‚’็ต„ใ‚ใŸใ‹ใฉใ†ใ‹ใซใ‹ใ‹ใ‚ใ‚‰ใšใ€ $A$ ใ‚’1ๅ€‹ๅ‰Š้™คใ™ใ‚‹ใ€‚ใƒšใ‚ขใ‚’็ต„ใ‚ใŸใ‚‰ใชใ‚‰็ต„ใ‚“ใ ็›ธๆ‰‹ใ‚’ๅ‰Š้™คใ™ใ‚‹ใ€‚

ใ“ใ†ใ™ใ‚‹ใจใ„ใคใ‹ใƒœใƒผใƒซใŒๅฐฝใใ‚‹ใฎใง็ญ”ใˆใŒๆฑ‚ใพใ‚‹ใ€‚

AGC 030-A

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

ไธ€ใคๅคšใ„

่งฃๆฏ’ใงใใ‚‹ๅ›žๆ•ฐใฏ $A+B$ ใชใฎใงใ€ใ‚ฏใƒƒใ‚ญใƒผCใฏ $min(C, A+B+1)$ ใพใงๅฎน่ชใ•ใ‚Œใ‚‹ใ€‚ +1 ใ‚’ใ†ใฃใ‹ใ‚Šๅฟ˜ใ‚Œใ‚„ใ™ใ„ใ€‚ใใ‚Œใจใฏ็‹ฌ็ซ‹ใซใ‚ฏใƒƒใ‚ญใƒผBใฏ้ฃŸในใŸใ„ใ ใ‘้ฃŸในใ‚Œใฐใ„ใ„ใฎใงใ€็ญ”ใˆใฏ $min(C, A+B+1)+B$ ใงใ‚ใ‚‹ใ€‚

AGC 031-A

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

ๆ–‡ๅญ— $C$ ใŒ $D$ ๅ›žๅ‡บ็พใ™ใ‚‹ใชใ‚‰ใ€ $C$ ใ‚’ไฝฟใ‚ใชใ„ใฎใŒไธ€้€šใ‚Šใ€ไฝฟใ†ใฎใŒ $D$ ้€šใ‚Šใ€่จˆ $D + 1$ ้€šใ‚Šใฎไฝฟใ„้“ใŒใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’ a..z ใซใคใ„ใฆๆŽ›ใ‘ใŸใ‚‚ใฎใ‹ใ‚‰1ๅผ•ใ(็ฉบๆ–‡ๅญ—ๅˆ—ใชใฎใง)ใจ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 031-B

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

ๅˆถ็ด„ใ‹ใ‚‰DPใ ใจๆ€ใฃใŸใ€‚

$DP[i=1..N]$ ใ‚’ใ€็Ÿณ $i$ ใพใงใฟใŸใจใใฎ็Ÿณใฎ่‰ฒใฎๅˆ—ใจใ—ใฆใ‚ใ‚Šใ†ใ‚‹ใ‚‚ใฎใฎๅ€‹ๆ•ฐใจใ™ใ‚‹ใ€‚ $DP[0] = 1$ ใจใ™ใ‚‹ใ€‚็Ÿณ $i$ ใซใคใ„ใฆใ€ใใฎๅทฆๅดใ‚’ๆ–ฐใŸใซๅก—ใ‚Œใ‚‹ใชใ‚‰ๅก—ใ‚Šใ€ๅก—ใ‚Œใชใ„ใชใ‚‰ๅก—ใ‚‰ใชใ„ใ“ใจใ‚’DPใ™ใ‚‹ใ€‚ $C_j = C_i \land j &lt; i$ ใ‚’ๆบ€ใŸใ™ๆœ€ๅคงใฎ $j$ ใŒๅญ˜ๅœจใ™ใ‚‹ใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚ใ“ใ‚Œใฏ่‰ฒ $C_i$ ใจใชใ‚‹็Ÿณใฎไฝ็ฝฎใ‚’ std::lower_bound ใ‹ใ‚‰ๅˆ†ใ‹ใ‚‹ใ€‚

  • ใ“ใฎใ‚ˆใ†ใช $j$ ใŒใชใ‘ใ‚Œใฐๅก—ใ‚Œใชใ„ใ€‚ $DP[i] = DP[i-1]$ ใงใ‚ใ‚‹ใ€‚
  • $j = i-1$ ใชใ‚‰ๅก—ใฃใฆใ‚‚ไฝ•ใ‚‚ๅค‰ใ‚ใ‚‰ใชใ„ใ€‚ $DP[i] = DP[i-1]$ ใงใ‚ใ‚‹ใ€‚
  • $j &lt; i-1$ ใชใ‚‰ๅก—ใ‚‰ใชใ„ใจใใจๅก—ใฃใŸใจใใฎไธกๆ–นใ‚’่€ƒๆ…ฎใ—ใฆใ€ $DP[i] = DP[i-1] + DP[j]$ ใงใ‚ใ‚‹ใ€‚

$DP[N]$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 032-A

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

ๅพŒใ‚ใ‹ใ‚‰ๅ†ๅธฐ

้ †ๆ“ไฝœ $1..N$ ใ‚’็ต‚ใˆใŸๅพŒใซ $b$ ใซใชใฃใŸใฎใชใ‚‰ใ€ $b$ ใฎไธญใซๅฎšไฝ็ฝฎใฎใ‚‚ใฎใŒๅฐ‘ใชใใจใ‚‚ไธ€ใคใ‚ใ‚‹ใฏใšใงใ‚ใ‚‹ใ€‚ใคใพใ‚Š $\exists i : b_i=i$ ใงใ‚ใ‚‹ใ€‚ๅฎšไฝ็ฝฎใฎใ‚‚ใฎใŒใชใ‘ใ‚Œใฐใใฎใ‚ˆใ†ใช้ †ๆ“ไฝœใฏๅญ˜ๅœจใ—ใชใ„ใฎใงใ€็ญ”ใˆใฏ -1 ใงใ‚ใ‚‹ใ€‚

ๅฎšไฝ็ฝฎใซใ‚ใ‚‹ $b_1..b_N$ ใ‹ใ‚‰ใ‚‚ใฃใจใ‚‚ๅณใซใ‚ใ‚‹ ($i$ ใŒๆœ€ใ‚‚ๅคงใใ„) ใ‚‚ใฎใฏใ€ๆœ€ๅพŒใซๆŒฟๅ…ฅใ•ใ‚ŒใŸใฏใšใงใ‚ใ‚‹ใ€‚ใชใœใชใ‚‰ $i$ ใ‚ˆใ‚Šๅฐใ•ใ„ๅฎšไฝ็ฝฎใซใ‚ˆใฃใฆใ€ๅณใซๆŠผใ—ๅ‡บใ•ใ‚Œใชใ‹ใฃใŸใ‹ใ‚‰ใงใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆๆœ€ใ‚‚ๅณๅดใซใ‚ใ‚‹ๅฎšไฝ็ฝฎใ‚’้™คใ้€†ๆ“ไฝœใ‚’่กŒใ†ใ€‚

้€†ๆ“ไฝœใ‚’็นฐใ‚Š่ฟ”ใ—ใฆ็ฉบ้›†ๅˆใซใงใใŸใชใ‚‰ใ€ใ“ใฎ้€†ๆ“ไฝœใฎ้€†้ †ใŒ้ †ๆ“ไฝœใฎ้ †็•ชใคใพใ‚Š็ญ”ใˆใงใ‚ใ‚‹ใ€‚้€”ไธญใงๅฎšไฝ็ฝฎใฎ $b$ ใŒ่ฆ‹ใคใ‹ใ‚‰ใชใ‹ใฃใŸใ‚‰ใใฎใ‚ˆใ†ใช้ †ๆ“ไฝœใฏๅญ˜ๅœจใ—ใชใ„ใฎใงใ€็ญ”ใˆใฏ -1 ใงใ‚ใ‚‹ใ€‚

AGC 032-B

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

ๆ‰‹ใ‚’ๅ‹•ใ‹ใ™

ใจใฆใ‚‚ๆ™‚้–“ใŒๆŽ›ใ‹ใฃใŸใŒใ€ๆ‰‹ใ‚’ๅ‹•ใ‹ใ™ใจ็ŠถๆณใŒ่ฆ‹ใˆใฆใใ‚‹ใ€‚ไพ‹ใˆใฐ $N=8$ ใชใ‚‰่ถณใ—ใฆๅŒใ˜ๆ•ฐใซใชใ‚‹็ต„ใฏ $(1,9),(2,7),(3,6),(4,5)$ ใชใฎใงใ€2ใ‚’่ถณใ™ใชใ‚‰7ใ‚‚่ถณใ™ใ€3ใ‚’่ถณใ™ใชใ‚‰6ใ‚‚่ถณใ™ใ€ใจใ„ใ†ๅฏพ็งฐๆ€งใ‚’ๆŒใŸใ›ใ‚‹ใจไธŠๆ‰‹ใใ„ใใใ†ใงใ‚ใ‚‹ใ€‚

$N$ ใŒๅถๆ•ฐใฎใจใ $H=N/2$ ใจใŠใใ€‚ $S = (N+1)(H-1)$ ใงใ‚ใ‚‹ใ€‚ $i=2..N$ ใŠใ‚ˆใณ $\bar{i} = N+1-i$ ใซใคใ„ใฆไปฅไธ‹ใฎ้€šใ‚Šใซใ™ใ‚‹ใ€‚

  • $1,N$ ใจ็ตใถ
  • $i \ne j, \bar{i} \ne j$ ใชใ‚‰ $(j,N+1-j)$ ใจ็ตใถ

$N$ ใŒๅฅ‡ๆ•ฐใฎใจใ $H=(N-1)/2$ ใจใŠใใ€‚ $S = N(H-1)$ ใงใ‚ใ‚‹ใ€‚ๆœ€ๅˆใซ $(1,N)$, $(N-1,N)$ ใ‚’็ตใถใ€‚ $i=2..N$ ใŠใ‚ˆใณ $\bar{i} = N-i$ ใซใคใ„ใฆไปฅไธ‹ใฎ้€šใ‚Šใซใ™ใ‚‹ใ€‚

  • $1,N-1,N$ ใจ็ตใถ
  • $i \ne j, \bar{i} \ne j$ ใชใ‚‰ $(j,N-j)$ ใจ็ตใถ

่พบใŒ้‡่ค‡ใ™ใ‚‹ใฎใงไธฆใณๆ›ฟใˆใฆใ‹ใ‚‰ std::unique, std::erase ใง้‡่ค‡ใ‚’้™คใ„ใฆใ‹ใ‚‰ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ‚‚ใฃใจ็ฐกๆฝ”ใซ่ชฌๆ˜Žใ—ใฆใ„ใฆใ€ๅฅ‡ๆ•ฐใฎใจใใฏ $N$ ใ‚’้™คใ„ใฆๅถๆ•ฐๅ€‹ใฎๅ ดๅˆใ‚’ๆ‹กๅผตใ—ใฆใ„ใ‚‹ใ€‚

AGC 033-A

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

BFSใงๆฑ‚ใพใ‚‹ใ€‚้–‹ๅง‹็‚นใฏ่ท้›ข0ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ“ใจใ‚’ๅฟ˜ใ‚Œใชใ„ใ€‚

AGC 033-B

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

Greedyใ ใจ1 WAใŒๅ–ใ‚Œใชใ„ใพใพ่ซฆใ‚ใŸใ€‚

ๆญฃใ—ใใฏๆœ€็ต‚็Šถๆ…‹ใ‹ใ‚‰่€ƒใˆใ‚‹ใ€‚ใ“ใกใ‚‰ใฎ ่จ˜ไบ‹ ้€šใ‚ŠใซๅฎŸ่ฃ…ใ—ใŸใŒใ€ๆœ‰ๅŠนใชๅŒบ้–“ใฏ $[Left,right)$ ใฎๅŠ้–‰ๅŒบ้–“ใงใ‚ใ‚‹ใ“ใจใซๆณจๆ„ใ™ใ‚‹ใ€‚

AGC 033-C

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

ๆœ€็ต‚ๆๅ‡บใŒ2019-05-05 (ใ‚ณใƒณใƒ†ใ‚นใƒˆใฎ็ฟŒๆœ)ใจใ‚ใ‚Šใ€ๅฝ“ๆ™‚ใฏ็ซถๆŠ€ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐใ‚’ใ™ใ‚‹ใจใฏๆ€ใ‚ใšใ€ใกใ‚‡ใฃใจใ‚„ใฃใฆใฟใฆๆ‰‹ใซ่ฒ ใˆใชใ‹ใฃใŸใ‚‰ใ—ใ„ใ€‚ๆœจใฎ็›ดๅพ„ใจใ„ใ†่จ€่‘‰ใ‚’็Ÿฅใ‚‰ใชใ‹ใฃใŸใ—ใ€ $O(NlogN)$ ใƒ€ใ‚คใ‚ฏใ‚นใƒˆใƒฉๆณ•ใ‚‚ๆœจใฎ็›ดๅพ„ใ‚’ๆฑ‚ใ‚ใ‚‹ใƒฉใ‚คใƒ–ใƒฉใƒชใ‚‚ไฝœใฃใฆใ„ใชใ‹ใฃใŸใฎใงใ€ๆ‰‹ใซ่ฒ ใˆใชใใฆๅฝ“็„ถใ ใจๆ€ใ†ใ€‚

ไปŠ่งฃใ„ใŸใ‚‰15ๅˆ†็จ‹ๅบฆใง่งฃใ‘ใฆใ—ใพใฃใŸใ€‚

้ ‚็‚นใ‚’ใคใพใ‚“ใงใ‚ณใ‚คใƒณใ‚’ๅธใ„ไธŠใ’ใ‚‹ใ“ใจใ‚’่€ƒใˆใ‚‹ใ€‚ๆœจใฎ็›ดๅพ„ใ‚’ $D$ ใจใ—ใŸใจใใ€ใ“ใฎๅธใ„ไธŠใ’ใงใ€ใ‚ณใ‚คใƒณใฎใ‚ใ‚‹้ ‚็‚นใ ใ‘ใ‹ใ‚‰ใชใ‚‹ๆœจใฎ็›ดๅพ„ใ‚’ใ€1ใพใŸใฏ2ๆธ›ใ‚‰ใ™ใ“ใจใŒใงใใ‚‹ใ€‚ใ“ใ†่€ƒใˆใ‚Œใฐใ‚ˆใใ‚ใ‚‹็Ÿณๅ–ใ‚Šใ‚ฒใƒผใƒ ใงใ‚ใ‚Šใ€ $D+1$ ใ‚’3ใงๅ‰ฒใฃใŸไฝ™ใ‚ŠใŒ2ใชใ‚‰ๅพŒๆ‰‹ๅฟ…ๅ‹ใ€ใใ†ใงใชใ‘ใ‚Œใฐๅ…ˆๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹ใ€‚ใชใœใชใ‚‰็Ÿณใ‚‚ใจใ„็›ดๅพ„ใฎ้ท็งปใฏใ€ๅ…ˆๆ‰‹็•ชใ‚’ๆœ‰ๅˆฉใซใ™ใ‚‹ใชใ‚‰ไปฅไธ‹ใฎ้€šใ‚Šใ ใ‹ใ‚‰ใงใ‚ใ‚‹ใ€‚

  • 1ใฏ0ใซใ—ใ‹ใงใใšๅ…ˆๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹
  • 2ใฏ1ใซใ—ใ‹ใงใใšๅพŒๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹
  • 3ใฏ1ใพใŸใฏ2ใซใงใใฆใ€2ใซใ™ใ‚Œใฐๅ…ˆๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹
  • 4ใฏ2ใพใŸใฏ3ใซใงใใฆใ€2ใซใ™ใ‚Œใฐๅ…ˆๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹
  • 5ใฏ3ใพใŸใฏ4ใซใงใใ‚‹ใŒใ€ใฉใกใ‚‰ใ‚’้ธใ‚“ใงใ‚‚ๅพŒๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹
  • ไธŠ่จ˜ใ‚’ๆ‹กๅผตใ—ใ€ไธ€่ˆฌ็š„ใซ $3i+0,1$ ใฏๅ…ˆๆ‰‹ๅฟ…ๅ‹ใ€ $3i+2$ ใฏๅพŒๆ‰‹ๅฟ…ๅ‹ใงใ‚ใ‚‹

AGC 034-A

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

ใฉใ“ใง่ฟฝใ„่ถŠใ™ใ‹

ๆœ€ๅˆใซ $A \leq B$ ใจใ—ใฆไธ€่ˆฌๆ€งใ‚’ๅคฑใ‚ใชใ„( $A &gt; B$ ใชใ‚‰ $A$ ใจ $B$ , $C$ ใจ $D$ ใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใ‚‹)ใ€‚ $C=D$ ใชใ‚‰ๆ˜Žใ‚‰ใ‹ใซๆ“ไฝœใฏ้”ๆˆไธๅฏ่ƒฝใงใ‚ใ‚‹ใ€‚ใจๆ€ใฃใŸใ‚‰ๅ…ƒใ€… $A &lt; B$ ใ ใฃใŸใ€‚

$A &lt; B$ ใ‹ใค $D &lt; C$ ใชใ‚‰ใ€ใ™ใฌใ‘ๅ›ใฏใฉใ“ใ‹ใงใตใฌใ‘ๅ›ใ‚’่ฟฝใ„่ถŠใ•ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐใ€ๅ…ˆใซใตใฌใ‘ๅ›ใŒ $D$ ใซ็งปๅ‹•ใ—ใŸๅพŒใซใ™ใฌใ‘ๅ›ใŒ็งปๅ‹•ใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

่ฟฝใ„่ถŠใ—ๅฏ่ƒฝใ‹ใฉใ†ใ‹ใฏใ€ไปฅไธ‹ใฎไธ‰ใƒ‘ใ‚ฟใƒผใƒณใ‚’่ชฟในใ‚‹ใ€‚1,2,3ใ‚’ใ™ในใฆๆบ€ใŸใ™ใชใ‚‰่ฟฝใ„่ถŠใ—ๅฏ่ƒฝใงใฏใชใใ€ๆ“ไฝœใฏ้”ๆˆไธๅฏ่ƒฝใงใ‚ใ‚‹ใ€‚

  1. Bใง่ฟฝใ„่ถŠใ™ใ€‚ใคใพใ‚Š $B+1$ ใฏๅฒฉใงใฏใชใใ€ $B &gt; 1$ ใชใ‚‰ $B-1$ ใฏๅฒฉใงใฏใชใ„
  2. Dใง่ฟฝใ„่ถŠใ™ใ€‚ใคใพใ‚Š $D-1$ ใฏๅฒฉใงใฏใชใ„ใ€ $D &lt; N$ ใชใ‚‰ $N+1$ ใฏๅฒฉใงใฏใชใ„(ใ“ใ‚ŒใŒใชใใฆใ‚‚ AC ใงใใฆใ—ใพใฃใŸ)
  3. ้€”ไธญใง่ฟฝใ„่ถŠใ›ใชใ„ใ€‚ใคใพใ‚Š $[B,D]$ ใซไฝ•ใ‚‚็ฝฎใ‹ใ‚Œใฆใ„ใชใ„ใƒžใ‚น็›ฎใŒไธ‰้€ฃ็ถšใ—ใฆใ„ใ‚‹็ฎ‡ๆ‰€ใŒใชใ„

่ฟฝใ„่ถŠใ—ๅฏ่ƒฝใพใŸใฏ่ฟฝใ„่ถŠใ™ๅฟ…่ฆใŒใชใ‘ใ‚Œใฐใ€ใ™ใฌใ‘ๅ›ใจใตใฌใ‘ๅ›ใŒ็งปๅ‹•ๅฏ่ƒฝใ‹่ชฟในใ‚Œใฐใ‚ˆใ„ใ€‚ใ“ใ‚Œใฏๅ‹•็š„่จˆ็”ปๆณ•ใง1,2ๆญฉๅ…ˆใซ้€ฒใ‚ใ‚‹ใ‹ใฉใ†ใ‹่ชฟในใ€้€ฒใ‚“ใ ๅ…ˆใงใ‚‚ๅŒๆง˜ใซ่ชฟในใ‚‹ใฎใ‚’ $C,D$ ใซๅˆฐ้”ใ™ใ‚‹ใ‹็งปๅ‹•ไธ่ƒฝใซใชใ‚‹ใพใง็นฐใ‚Š่ฟ”ใ™ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใ‚’ใฟใ‚‹ใจใ€ใ‚‚ใฃใจๆกไปถใŒ็ฐกๅ˜ใ ใฃใŸใ€‚ๅฎŸ่ฃ…ใ™ใ‚‹ใจ ใ“ใฎใ‚ˆใ†ใซ ใซใชใ‚‹ใ€‚

  1. $[A,C]$, $[B,D]$ ใซๅฒฉใŒไบŒ้€ฃ็ถšใ—ใฆใ„ใชใ„
  2. $C &gt; D$ ใชใ‚‰้€”ไธญใง่ฟฝใ„่ถŠใ›ใ‚‹ๅ ดๆ‰€ใŒใ‚ใ‚‹ใ€‚ใคใพใ‚Š $[max(0,B-1),min(N,D+1)]$ ใซไฝ•ใ‚‚็ฝฎใ‹ใ‚Œใฆใ„ใชใ„ใƒžใ‚น็›ฎใŒไธ‰้€ฃ็ถšใ—ใฆใ„ใ‚‹็ฎ‡ๆ‰€ใŒใ‚ใ‚‹ใ€‚ๅขƒ็•Œๅ€คใฎๅ–ใ‚Šๆ–นใŒๅ…ฌๅผ่งฃ่ชฌใฏๅทงๅฆ™ใงใ‚ใ‚‹ใ€‚

AGC 034-B

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

Rubyใง string#scan ใฏๆ€ใ„ใคใ„ใŸใŒใ€ใใ“ใ‹ใ‚‰ๆ–‡ๅญ—ๅˆ—็ฝฎๆ›ใ—ใฆ่ปขๅ€’ๆ•ฐใฏๆ€ใ„ใคใ‹ใชใ‹ใฃใŸใ€‚

AGC 035-A

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

ACใงใใฆใ—ใพใฃใŸ

ๅ•้กŒใ‚’่ชญใฟ้•ใˆใŸใฎใจSTLใฎไฝฟใ„ๆ–นใ‚’้–“้•ใฃใŸใฎใง75ๅˆ†ๆŽ›ใ‹ใฃใŸใ€‚

ๆœ€ๅˆใซ็ฐกๅ˜ใชไพ‹ใซๅฏพๅ‡ฆใ™ใ‚‹ใ€‚ $a$ ใŒใ™ในใฆ0ใชใ‚‰ๆ˜Žใ‚‰ใ‹ใซ็ฝฎใ‘ใ‚‹ใฎใง Yes ใ€ $a$ ใŒ0ใงใฏใชใใ™ในใฆๅŒใ˜ๆ•ฐใชใ‚‰0ใŒๅฟ…่ฆใชใฎใง No ใงใ‚ใ‚‹ใ€‚

$a_{1..N}$ ใฎ้›†ๅˆใ‚’ $S$ ใจใ—ใ€ $S$ ใฎ ๆœ€ๅคงๆœ€ๅฐๅ€คใชใฉไฝ•ใงใ‚‚ใ„ใ„ใ‹ใ‚‰ $a$ ใ‹ใ‚‰ไบŒๆ•ฐใ‚’้ธใ‚“ใง $A_{init},B_{init}$ ใจใŠใใ€‚ $A_{init} = B_{init}$ ใงใ‚‚ๆง‹ใ‚ใชใ„ใ€‚ $A = A_{init}$ , $B = B_{init}$ ใจใŠใ„ใฆใ€ $S$ ใ‹ใ‚‰ $A,B$ ใ‚’้™คใใ€‚ใ“ใฎๅ‡ฆ็†ใŒ้–“้•ใฃใฆใ„ใฆใ€ๆœฌๅฝ“ใฏ $A \oplus B = C$ ใ‚’ๆบ€ใŸใ™ $C$ ใŒๅญ˜ๅœจใ™ใ‚‹ $A,B$ ใ‚’้ธใฐใชใ‘ใ‚Œใฐใชใ‚‰ใชใ‹ใฃใŸใฎใงใ€ๅ…ฌๅผ่งฃ่ชฌใฎๅ‰ๆใŒ็„กใ„ใจTLEใ™ใ‚‹ใ€‚

$A \oplus C = B \Leftrightarrow A \oplus B = C$ ใ‹ใ‚‰ใ€ $S$ ใซ $C$ ใŒใ‚ใ‚‹ใ‹ใฉใ†ใ‹่ชฟในใ‚‹ใ€‚ใชใ‘ใ‚Œใฐ้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ“ใจใฏใงใใชใ„ใฎใง No ใงใ‚ใ‚‹ใ€‚ใ‚ใ‚Œใฐ $B$ ใ‚’ $A$ ใซ่ชญใฟๆ›ฟใˆใ€ $C$ ใ‚’ $B$ ใซ่ชญใฟๆ›ฟใˆใ€ $S$ ใ‹ใ‚‰ $C$ ใ‚’้™คใ„ใฆ $S$ ใŒ็ฉบใซใชใ‚‹ใพใง็นฐใ‚Š่ฟ”ใ™ใ€‚

ๆœ€ๅพŒใซใƒฉใ‚ฏใƒ€ใฏๅพช็’ฐใ—ใฆใ„ใ‚‹ใฎใงใ€ $A \oplus B = A_{init}$ ใ‹ใค $B \oplus A_{init} = B_{init}$ ใชใ‚‰ Yes ใ€ใใ†ใงใชใ‘ใ‚Œใฐ No ใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ€ $a$ ใฎใƒ“ใƒƒใƒˆใŒ็‹ฌ็ซ‹ใงใชใ„ใจใ„ใ†ใ“ใจใ‚’ไธŠๆ‰‹ใๅˆฉ็”จใ—ใฆใ„ใ‚‹ใ€‚ไปฅไธ‹ใฎใƒ‘ใ‚ฟใƒผใƒณใŒๅพช็’ฐใ™ใ‚‹ใจ่€ƒใˆใ‚‹ใ€‚ๅฝ“ๅˆใƒ“ใƒƒใƒˆใŒๅพช็’ฐใ™ใ‚‹ใ“ใจใ‚’่€ƒใˆใฆ่งฃๆณ•ใ‚’็ต„ใฟ็ซ‹ใฆใฆใ„ใŸใŒใ€ $a$ ใฎใƒ“ใƒƒใƒˆใŒ็‹ฌ็ซ‹ใงใชใ„ใฎใงไธ‰้€šใ‚Šใ—ใ‹ใชใ„ใ“ใจใซ่ฝใจใ—ใ“ใ‚ใชใ‹ใฃใŸใ€‚

  • $0$ ใŒๅพช็’ฐใ™ใ‚‹
  • $A,A,0$ ใŒๅพช็’ฐใ™ใ‚‹
  • $A \oplus B \oplus C = 0$ ใชใ‚‹ $A,B,C$ ใŒๅพช็’ฐใ™ใ‚‹

ๅฎŸ่ฃ…ใ™ใ‚‹ ใจ็ตๆง‹้•ทใ„ใ€‚

AGC 036-A

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

้ ‚็‚นใฎไธ€ใคใฏๅŽŸ็‚นใซๅ›บๅฎšใ™ใ‚‹ใ€‚

ไป–ใฎไบŒ็‚นใ‚’้ธใณใ€ๅค–็ฉ $X_2 Y_3 - X_3 Y_2 = S$ ใจใ™ใ‚Œใฐใ‚ˆใ„ใ€‚ใ ใŒ $S$ ใŒ็ด ๆ•ฐใ ใจ็ด ๅ› ๆ•ฐๅˆ†่งฃใŒๅŽณใ—ใใ†ใงใ‚ใ‚‹ใ€‚ใใ“ใง $X_2 = 10^9..1$ ใจๆฑบใ‚ๆ‰“ใกใ™ใ‚‹ใ€‚ $Y_3 = \lceil S / X_2 \rceil$ ใซๅ›บๅฎšใ—ใ€ $X_3 Y_2 = X_2 Y_3 - S = R \geq 0$ ใจใชใ‚‹ใ‚ˆใ†ใช $X_3$ ใ‚’ๆฑบใ‚ๆ‰“ใกใ™ใ‚‹ใ€‚

$R = 0$ ใชใ‚‰ $X_3 = 0, Y_2 = 0$ ใŒ็ญ”ใˆใฎไธ€ใคใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐ $1 \leq X_3 \leq R$ ใฎ็ฏ„ๅ›ฒใง $Y_2 = \lceil R / X_3 \rceil \land Y_2 \leq 10^9$ ใชใ‚‹ๆ•ดๆ•ฐ $Y_2$ ใŒใ‚ใ‚‹ใ‹ใฉใ†ใ‹ๆŽข็ดขใ—ใฆใใ†ใงใ‚ใ‚Œใฐใใ‚ŒใŒ็ญ”ใˆใฎไธ€ใคใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใ‚’่ฆ‹ใŸใ‚‰ใ€ $Y_2 = 1$ ใฎใจใใซๅฟ…ใš้กŒๆ„ใ‚’ๆบ€ใŸใ™็ญ”ใˆใŒ่ฆ‹ใคใ‹ใ‚‹ใ“ใจใŒ็คบใ•ใ‚Œใฆใ„ใ‚‹ใ€‚

AGC 036-B

ๅ…ฌๅผ่งฃ่ชฌใฏใƒซใƒผใƒ—ๆคœๅ‡บใงใฏใชใใƒ€ใƒ–ใƒชใƒณใ‚ฐใ ใŒใ€ไป–ใฎๆ–นใฎ่งฃ่ชฌใ‚’ใฟใ‚‹ใจใ‚„ใฏใ‚Šใƒซใƒผใƒ—ใงใ‚ใ‚‹ใ€‚ใฉใ“ใ‚’้–“้•ใˆใŸใฎใ ใ‚ใ†ใ€‚

AGC 037-A

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

้•ท่€ƒ

่งฃใใฎใซ24ๅˆ†ๆŽ›ใ‹ใฃใŸใ€‚ๆ–‡ๅญ—ๅˆ—ใฎ้•ทใ•ใŒ้•ใˆใฐๆ–‡ๅญ—ๅˆ—ใฏ็•ฐใชใ‚‹ใฎใงใ€ๆ–‡ๅญ—ๅˆ—้•ทใฏๅŸบๆœฌ็š„ใซ1ใซใ—ใฆใ€1ใงใ ใ‚ใชใ‚‰2ใซใ—ใฆใ€2ใฎๅพŒใฏๅฟ…ใš1ใซใ™ใ‚Œใฐใ„ใ„ใ€‚ใ“ใฎgreedyใง่งฃใ‘ใ‚‹ใ€‚

  • 1ๆ–‡ๅญ—ใฎๆ–‡ๅญ—ๅˆ—ใฎๅพŒใซ1ๆ–‡ๅญ—ใฎๆ–‡ๅญ—ๅˆ—ใ‚’็ฝฎใ‘ใชใ„ใฎใฏใ€ๅ‰ใŒ1ๆ–‡ๅญ—ใฎๆ–‡ๅญ—ๅˆ—ใงใ€ๅŒใ˜ๆ–‡ๅญ—ใŒ็ถšใ„ใŸใจใใ ใ‘ใงใ‚ใ‚‹ใ€‚
  • ใใ†ใงใชใ‘ใ‚Œใฐ1ๆ–‡ๅญ—1ๆ–‡ๅญ—ๅˆ—ใซๅˆ†ๅ‰ฒใ™ใ‚‹
  • ๅ‰ใŒ1ๆ–‡ๅญ—ใฎๆ–‡ๅญ—ๅˆ—ใงใ€ๅŒใ˜ๆ–‡ๅญ—ใŒ็ถšใ„ใŸใ‚‰2ๆ–‡ๅญ—ใ‹ใ‚‰ใชใ‚‹ๆ–‡ๅญ—ๅˆ—ใ‚’ไฝœใ‚‹ใ€‚ใคใพใ‚Š aaa ใ‚’ a,aa ใซใ™ใ‚‹ใ€‚
  • 2ๆ–‡ๅญ—ใฎๆ–‡ๅญ—ๅˆ—ใฎๆฌกใฏใ€1ๆ–‡ๅญ—ใ‹ใ‚‰ใชใ‚‹ๆ–‡ๅญ—ๅˆ—ใ‚’ไฝœใ‚‹ใ€‚ aaaaaa ใฏ a,aa,a,aa ใซใ™ใ‚‹ใ€‚

ๅŸบๆœฌ็š„ใซใฏใ“ใ‚ŒใงไธŠๆ‰‹ใใ„ใใฎใ ใŒใ€ aaaaa ใจๅŒใ˜ๆ–‡ๅญ—ใŒ5ๆ–‡ๅญ—็ถšใ(ไธ€่ˆฌ็š„ใซใฏ $3N+2$ ๆ–‡ๅญ—็ถšใ)ใพใพ $S$ ใŒ็ต‚ใ‚ใ‚‹ใจใใฎๆ‰ฑใ„ใ‚’่€ƒใˆใ‚‹ใ€‚ a,aa,a,a ใ‚’ a,aaa,a ใจๅŒบๅˆ‡ใ‚Š็›ดใ›ใฐใ‚ˆใใ€ไฝ™ใฃใŸไธ€ๆ–‡ๅญ—ใ‚’2ๆ–‡ๅญ—ใฎๆ–‡ๅญ—ๅˆ—ใจๅˆไฝตใ—ใฆ3ๆ–‡ๅญ—ใซใ™ใ‚‹ใจ่€ƒใˆใ‚‹ใ€‚่ฆใ™ใ‚‹ใซๆœ€ๅพŒใฎๅˆ†ๅ‰ฒๆ–‡ๅญ—ๅˆ—ใ‚’ใชใ‹ใฃใŸใ“ใจใซใ—ใฆ็„ก่ฆ–ใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

AGC 038-A

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

ใฉใ†ใ—ใฆ่งฃใ‘ใชใ„ใฎใ‹ใŒๅˆ†ใ‹ใ‚‰ใชใ„ใ€‚

AGC 038-B

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

2 WAsใพใงๆฅใŸใŒใใ‚ŒไปฅไธŠใ‚ใ‹ใ‚‰ใšใ€่งฃ่ชฌใ‚’่ชญใ‚“ใงใ‚‚2 WAsใŒๅ–ใ‚Œใšใ€ ใ“ใกใ‚‰ ใ‚’ใปใผไธธๅ†™ใ—ใ—ใŸใ‚‰่งฃ่ชฌACใ—ใŸใ€‚EquivalentใชๆกไปถใŒใปใผใ‚ใฃใฆใ„ใ‚‹ใŒใฉใ“ใ‹ๆŠœใ‘ใฆใ„ใ‚‹ใ€‚

AGC 039-A

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

ไธๅฏงใซๅ ดๅˆๅˆ†ใ‘

$S$ ใŒใ™ในใฆๅŒใ˜ๆ–‡ๅญ—ใ‹ใ‚‰ใชใ‚‹ใชใ‚‰ใ€็ญ”ใˆใฏ $\lfloor SK/2 \rfloor$ ใงใ‚ใ‚‹ใ€‚ไน—็ฎ—ใจ้™ค็ฎ—ใฎๅ„ชๅ…ˆ้ †ไฝใซๆฐ—ใ‚’ไป˜ใ‘ใ‚‹ใ€‚

ใใ†ใงใชใ„ใชใ‚‰ $S$ ใ‚’ไบŒๅ‘จใ—ใŸๆ–‡ๅญ—ๅˆ— $S+S$ ใ‚’ใƒฉใƒณใƒฌใƒณใ‚ฐใ‚นๅœง็ธฎใ—ใฆใ€2ๆ–‡ๅญ—ไปฅไธŠๅŒใ˜ๆ–‡ๅญ—ใŒ็ถšใ็Šถๆณ $[L,R] = [L,L+len-1]$ ใ‚’ๆŠœใๅ‡บใ™ใ€‚ไธŠ่จ˜ใ‚’ไพ‹ๅค–ใจใ—ใฆ้™คใ‘ใฐ $S$ ใซใฏ็•ฐใชใ‚‹ๆ–‡ๅญ—ใŒใ‚ใ‚Šใ€ไธ€ๅ‘จ็›ฎใฎๆœ€ๅพŒใฎๆ–‡ๅญ—ใ‹ไบŒๅ‘จ็›ฎใฎๆœ€ๅˆใฎ็•ฐใชใ‚‹ๆ–‡ๅญ—ใงๆญขใพใ‚‹ใ€‚

ใƒฉใƒณใฎ้•ทใ•ใ‹ใ‚‰ไปฅไธ‹ใฎ็ญ”ใˆใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ $S$ ใฎๆœ€ๅˆใจๆœ€ๅพŒใฎๆ–‡ๅญ—ใŒ็•ฐใชใ‚ŒใฐไบŒๅ‘จ็›ฎใฏ็„กใ„ใฎใงใ€ใ™ในใฆใฎใƒฉใƒณใ‚’ๆ›ธใๆ›ใˆใฆ $K \lfloor len/2 \rfloor$ ใงใ‚ใ‚‹ใ€‚ $S$ ใฎๆœ€ๅˆใจๆœ€ๅพŒใฎๆ–‡ๅญ—ใŒๅŒใ˜ใชใ‚‰ไปฅไธ‹ใฎๅ’Œใงใ‚ใ‚‹ใ€‚

  • $L=0$ ใฎใƒฉใƒณใŒใ‚ใ‚‹ใชใ‚‰ $K \lfloor len/2 \rfloor$
  • $R &gt;= |S|$ ใคใพใ‚Šไธ€ๅ‘จ็›ฎใจไบŒๅ‘จ็›ฎใ‚’ใพใŸใใƒฉใƒณใŒใ‚ใ‚‹ใชใ‚‰ $(K-1) \lfloor len/2 \rfloor + K \lfloor (|S|+1-L)/2 \rfloor $
  • ใใ‚Œไปฅๅค–ใฏ $K \lfloor len/2 \rfloor$

AGC 039-B

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

ไบŒ้ƒจใ‚ฐใƒฉใƒ•ใฎๅฝฉ่‰ฒๅ•้กŒใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚ใคใพใ‚Š้ ‚็‚น้›†ๅˆ $V_i$ ใจ $V_{i+1}$ ใ‚’็ตใถไบŒ้ƒจใ‚ฐใƒฉใƒ•ใ‚’ๆง‹็ฏ‰ใ™ใ‚‹ใ€‚ $k$ ใ‚’ๆœ€ๅคงใซใ™ใ‚Œใฐใ„ใ„ใฎใ ใ‹ใ‚‰ใ€ๆœ€ๅˆใซๅก—ใ‚‹้ ‚็‚นใ‚’ $1..N$ ใ‚’ๆฑบใ‚ๆ‰“ใกใ—ใฆใ€้ ‚็‚นใ‚’BFSใ—ใฆใงใใ‚‹ใ ใ‘ๅคšใใฎ่‰ฒใ‚’ๅก—ใ‚‹ใ€‚

่‰ฒใ‚’ๅก—ใ‚Œใชใ„ใฎใฏใ€ๆ—ขใซ่‰ฒใŒๅก—ใฃใฆใ‚ใฃใฆๆกไปถใ‚’ๆบ€ใŸใ•ใชใ„=้ ‚็‚น้›†ๅˆใฎ็•ชๅทใฎๅทฎใŒ1ไปฅๅค–ใฎใจใใงใ‚ใ‚‹ใ€‚ใ“ใฎใจใใฏๆŽข็ดขใ‚’ๆ‰“ใกๅˆ‡ใฃใฆใ‚ˆใ„ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ€ใ‚ฐใƒฉใƒ•ใฎ็›ดๅพ„ใ‚’็”จใ„ใฆใใ‚Œใ„ใซๅฐŽๅ‡บใ—ใฆใ„ใ‚‹ใ€‚ใ‚ˆใ่€ƒใˆใŸใ‚‰ใ€ไธŠ่จ˜ใ‚‚ๅŒใ˜ใ“ใจใ‚’ใ—ใฆใ„ใ‚‹ใ€‚

AGC 040-A

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

ใฉใ“ใ‹ใง่ฆ‹ใŸๆฐ—ใŒใ™ใ‚‹

< $a_{i} &lt; a_{i+1} &lt; a{i+2} ...$ ใจ้€ฃ็ถšใ™ใ‚‹ใจใใ€ $a_{i}=0, a_{i+1}=1, a{i+2}=2$ ใจๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ใฎใŒๆœ€้ฉใงใ‚ใ‚‹ใ€‚้€†ใซ > $... &gt; a_{i} &gt; a_{i+1} &gt; a{i+2}$ ใจ้€ฃ็ถšใ™ใ‚‹ใจใใ€ $a_{i}=2, a_{i+1}=1, a{i+2}=0$ ใจๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ใฎใŒๆœ€้ฉใงใ‚ใ‚‹ใ€‚

ๅˆๆœŸๅ€คใฏ $a=0$ ใงใ‚ใ‚‹ใ€‚ $i=1..(N-1)$ ใซใคใ„ใฆ1ใคไปฅไธŠ้€ฃ็ถšใ™ใ‚‹ < ใŒใ‚ใ‚Œใฐ $a$ ใซ $0..$ ใ‚’ๅ‰ฒใ‚Šๅฝ“ใฆใ€ใใฎๅพŒ $i=(N-1)..1$ ใซใคใ„ใฆ1ใคไปฅไธŠ้€ฃ็ถšใ™ใ‚‹ > ใŒใ‚ใ‚Œใฐ $a$ ใซ $0..$ ใ‚’ๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ใ€‚ใ“ใ“ใงๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ใจใฏใ€ $a$ ใฎๅ€คใŒๅคงใใใชใ‚‹ใชใ‚‰ๆ›ดๆ–ฐใ—ใใ†ใงใชใ„ใชใ‚‰ใใฎใพใพใซใ™ใ‚‹ใ€ใจใ„ใ†ๆ“ไฝœใ‚’่กŒใ†ใ€‚

AGC 040-B

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

ๅŸบๆœฌๆ–น้‡ใฏใ™ใ็ซ‹ใฃใŸใŒใ€ใใฎๅพŒใฎ9 WAsใ‚’่งฃๆฑบใ™ใ‚‹ใฎใซ3ๆ—ฅๆŽ›ใ‹ใฃใŸใ€‚

ๅŸบๆœฌๆ–น้‡ใ‚’็คบใ™ใ€‚ใพใš $L,R$ ใ‚’ๅบงๆจ™ๅœง็ธฎใ—ใฆใ€ๅบงๆจ™ๅœง็ธฎๅ‰ๅพŒใฎๅ€คใฎๅฏพๅฟœใ‚’ๅ–ใ‚Œใ‚‹ใ‚ˆใ†ใซใ—ใฆใŠใใ€‚

ๅบงๆจ™ๅœง็ธฎใ—ใŸๅŒบ้–“ $[L,R]$ ใ‚’่พžๆ›ธ้ †ใซๆ˜‡้ †ใซไธฆในใ‚‹ใ€‚ใ‚ใ‚‹ๅŒบ้–“ใซ่ฉฒๅฝ“ใ™ใ‚‹ไบบใŒไฝ•ไบบใ„ใ‚‹ใ‹้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใซ่ผ‰ใ›ใฆๆ•ฐใˆใ‚‹ใ€‚

  • ๅŒบ้–“ $[L,R]$ ใฎๆญฃ่งฃ่€…ใŒ $k$ ไบบใ„ใ‚‹ใ“ใจใ‚’ใ€้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎ apply ใฎๆ•ดๆ•ฐๅŠ ็ฎ—ใงๅข—ๆธ›ใ™ใ‚‹
  • ๅŒบ้–“ $[L,R]$ ใฎๆญฃ่งฃ่€…ๆœ€ๅคงใง $k$ ไบบใ„ใ‚‹ใ“ใจใ‚’ใ€้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎ prod ใฎๆ•ดๆ•ฐmaxใงๅพ—ใ‚‹

ใ‚ฝใƒผใƒˆๆธˆใฎๅŒบ้–“ $S_{i=1..N}$ ใซใคใ„ใฆใ€ใ‚ฏใ‚คใ‚บใฎ้›†ๅˆใ‚’ $A = [1,i]$ ใจ $B = [i+1,N]$ ใซๅˆ†ๅ‰ฒใ™ใ‚‹ใ€‚ $A$ ใฎใ†ใ‚Œใ—ใ•ใฏใ€ $i$ ใจใชใ‚‹ใ‚ˆใ†ใช้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใฎ่ฆ็ด ๆ•ฐใงใ‚ใ‚‹ใ€‚ใ“ใฎๅŒบ้–“ใฏ็ฉบใง็„กใ‘ใ‚Œใฐ้€ฃ็ถšใ—ใŸไธ€ใพใจใพใ‚ŠใฎๅŒบ้–“ใชใฎใงใ€ๅทฆๅณใ‹ใ‚‰ไบŒๅˆ†ๆŽข็ดขใ™ใ‚‹ใ“ใจใงๆฑ‚ใพใ‚‹ใ€‚ atcoder::lazy_segtree ใ‚’ไฝฟใฃใฆใ„ใ‚‹ใจใใฏ max_right, min_left ใงๆฑ‚ใ‚ใ‚‹ใ€‚ $A$ ใฎใ†ใ‚Œใ—ใ•ใŒ $i$ ใจใชใ‚‹ๅŒบ้–“ใŒ $[l,r]$ ใชใ‚‰ใ†ใ‚Œใ—ใ•ใฏใ€ $max(0, r+1-l)$ ใ‚’ๅบงๆจ™ๅœง็ธฎๅ‰ใซๆˆปใ—ใŸๅ€คใงใ‚ใ‚‹ใ€‚ๅŒๆง˜ใซ $B$ ใฎใ†ใ‚Œใ—ใ•ใŒ $N-i$ ใจใชใ‚‹ใ‚ˆใ†ใชๅŒบ้–“้•ทใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ $A,B$ ใŒ็ฉบ้›†ๅˆใซใชใ‚‰ใชใ„ใ‚ˆใ†ใซๆฐ—ใ‚’ไป˜ใ‘ใ‚‹ใ€‚

$S$ ใ‚’้€ๆฌกๆ›ดๆ–ฐใ™ใ‚‹ใ“ใจใงใ€ $A,B$ ใฎ่ฆ็ด ใ‚’้€ๆฌกๆ›ดๆ–ฐใ™ใ‚‹ใ€‚ๅˆๆœŸ็Šถๆ…‹ใฏ $A$ ใฏๅ…จ้ƒจ0, $B$ ใฏ $S$ ใฎๅ…จๅŒบ้–“ใ‚’่ผ‰ใ›ใŸๅ€คใจใ™ใ‚‹ใ€‚ $i$ ใซใคใ„ใฆ $A$ ใฎๅŒบ้–“ $S_i$ ใซ1ใ‚’่ถณใ—ใ€ $B$ ใฎๅŒบ้–“ $S_i$ ใ‹ใ‚‰1ใ‚’ๅผ•ใใ€‚

ใ“ใ“ใพใงๅฎŸ่ฃ…ใ™ใ‚‹ใจ 9 WAs ใ™ใ‚‹ใ€‚ใ‚‚ใ†ไธ€ๅทฅๅคซ่ฆใ‚‹ใ€‚

็ญ”ใˆใฎๆœ€ๅฐๅ€คใ‚’่€ƒใˆใ‚‹ใ€‚ๅŒไธ€ๅŒบ้–“ $[L,R]$ ใ‚’ๅ–ใ‚‹ใ‚ฏใ‚คใ‚บใ‚’ๅŒบๅˆฅใ›ใš1ๅ€‹ใ ใ‘ใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใซๅŒบ้–“ใฎๅคš้‡ๅบฆใ‚’่€ƒๆ…ฎใ—ใชใ„ๅŒบ้–“้›†ๅˆใ‚’ $U$ ใจใ™ใ‚‹ใ€‚ไธŠ่จ˜ใจๅŒๆง˜ใฎๅ‡ฆ็†ใ‚’่€ƒใˆใ€ๅˆๆœŸ็Šถๆ…‹ใฏ $A$ ใฏๅ…จ้ƒจ0, $B$ ใฏ $U$ ใฎๅ…จๅŒบ้–“ใ‚’่ผ‰ใ›ใŸๅ€คใจใ™ใ‚‹ใ€‚

ๅŒบ้–“ $j$ ใŒใ‚ใ‚Šใ€ๅŒบ้–“ $U_j = [L,R]$ ใ‚’ๅ–ใ‚‹ใ€‚ๅŒบ้–“ $j$ ใซใคใ„ใฆ $A$ ใซๅŒบ้–“ $U_j$ ใ‚’่ถณใ—ใ€ $B$ ใ‹ใ‚‰ $U_j$ ใ‚’ๅผ•ใใ€‚ใ“ใฎ็Šถๆ…‹ใง $A,B$ ใฎใ†ใ‚Œใ—ใ•ใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ๆฑ‚ใ‚ใŸใ‚‰ $A,B$ ใฎๅŒบ้–“ใ‚’้€†ใซ่ถณใ—ใฆๅ…ƒใซๆˆปใ™ใ€‚ใ“ใฎใจใๅŒไธ€ๅŒบ้–“ใ‚’ใพใจใ‚ใฆๅทฎใ—ๅผ•ใใ—ใชใ„ใจ2 WAsใ™ใ‚‹ใฎใงใ€ๅŒไธ€ๅŒบ้–“ใซใคใ„ใฆใฏไธ€ๅ›žใ—ใ‹ๆ“ไฝœใ—ใชใ„ใ€‚

ใ“ใฎใ‚ˆใ†ใซใ—ใฆๆฑ‚ใ‚ใŸใ†ใ‚Œใ—ใ•ใฎๆœ€ๅคงๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ€ $[L,-R]$ ใฎๆ˜‡้ †ใซไธฆในใŸ้›†ๅˆใ‚’ไธŠๆ‰‹ใไฝฟใฃใฆใ€้›†ๅˆใฎๅ…ฑ้€šๅŒบ้–“ใ‚’ไธŠๆ‰‹ใๆฑ‚ใ‚ใฆใ„ใ‚‹ใ€‚ๆ–น้‡ใŒไธŠๆ‰‹ใ„ใจๅฎŸ่ฃ…ใ‚‚่ปฝใใชใ‚‹ใ€‚ใ—ใ‹ใ—ไธŠ่จ˜ใฎ ไธ€ๅทฅๅคซใŒใชใ„ใจ ใ‚„ใฏใ‚Š9 WAsใ™ใ‚‹ใ€‚

AGC 041-A

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

็ซฏใซๆŠผใ—ไป˜ใ‘ใ‚‹

$A,B$ ใฎๅทฎใŒๅถๆ•ฐใชใ‚‰ไบ’ใ„ใซ1ๅ“ใšใคใ€2ไบบใง่จˆ2ๅ“ใšใคๅ‹•ใ‘ใฐใ„ใ„ใ€‚็ญ”ใˆใฏ $abs(A-B)/2$ ใงใ‚ใ‚‹ใ€‚

$A,B$ ใฎๅทฎใŒๅฅ‡ๆ•ฐใชใ‚‰ๅทฎใ‚’ๅฅ‡ๆ•ฐใซใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚1ๅ“ใจNๅ“ใ‹ใ‚‰ใฏ็งปๅ‹•ใ—ใชใ„ใฎใงใ€ใ“ใฎใจใ2ไบบใง่จˆ1ๅ“ใšใคๅ‹•ใ‘ใ‚‹ใ€‚AใŒ1ใพใŸใฏNๅ“ใซ็งปๅ‹•ใ™ใ‚‹ใ€BใŒ1ใพใŸใฏNๅ“ใซ็งปๅ‹•ใ™ใ‚‹ใ€ใฎ4้€šใ‚Šใ‹ใ‚‰ๆœ€็Ÿญใฎ็งปๅ‹•ใ‚’้ธในใฐใ‚ˆใ„ใ€‚็งปๅ‹•ใ—ใŸใ‚‰็งปๅ‹•ๅ…ˆใฎ1ๅ“ใพใŸใฏNๅ“ใซไธ€ๅ›žใ ใ‘่ฒผใ‚Šใคใ„ใฆใ€ใใ“ใ‹ใ‚‰ไบ’ใ„ใฎๅ“ใ‚’่ฉฐใ‚ใ‚‹ใ€‚ใ‚ˆใฃใฆ็ญ”ใˆใฏ $min(A-1,N-A,B-1,N-B)+1+abs(A-B-1)/2$ ใงใ‚ใ‚‹ใ€‚

AGC 041-B

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

ไบŒๅˆ†ๆŽข็ดขใ ใจใฏๅˆ†ใ‹ใฃใŸใŒใ€ใใ‚ŒไปฅไธŠ่ฉฐใ‚ๅˆ‡ใ‚Œใš่ซฆใ‚ใŸใ€‚

$A_i$ ใŒๆŽก็”จใ•ใ‚Œใ‚‹ใซใฏใ€ $A_i$ ใŒ $P$ ็•ช็›ฎใŽใ‚ŠใŽใ‚ŠใงๆŽก็”จใ•ใ‚Œใ€ใ‚ˆใ‚Š้ †ไฝใฎ้ซ˜ใ„ๅ•้กŒ(ๅ‹ใก็ขบๅฎš)ใจ $P$ ็•ช็›ฎใซๅฑŠใ‹ใชใ„ๅ•้กŒ(่ฒ ใ‘็ขบๅฎš)ใซๆŠ•็ฅจใ•ใ‚Œใ‚Œใฐใ„ใ„ใ€ใจใ„ใ†ใฎใฏๅˆ†ใ‹ใ‚‹ใ€‚ใ—ใ‹ใ—ใใ‚Œใ‚’ใฉใ†ไบŒๅˆ†ๆŽข็ดขใ™ใ‚Œใฐใ„ใ„ใฎใ‹ใŒๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

AGC 043-A

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

01BFSใฃใฝใ„ใ€‚

็™ฝ้ป’ๅŒใ˜่‰ฒใ‚’ใŸใฉใฃใฆ็งปๅ‹•ใงใใ‚‹ใƒžใ‚นใฎ็ต„ใ‚’ใ‚ใ‚‹ใ€‚ๅง‹็‚น $(Y,X) = (1..H, 1..W)$ ใ‚’ๆฑบใ‚ๆ‰“ใกใ—ใฆใ€ๅˆฐ้”ๅฏ่ƒฝใชใƒžใ‚นใ‚’BFSใงๆฑ‚ใพใ‚‹ใ€‚

ๅง‹็‚น $(Y,X) = (1..H, 1..W)$ ใ‚’ๅทฆใ‹ใ‚‰ๅณใ€ไธŠใ‹ใ‚‰ไธ‹ใซ่ตฐๆŸปใ™ใ‚‹ใ€‚ $(1,1)$ ใ‹ใ‚‰ $(Y,X)$ ใพใงใซ่‰ฒใŒๅค‰ใ‚ใ‚‹ๅ›žๆ•ฐ $dp(Y,X)$ ใฏใ€

  • $(1,1)$ ใŒ็™ฝใชใ‚‰0ๅ›žใ€้ป’ใชใ‚‰1ๅ›ž
  • $(1,1)-(Y,X) \setminus (Y,X)$ ใ‹ใ‚‰ $(Y,X)$ ใซๅŒใ˜่‰ฒใงใŸใฉใ‚Œใ‚‹ใชใ‚‰0ๅ›ž
  • $(Y-1,X)-(Y,X)$ ใ‹ใ‚‰1ๆ“ไฝœใงใƒžใ‚น็›ฎใ‚’ใ‚ˆใ„็Šถๆ…‹ใซใ—ใฆใŸใฉใ‚Œใ‚‹ใชใ‚‰1ๅ›ž
  • $(Y,X-1)-(Y,X)$ ใ‹ใ‚‰1ๆ“ไฝœใงใƒžใ‚น็›ฎใ‚’ใ‚ˆใ„็Šถๆ…‹ใซใ—ใฆใŸใฉใ‚Œใ‚‹ใชใ‚‰1ๅ›ž

ใฎๆœ€ๅฐๅ€คใงใ‚ใ‚‹ใ€‚ใ“ใ‚Œใ‚’DPใงๆฑ‚ใ‚ใ‚‹ใ€‚่‰ฒใŒๅค‰ใ‚ใ‚‹ๅ›žๆ•ฐใ‚’ $C = dp(H,W)$ ใจใ—ใฆใ€็™ฝ้ป’ใ€้ป’็™ฝใฎๅ่ปขใŒๅˆ่จˆ $C$ ๅ›ž ใ‚ใ‚‹ใฎใงใ€ๆ“ไฝœๅ›žๆ•ฐใฏใใฎๅŠๅˆ† $\lfloor C / 2 \rfloor$ ใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ“ใ‚Œใ‚’ใ‚‚ใฃใจๆด—็ทดใ•ใ›ใฆใ€็™ฝใ‹ใ‚‰้ป’ใธใฎๅค‰ๅŒ–ๅ›žๆ•ฐ( $(1,1)$ ใŒ้ป’ใชใ‚‰1ๅ›ž่ฟฝๅŠ )ใจใ„ใ†DPใซใ—ใฆใ„ใ‚‹ใ€‚

AGC 044-A

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

ๅŸบๆœฌๆ–น้‡ใ‚’้–“้•ใˆใ€็ตๅฑ€่ซฆใ‚ใŸใ€‚

้–“้•ใฃใŸๆ–น้‡ใ‹ใ‚‰็คบใ™ใ€‚1ใ‚’ $N$ ใซใ—ใ‚ˆใ†ใจใ—ใฆใ€2,3,5 ไปฅๅค–ใฎ็ด ๅ› ๆ•ฐใ‚’ๆŒใŸใชใ„ๆ•ฐใซๅฏ„ใ›ใ‚ˆใ†ใจใ—ใŸใ€‚ใ„ใใคใ‹่งฃ่ชฌใ‚’่ชญใ‚€ใจใ€ $N$ ใ‚’1ใซใ™ใ‚‹ๆ–นใŒ็ฐกๅ˜ใงใ‚ใ‚Šใ€ๆŽข็ดขใ™ใ‚‹ใƒ‘ใ‚นใฏ 2,3,5 ใฎใ„ใšใ‚Œใ‹ใ‚’็ด ๅ› ๆ•ฐใจใ—ใฆๆŒใคๆ•ฐใงใ‚ใ‚‹ใ€‚

่จˆ็ฎ—้‡่งฃๆžใŒๆญฃใ—ใ‘ใ‚Œใฐใ€ใ‚ˆใใ‚ใ‚‹ใƒกใƒขๅŒ–ๅ†ๅธฐใง่งฃใ‘ใ‚‹ใ€‚ใคใพใ‚ŠไปŠๆŒใฃใฆใ„ใ‚‹ $N$ ใ‚’ใ€่ฟ‘ใใฎ2,3,5ใฎๅ€ๆ•ฐใซๅฏ„ใ›ใฆใ€2,3,5ใงๅ‰ฒใ‚‹ใจใ„ใคใ‹ใฏ1ใซใŸใฉใ‚Š็€ใใ€‚ๆณจๆ„ๆทฑใๅฎŸ่ฃ…ใ™ใ‚Œใฐ็„ก้™ๅ†ๅธฐใซใฏใชใ‚‰ใชใ„ใฎใ ใŒใ€ใ“ใฎๅฎŸ่ฃ…ใŒๅคงๅค‰ใงใ‚ใ‚‹ใ€‚็ญ”ใˆใŒ1ใšใ‚ŒใŸใ‚Šใ€็„ก้™ๅ†ๅธฐใซใชใฃใŸใ‚Šใ™ใ‚‹ใ€‚

AGC 046-A

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

ๆญฃN่ง’ๅฝขใ€‚

$X \leq 90$ ใชใ‚‰่ปŒ้“ใŒๆญฃN่ง’ๅฝขใซใชใ‚‹ใ€‚่พบๅŒๅฃซใฎๅ†…่ง’ใฏ $180-X$ ๅบฆใงใ‚ใ‚Šใ€ใ“ใ‚ŒใŒ0ใซใชใ‚‹ใฎใฏๅฐ‘ใชใใจใ‚‚ $N=360/GCD(360,X)$ ๅ›ž้€ฒใ‚“ใ ๆ™‚ใ€ใคใพใ‚ŠๆญฃN่ง’ๅฝขใŒไธ€ๅ‘จใ—ใŸๆ™‚ใงใ‚ใ‚‹ใ€‚

$X &gt; 90$ ใงใ‚‚่พบๅŒๅฃซใŒไบคใ‚ใ‚‹ใ ใ‘ใง่€ƒใˆๆ–นใฏๅŒๆง˜ใงใ€ๅ‘ใใŒๅ…ƒใซๆˆปใ‚‹ใฎใฏๅฐ‘ใชใใจใ‚‚ $N=360/GCD(360,X)$ ๅ›ž้€ฒใ‚“ใ ๆ™‚ใงใ‚ใ‚‹ใ“ใจใซๅค‰ใ‚ใ‚Šใฏใชใ„ใ€‚่พบใซๅฏพๅฟœใ™ใ‚‹ใƒ™ใ‚ฏใƒˆใƒซใฎๅ’ŒใŒ0ใซใชใ‚‹ใจ่จ€ใ„ๆ›ใˆใฆใ‚‚ใ„ใ„ใ€‚

AGC 046-B

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

$DP[C][D][2]$ ใชใฎใฏๅˆ†ใ‹ใฃใŸใŒใ€ $[2]$ ใง็ฎก็†ใ™ใ‚‹ใฎใฏๅณไธŠใŒ้ป’ใ„ใ‹ใฉใ†ใ‹ใงใฏใชใใ€ไธ€็•ชไธŠใฎ่กŒใซ้ป’ใ„ใƒžใ‚นใŒ1ใคใ ใ‘ใ‹ๅฆใ‹ใ ใฃใŸใ€‚ใ“ใ‚ŒใŒๅˆ†ใ‹ใ‚‰ใชใใฆ่ซฆใ‚ใŸใ€‚

AGC 047-A

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

ๅˆๅŒใ‹ใจๆ€ใฃใŸใ‚‰้•ใฃใŸใ€

ๅฐๆ•ฐใ‚’ๆ•ดๆ•ฐ้ƒจ $B_i$, ๆ•ดๆ•ฐ้ƒจไปฅๅค– $B_f$ ใ‚’ๆ›ธใ„ใฆใ€ $(B_i + B_f)(B^{'}_i + B^{'}_f)$ ใ‚’ใ„ใ„ๆ„Ÿใ˜ใซใ™ใ‚‹ใฎใ‹ใจๆ€ใฃใŸใฎใ ใŒๅ…จใ่ฆ‹ๅฝ“ๅค–ใ‚Œใ ใฃใŸใ€‚

ๅ…ฅๅŠ›ใ‚’ $10^9$ ใ—ใฆๆ•ดๆ•ฐใจใฟใชใ™ใ€‚ใ“ใฎใ‚ˆใ†ใซๅŠ ๅทฅใ—ใŸ $A_i \times A_j$ ใฎไธ‹9ๆกใŒ0ใชใ‚‰ใ€ๅ…ƒใฎๅ…ฅๅŠ›ใฎ $A_i \times A_j$ ใฏๆ•ดๆ•ฐใงใ‚ใ‚‹ใ€‚ใ“ใ‚ŒใฏๅŠ ๅทฅใ—ใŸ $A_i \times A_j$ ใซใคใ„ใฆใ€2ใฎ็ด ๅ› ๆ•ฐใŒ9ๅ€‹ไปฅไธŠใ‹ใคใ€5ใฎ็ด ๅ› ๆ•ฐใŒ9ๅ€‹ไปฅไธŠใจๅŒใ˜ใ“ใจใงใ‚ใ‚‹ใ€‚

ใ‚ˆใฃใฆๅŠ ๅทฅใ—ใŸ $A$ ใซใคใ„ใฆใ€ $A_i$ ใฎ2ใฎ็ด ๅ› ๆ•ฐใŒ $T_i$ ๅ€‹ใ€ 5ใฎ็ด ๅ› ๆ•ฐใŒ $F_i$ ๅ€‹ใงใ‚ใ‚‹ใจๆ•ฐใˆใ‚‹ใ€‚ใƒ†ใƒผใƒ–ใƒซ $M[j][k]$ ใฏใ€2ใฎ็ด ๅ› ๆ•ฐใŒ $j$ ๅ€‹ใ€ 5ใฎ็ด ๅ› ๆ•ฐใŒ $k$ ๅ€‹ ใจใชใ‚‹ $A$ ใฎ่ฆ็ด ใŒ $M[j][k]$ ๅ€‹ใงใ‚ใ‚‹ใ“ใจใ‚’ไฟๆŒใ™ใ‚‹ใ€‚ใ“ใฎใƒ†ใƒผใƒ–ใƒซใซไบŒๆฌกๅ…ƒ็ดฏ็ฉๅ’Œใ‚’ๅ–ใ‚‹ใ€‚

$i = 1..N$ ใซใคใ„ใฆใ€ $A_i$ ่‡ช่บซใ‚’้™คใ„ใฆใ€2ใฎ็ด ๅ› ๆ•ฐใŒ $A_{9 - T_i}$ ๅ€‹ไปฅไธŠใ‹ใคใ€5ใฎ็ด ๅ› ๆ•ฐใŒ $A_{9 - F_i}$ ๅ€‹ไปฅไธŠใซใชใ‚‹ใ‚ˆใ†ใช $A$ ใฎ่ฆ็ด ๆ•ฐใ‚’ๆ•ฐใˆใ‚‹ใ€‚ใ“ใ‚Œใฏๅ…ˆใฎไบŒๆฌกๅ…ƒ็ดฏ็ฉๅ’Œใ‹ใ‚‰ๅˆ†ใ‹ใ‚‹(็ดฏ็ฉๅ’Œใงใชใใใฎๅ ดใงๆ•ฐใˆใฆใ‚‚TLEใ—ใชใ„)ใ€‚ใ“ใฎๅ’ŒใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

AGC 048-A

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

41ๅˆ†ใฏๆ™‚้–“ๆŽ›ใ‘้ŽใŽใงใ‚ใ‚‹ใ€‚

atcoder $&lt; S$ ใชใ‚‰็ญ”ใˆใฏ0ใงใ‚ใ‚‹ใ€‚ $S$ ใŒ a ใ‚’ๅซใ‚€ใชใ‚‰ๅ…ˆ้ ญใซๆŒใฃใฆใใ‚Œใฐๆ“ไฝœๅ›žๆ•ฐใฏใฉใ†ใ‚ใ‚Œ atcoder $&lt; S$ ใซใงใใ€ $S$ ใŒ a ใ—ใ‹ๅซใพใชใ„ใชใ‚‰ใฉใ†ใ‚„ใฃใฆใ‚‚ atcoder $&lt; S$ ใซใงใใชใ„ใฎใง็ญ”ใˆใฏ-1ใงใ‚ใ‚‹ใ€‚

ๅ…ˆ้ ญใ‹ใ‚‰ $i=0..(min(6, |S|)-1)$ ๆ–‡ๅญ—ใŒ $atcoder$ ใฎๅ…ˆ้ ญ $i$ ๆ–‡ๅญ—ใจไธ€่‡ดใ—ใŸใ‚‰ใ€ $atcoder$ ใฎ $i$ ๆ–‡ๅญ—็›ฎใ‚ˆใ‚Šๅคงใใช $S$ ใซใ‚ใ‚‹ๆœ€ๅทฆ( $j$ ๆ–‡ๅญ—็›ฎ)ใฎๆ–‡ๅญ—ใŒใ‚ใ‚Œใฐๅ–ใ‚Šๆ›ใˆใ‚‹ใ€‚ใ“ใฎๆ“ไฝœๅ›žๆ•ฐใฏ $j-i$ ๅ›žใงใ‚ใ‚‹ใ€‚ใ™ในใฆใฎ $i$ ใซใŠใ‘ใ‚‹ๆœ€ๅฐใฎ $j-i$ ใฎๆœ€ๅฐๅ€คใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏ1,2ๆ–‡ๅญ—็›ฎใ—ใ‹ใฟใฆใ„ใชใ„ใ€‚

AGC 049-A

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

ๅ…ฌๅผ่งฃ่ชฌใ‚’่ชญใ‚“ใงใ‚‚็†่งฃใงใใชใ„ใ€‚

ใชใฎใงใ“ใกใ‚‰ใฎ ่จ˜ไบ‹ ใ‚’่ชญใ‚“ใง็†่งฃใ—ใŸใ€‚็งใŒๆƒณๅฎšใ—ใŸ 0 ใ‚’ๅฏ„ใ›ใ‚‹ใฎใงใฏใชใ 1 ใ‚’ๅฏ„ใ›ใ‚‹ใฎใŒๆญฃ่งฃใงใ€ไฝ™ใฃใŸ 1 ใ‚’ๅฏพๆถˆๆป…ใ•ใ›ใ‚‹ๆ–นๆณ•ใŒไธŠๆ‰‹ใๆ€ใ„ใคใ‹ใชใ‹ใฃใŸใ€‚

AGC 051-A

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

่งฃ่ชฌใ‚’่ฆ‹ใ‚‹ใพใงๅ…จใๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

AGC 051-B

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

ๆ•ฐๆ™‚้–“ๆŽ›ใ‹ใฃใŸใ€‚

ๅทฆไธŠใปใฉๅ€คใŒๅข—ใˆใ‚‹็›ดไบคๅบงๆจ™ใง่€ƒใˆใ‚‹ใ€‚ๅ˜ไฝ้•ท $N$ ใซใคใ„ใฆใ€ๅทฆไธŠๆ–นๅ‘ใซ้€ฃ็ถšใ™ใ‚‹ๆ•ดๆ•ฐๅบงๆจ™ใ‚’ $N$ ๅ€‹ไธฆในใ‚‹ๆ–œ็ทšใ‚’ไฝœใ‚‹ใ€‚ใคใพใ‚Šๅง‹็‚น $(SX,SY)$ ใจใ—ใฆใ€ $(SX,SY),(SX+1,SY+1),...,(SX+N-1,SY+N-1)$ ใงใ‚ใ‚‹ใ€‚ใ“ใฎๆ–œ็ทšใฏใ€่ฆ–็‚นA,Cใ‹ใ‚‰ $N$ ๅ€‹่ฆ‹ใˆใ€่ฆ–็‚นBใ‹ใ‚‰ใฏ1ๅ€‹่ฆ‹ใˆใ€่ฆ–็‚นDใ‹ใ‚‰ใฏ $N$ ๅ€‹่ฆ‹ใˆใ‚‹ใ€‚

ใ“ใฎๆ–œ็ทšใ‚’ไบŒๆฌกๅ…ƒใ‚ฐใƒชใƒƒใƒ‰ $N \times N$ ๅ€‹ไธฆในใ‚‹ใ“ใจใ‚’่€ƒใˆใ‚‹ใ€‚่ฆ–็‚นBใ‹ใ‚‰ใฏ้ซ˜ใ€… $N^2$ ๅ€‹่ฆ‹ใˆใ‚‹ใ€‚่ฆ–็‚นA,Cใซใคใ„ใฆ่ฆ–็•ŒใŒ้‡ใชใ‚‹ใ‚ˆใ†ใซไธฆใน $N^2$ ๅ€‹่ฆ‹ใˆใ‚‹ใ‚ˆใ†ใซใ—ใ€่ฆ–็‚นDใฏ่ฆ–็•ŒใŒ้‡ใชใ‚‰ใชใ„ใ‚ˆใ† $N^3$ ๅ€‹่ฆ‹ใˆใ‚‹ใ‚ˆใ†ใซไธฆในใ‚Œใฐ้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚

่ฆ–็‚นA,Cใฏๅง‹็‚นๅบงๆจ™ใŒๅŒใ˜ๆ–œ็ทšใ‚’่ค‡ๆ•ฐใ‚ฐใƒชใƒƒใƒ‰ไธŠใซไธฆในใ‚Œใฐใ‚ˆใ„ใ€‚ใ“ใฎใจใ่ฆ–็‚นDใŒใ‹ใถใ‚‰ใชใ„ใ‚ˆใ†ใ€Xๅบงๆจ™ใฎ้–“้š”ใ‚’2ใฎในใไน—ใซใ™ใ‚‹ใ€‚ใƒ‘ใ‚ฟใƒผใƒณ็•ชๅทใ‚’ๆจช $i = 1..N$ ใ€็ธฆ $j = 1..N$ ใจใ—ใฆใ€ๅง‹็‚นๅบงๆจ™ใ‚’ $(SX + N 2^i, SY+Nj)$ ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใๅบงๆจ™ใŒๅˆถ็ด„ใ‚’ๆบ€ใŸใ™ใ‚ˆใ†ใซใ€ $mod 10^9$ ใ™ใ‚‹ใ€‚ $mod$ ใŒ้‡ใชใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใŒใ€ๅฎŸ้š›ใซใฏ้‡ใชใ‚‰ใชใ„ใฎใงๅ•้กŒใชใ„ใ€‚

$A,B,C,D$ ใ‹ใ‚‰่ฆ‹ใˆใ‚‹ใƒ”ใƒณใฎๆ•ฐใ‚’ $|A|,|B|,|C|,|D|$ ใจใ—ใ€ๆฏ”็އ $R=|D|/max(|A|,|B|,|C|)$ ใ‚’็ขบ่ชใ™ใ‚‹ใ€‚ไธ€่ˆฌ็š„ใซ $N$ ใŒๅคงใใ„ใปใฉ $R$ ใŒๅคงใใ„ใŒๅ˜่ชฟๅข—ๅŠ ใจใฏ้™ใ‚‰ใšใ€ $N = 20$ ใงใฏ $R$ ใŒๅฐใ•ใใชใ‚‹ใ€‚ $N$ ใซ็ด ๆ•ฐใ‚’้ธใถใจใ‚ˆใ•ใใ†ใงใ‚ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ‚‚ใฃใจ็ฐกๆฝ”ใซไธŠ่จ˜ใ‚’่ฟฐในใฆใ„ใ‚‹ใ€‚

AGC 052-A

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

ๅฎŸ่ฃ…ใ‚’้–“้•ใˆใŸใ‚‰ACใงใใฆใ—ใพใฃใŸใ€‚

็ญ”ใˆใฏ 0 , $N$ ๅ€‹ใฎ 1 , $N$ ๅ€‹ใฎ 0 ใ‚’ไธฆในใŸใ‚‚ใฎใงใ‚ใ‚‹ใ€‚

  • $S+S$ ใฎ $1..N$ ๆ–‡ๅญ—็›ฎใซ 0 ใŒใชใ‘ใ‚Œใฐใ€ $S+S=1..1,0..0,1..1,0..0$ ใจ 1,0 ใ‚’ $N$ ๅ€‹้€ฃ็ถšใงไธฆในใŸใ‚‚ใฎใชใฎใง้กŒๆ„ใ‚’ๆบ€ใŸใ™
  • $S$ ใฎ $1 \leq i \leq 2N$ ๆ–‡ๅญ—็›ฎใŒ 0 ใงใ€ใใ‚Œใ‚ˆใ‚Šๅ‰ใคใพใ‚Š $j &lt; i$ ๆ–‡ๅญ—็›ฎใฏ 1 ใจใ™ใ‚‹ใ€‚ใ“ใฎใจใ $[i+1,2N+i-1]$ ๆ–‡ๅญ—็›ฎใซใฏ 1 ใ‚’ $N$ ๅ€‹ๅซใฟใ€ $[2N+i,4N]$ ๆ–‡ๅญ—็›ฎใซใฏ 0 ใ‚’ $N$ ๅ€‹ๅซใ‚€ใ€‚

AGC 053-A

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

ๅฎŸใฏ $S$ ใ‚’่ฆ‹ใ‚‹ๅฟ…่ฆใŒใชใ„ใ€‚

$|A_i - A_{i+1}|$ ใฎๆœ€ๅฐๅ€คใŒใ€ $A$ ใ‚’ๅˆ†่งฃใ—ใฆไฝœใ‚Œใ‚‹ $B$ ใฎๆ•ฐ $k$ ใฎๆœ€ๅคงๅ€คใงใ‚ใ‚‹ใ€‚0-based indexingใง $B_i$ ใฎ่ฆ็ด  $j$ ใ‚’ $B_{i,j}$ ใจๆ›ธใใ€‚

$B_1, ... ,B_k$ ใซใคใ„ใฆ่พžๆ›ธ้ †ใงใ‚ใ‚‹ใ€ใคใพใ‚Š $\forall j B_{i,j} &lt; B_{i+1,j}$ ใจๅฎšใ‚ใ‚‹ใ€‚ใ“ใฎๆ•ฐๅˆ—ใฏ้กŒๆ„ใ‚’ๆบ€ใŸใ™ใ€‚ใชใœใชใ‚‰ $B_i &lt; B_{i+1}$ ใฎๅ„่ฆ็ด ใซ1ใšใคๅˆ่จˆ $k$ ๅข—ใ‚„ใ—ใฆ $B_{i+1}$ ใ‚’ไฝœใ‚Œใฐใ€ $B_{i,j} &lt; B_{i+1,j}$ ใซใชใ‚‹ใ‹ใ‚‰ใงใ‚ใ‚‹ใ€‚ใ‚‚ใฃใจใŸใใ•ใ‚“ๅข—ใ‚„ใ™ใฎใฏๆง‹ใ‚ใชใ„ใ€‚ไธ็ญ‰ๅทใŒ้€†ใฎๅ ดๅˆใ‚‚ๅŒๆง˜ใงใ‚ใ‚‹ใ€‚

ๅ…ทไฝ“็š„ใซใฏใ€ $B_{i,j} = \lfloor A_i / k \rfloor + ind(j &lt; (j MOD k))$ ใจใ™ใ‚Œใฐใ“ใฎใ‚ˆใ†ใชๆ•ฐๅˆ—ใ‚’ไฝœใ‚Œใ‚‹ใ€‚ใ“ใ“ใง $ind(p)$ ใฏ่ฟฐ่ชž $p$ ใŒ็œŸใชใ‚‰1ใ€ใใ†ใงใชใ‘ใ‚Œใฐ0ใ‚’่ฟ”ใ™ใ€‚ใ“ใ‚Œใ‚’็ญ”ใˆใจใ—ใฆๅ‡บๅŠ›ใ™ใ‚Œใฐใ‚ˆใ„ใ€‚

ๆญฃใฎๆ•ฐใงใฏใชใ้ž่ฒ ๆ•ดๆ•ฐใจใ„ใ†ใฎใ‚’ๆ‰ฑใ„ๆใญใฆใƒšใƒŠใƒซใƒ†ใ‚ฃใ‚’ๅ‡บใ—ใฆใ—ใพใฃใŸใ€‚

AGC 054-A

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

ๆœ€ๅˆใŒ่‚ๅฟƒ

$S$ ใฎๅ…ˆ้ ญใฎๆ–‡ๅญ—ใ‚’ใ„ใคใ‹ใฏๅ‰Š้™คใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใฎใงใ€ๅ‰Š้™คใงใใ‚‹ใ‹ใฉใ†ใ‹่€ƒใˆใ‚‹ใ€‚

  • $S$ ใŒๆœซๅฐพใฎๆ–‡ๅญ—ใŒใ€ $S$ ใฎๅ…ˆ้ ญใฎๆ–‡ๅญ— $k$ ใจ็•ฐใชใ‚‹ใชใ‚‰ใ€ $S$ ใ‚’1ๅ›žใงไธธใ”ใจๅ‰Š้™คใงใใ‚‹ใ€‚
  • $S$ ใ‚’ๆœซๅฐพใ‹ใ‚‰่ฆ‹ใฆใ„ใใ€‚ $k$ ใจ็•ฐใชใ‚‹็ฎ‡ๆ‰€ใŒ้€ฃ็ถšใ—ใฆใ„ใ‚‹ใ€ใคใพใ‚Š $k,...,(c,d),...,k$ ใชใ‚‰ใ€ๅ…ˆ้ ญใ‹ใ‚‰ $c$ ใพใงใจใ€ $d$ ใ‹ใ‚‰ๆœซๅฐพใพใงใ‚’ๅ‰Š้™คใ™ใ‚‹ใ€‚่จˆ2ๅ›žใงใ‚ใ‚‹ใ€‚ $c$ ใจ $d$ ใฏๅŒใ˜ๆ–‡ๅญ—ใงใ‚‚ๆง‹ใ‚ใชใ„ใ€‚
  • ไธŠ่จ˜ใ‚’ๆบ€ใŸใ•ใชใ„ใ€ใคใพใ‚Š $k$ ใจ็•ฐใชใ‚‹ๆ–‡ๅญ—ใŒ้€ฃ็ถšใ—ใชใ‘ใ‚Œใฐใ€ๅ‰Š้™คใงใใชใ„ $k$ ใŒๆฎ‹ใ‚‹ใ€‚

AGC 054-B

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

ๅŸบๆœฌๆ–น้‡ใฏ็ซ‹ใฃใŸใŒใใ“ใ‹ใ‚‰ๅ…ˆใซ้€ฒใพใชใ‹ใฃใŸใ€‚

$W$ ใฎๅ’Œ $S$ ใŒๅฅ‡ๆ•ฐใชใ‚‰็ญ”ใˆใฏ0ใงใ‚ใ‚‹ใ€‚ไปฅไธ‹ $S$ ใฏๅถๆ•ฐใจใ™ใ‚‹ใ€‚

็ทฉๅ’Œๅ•้กŒใจใ—ใฆใ€ๅ–ใ‚‹้ †ๅบใ‚’ๅ•ใ‚ใšใซไธ€ไบบใŒๅ–ใฃใŸใฟใ‹ใ‚“ใฎ้‡ใ•ใฎๅ’ŒใŒ $S$ ใฎใจใใ€ใใ†ใชใ‚‹็ต„ใฟๅˆใ‚ใ›ใฎ็ทๆ•ฐใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚ใ“ใ‚Œใฏใ‚ใ‚‹ใฟใ‹ใ‚“ใ‚’ๅ–ใ‚‹ใ‹ๅ–ใ‚‰ใชใ„ใ‹ใจใ„ใ†ๅ‹•็š„่จˆ็”ปๆณ•ใงๆฑ‚ใพใ‚‹ใ€‚ๅ…ทไฝ“็š„ใซใฏใ€ใฟใ‹ใ‚“ $1..N$ ใ€ใ“ใ‚Œใพใงๅ–ใฃใŸใฟใ‹ใ‚“ใฎ้‡้‡ $0..S$ ใซใคใ„ใฆใ€ๅ–ใฃใŸใฟใ‹ใ‚“ใฎ็ต„ใฟๅˆใ‚ใ›ๆ•ฐ $0..N$ ใ‚’ๆ•ฐใˆใ‚‹ใ€‚็ต„ใฟๅˆใ‚ใ›ใฏ่†จๅคงใซใชใ‚‹ใฎใงintใงใฏใชใmodintใซใ™ใ‚‹(ใใ†ใ—ใชใ„ใจWAใ™ใ‚‹)ใ€‚

ใ“ใ“ใ‹ใ‚‰ใฏๅ…ฌๅผ่งฃ่ชฌใ‚’่ชญใพใชใ„ใจใ‚ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚้ซ˜ๆฉ‹ใใ‚“ใŒๅ–ใฃใŸใฟใ‹ใ‚“ใฎ้›†ๅˆใŒ $P$ ใ€้’ๆœจใใ‚“ใŒๅ–ใฃใŸใฎ้›†ๅˆ $Q = 1..N \setminus P$ ใŒใ‚ใ‚‹ใจใใ€ $P$ ใฎ้ †ๅˆ—ใจ $Q$ ใฎ้ †ๅˆ—ใ‚’ๅ›บๅฎšใ™ใ‚Œใฐใ€่งฃใ‚’ๆบ€ใŸใ™ใ€‚ๆœ€็ต‚็š„ใซไธกๆ–นใŒๅ–ใฃใŸใฟใ‹ใ‚“ใฎ้‡ใ•ใŒ็ญ‰ใ—ใ„ใ“ใจใฏๅˆ†ใ‹ใ‚‹ใŒใ€ใใฎใ‚ˆใ†ใชๅ–ใ‚Šๆ–นใŒๅธธใซๅฏ่ƒฝใชใ“ใจใŒใ‚ใ‹ใ‚‰ใชใ‹ใฃใŸใ€ใจใ„ใ†ใ‚ˆใ‚Šใ“ใฎใ“ใจใŒๅ…ฌๅผ่งฃ่ชฌใงใฏ็œ็•ฅใ•ใ‚Œใฆใ„ใ‚‹ใ€‚ใ“ใกใ‚‰ใซ ่งฃ่ชฌ ใŒใ‚ใ‚‹ใ€‚

ใจใ‚‚ใ‹ใไธŠ่จ˜ใ‚’ๆญฃใ—ใ„ใจใฟใชใ™ใชใ‚‰ใ€็ทฉๅ’Œๅ•้กŒใ‚’ๆ‹กๅผตใ™ใ‚‹ใ€‚ $i = 0..N$ ใซใคใ„ใฆใ€ $|P| = i$ ใ‚’ๆบ€ใŸใ™็ต„ใฟๅˆใ‚ใ›ใŒ $C_i$ ้€šใ‚Šใ‚ใ‚‹ใชใ‚‰ใ€ $C_i \times i! (n-i)!$ ใฎๅˆ่จˆใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

$P,Q$ ใ‹ใ‚‰ใ‚ใ‚Šๅพ—ใ‚‹้ †ๅˆ—ใฎ็ต„ใฟๅˆใ‚ใ›ใ‚’ๆฑ‚ใ‚ใ‚‹ๆ–นๆณ•ใŒใฉใ†ใ—ใฆใ‚‚ๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

AGC 055-A

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

ABC, ACB, BAC, BCA, CAB, CBA ใ‚’ๅ…จ้ƒจ่ฉฆใ›ใฐใ‚ˆใ„ใฎใฏๅˆ†ใ‹ใ‚‹ใŒใ€ใฉใ†่ฉฆใ™ใฎใ‹ใŒๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚ๅ‰ใ‹ใ‚‰ๅ–ใ‚‹ใจใ‹ๅพŒใ‚ใ‹ใ‚‰ๅ–ใ‚‹ใจใ‹่‰ฒใ€…่ฉฆใ—ใŸใŒ่งฃใ‘ใชใ‹ใฃใŸใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใƒ›ใƒผใƒซใฎๅฎš็†ใซๅŸบใฅใ„ใฆ3ๅˆ†ๅ‰ฒใ™ใ‚‹ใ€ใจใ‚ใ‚‹ใ€‚ๆ„ๅค–ใจๅฎŸ่ฃ…ใŒๅคงๅค‰ใงใ‚ใ‚‹ใ€‚

AGC 056-A

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

ๆ‰‹ใ‚’ๅ‹•ใ‹ใ™ใจ่งฃใ‘ใ‚‹ใ€‚

$N$ ใŒ3ใฎๅ€ๆ•ฐใฎใจใใฏใ€ไธ‹่จ˜ใฎ้€šใ‚Š3ๅ€‹ไธฆในใฆไธ€ๆฎตไธ‹ใ’ใ‚‹ใ‚’็นฐใ‚Š่ฟ”ใ™ใ€‚

###......
...###...
......###
###......
...###...
......###
###......
...###...
......###

$N-1$ ใŒ3ใฎๅ€ๆ•ฐใฎใจใใฏใ€ # ใฎๅ ดๆ‰€ใจใ—ใฆไธŠ่จ˜ใ‹ใ‚‰ ? ใ‚’้™คใ„ใฆ * ใ‚’ๅข—ใ‚„ใ™ใ€‚็ขบใ‹ใซ้€ฃ็ตๆˆๅˆ†ใฏ $N$ ๅ€‹ใงใ‚ใ‚‹ใ€‚

###.......
...###....
......?##*
###.......
...###....
......##?*
###.......
...###....
......#?#*
......***.

$N-2$ ใŒ3ใฎๅ€ๆ•ฐใฎใจใใฏใ€ # ใฎๅ ดๆ‰€ใจใ—ใฆไธŠ่จ˜ใ‹ใ‚‰ ? ใ‚’้™คใ„ใฆ * ใ‚’ๅข—ใ‚„ใ™ใ€‚็ขบใ‹ใซ้€ฃ็ตๆˆๅˆ†ใฏ $N$ ๅ€‹ใงใ‚ใ‚‹ใ€‚

###........
...###.....
.......?##*
###........
...###.....
......##.?*
###........
...###.....
......?.##*
......###..
......**.*.

ๅ…ฌๅผ่งฃ่ชฌ1ใŒ็ฐกๆฝ”ใงใ€ๅ…ฌๅผ่งฃ่ชฌ2ใฏๅคงใใ•1ใฎๆˆๅˆ†ใ‚’ๅŸบใซไธŠ่จ˜ใจใฏ็•ฐใชใ‚‹ๅพฎ่ชฟๆ•ดใ‚’ใ—ใฆใ„ใ‚‹ใ€‚

AGC 057-A

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

ใ„ใ‹ใซใ‚‚ใƒžใƒซใƒใƒ†ใ‚นใƒˆใ‚ฑใƒผใ‚นใ‚‰ใ—ใใ€ๅ…ฅๅŠ›ไพ‹ไปฅๅค–ใŒๅ…จๆป…ใ—ใŸใ‹ใจๆ€ใฃใŸใ‚‰ๅ†ใ€…ๆๅ‡บใŒACใ—ใŸใ€‚

ๆ•ฐ $x$ ใฎๆกๆ•ฐใ‚’ $W$ ใจใ™ใ‚‹ใ€‚

$W(L) = W(R)$ ใชใ‚‰ใ€ $a,b$ ใ‚’ใฉใ†้ธใ‚“ใงใ‚‚ๅŒใ˜ๆกๆ•ฐใฎ็•ฐใชใ‚‹ๆ–‡ๅญ—ๅˆ—่กจ่จ˜ใชใฎใงใ€็ญ”ใˆใฏ $R - L + 1$ ใงใ‚ใ‚‹ใ€‚

ไธ€่ˆฌ็š„ใซใ€ๆกๆ•ฐใฎๅฐ‘ใชใ„ๆ•ฐใ‚’ๆฎ‹ใ™ใจๆใ™ใ‚‹ใ€‚ใชใœใชใ‚‰ๆกๆ•ฐใŒไธ€ใคๅคšใ‘ใ‚Œใฐๆ•ฐๅญ—ใฎๅ€™่ฃœใฏ10ๅ€ใซใชใ‚‹ใ€ใคใพใ‚Š $x$ ใซๅฏพใ—ใฆใ€ $10x + 0..9$ ใŒใ‚ใ‚‹ใฎใ ใ‹ใ‚‰ใ€ $x$ ใ‚’ๆฎ‹ใ™ใจใใ‚ŒไปฅไธŠๅคšใ„็จฎ้กžใฎๆ•ฐใ‚’้›†ๅˆ $A$ ใซๆฎ‹ใ›ใชใใชใ‚‹ใ€‚

ใ“ใฎใ“ใจใ‹ใ‚‰ใ€ $W(L) + 1 &lt; W(R)$ ใชใ‚‰ $W(L) + 1 = W(R)$ ใจใชใ‚‹ใ‚ˆใ† $L$ ใ‚’่ชญใฟๆ›ฟใˆใฆๆง‹ใ‚ใชใ„ใ€‚ใคใพใ‚Š $L = max(L, 10^{W(R)-2})$ ใจ่ชญใฟๆ›ฟใˆใ‚‹ใ€‚

$R$ ใฎๆœ€ไธŠไฝๆกใŒ1ใ‚ˆใ‚Šใ‚‚ๅคงใใ„ๆ™‚ใ€ $R$ ใฎๆœ€ไธŠไฝๆกไปฅๅค–ใฏ $[0..10^{W(R)-1})$ ใ‚’็ถฒ็พ…ใ™ใ‚‹ใ€‚ใใฎใŸใ‚ $W(R)-1$ ๆกใฎๆ•ฐใ‚’ๆฎ‹ใ™ใจๆใ™ใ‚‹ใ€‚ใ‚ˆใฃใฆ็ญ”ใˆใฏ $R - 10^{W(R)-1} + 1$ ใงใ‚ใ‚‹ใ€‚

$R$ ใฎๆœ€ไธŠไฝๆกใŒ1ใจใใฏใ€ $R$ ใฎๆœ€ไธŠไฝๆกไปฅๅค–ใฎๆ•ฐใ‚’ $SL = R - 10^{W(R)}$ ใ€ $R$ ใฎๆœ€ไธ‹ไฝๆกไปฅๅค–ใฎๆ•ฐใ‚’ $SR = \lfloor R / 10 \rfloor$ ใจ็ฝฎใใ€‚ $W(R)-1$ ๆกใฎๆ•ฐ $[L,10^{W(R)-1})$ ใฎๅ†…ใ€ $[0,SL]$ ใซใ‚‚ $[0,SR]$ ใซใ‚‚้‡ใชใ‚‰ใชใ„ๆ•ฐใฏ $A$ ใซๅซใ‚ใฆใ‚‚ใ‚ˆใ„ใ€‚ใ‚ˆใฃใฆ็ญ”ใˆใฏ $R - max(L, 10^{W(R)-2}, SR + 1, SL + 1) + 1$ ใงใ‚ใ‚‹ใ€‚

AGC 058-A

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

่งฃ็ญ”้•ทใŒ $N$ ไปฅไธ‹ใชใฎใงใ€ๆฑบใ‚ๆ‰“ใกใงใใ‚‹ใฎใ ใ‚ใ†ใ€‚

่‡ชๆ˜Žใชๅˆฐ้”็‚นใจใ—ใฆใ€ $1, 2N, 2, 2N-1, ... , N, N+1$ ใŒใ‚ใ‚‹ใ€‚ใ“ใ†ใชใ‚‹ใ‚ˆใ†ใซใƒใƒ–ใƒซใ‚ฝใƒผใƒˆใ™ใ‚‹ใจ $O(N^2)$ ๆŽ›ใ‹ใ‚‹ใฎใง็ญ”ใˆใซใฏใชใ‚‰ใชใ„( $1..2N$ ใ‚’ๅ…ฅๅŠ›ใ•ใ‚ŒใŸใจใ)ใ€‚ใใ“ใงใ“ใ‚Œใซ่ฟ‘ใ„ใ‚ธใ‚ฐใ‚ถใ‚ฐใ‚’ไฝœใ‚‹ใ“ใจ่€ƒใˆใ‚‹ใ€‚

ๅฅ‡ๆ•ฐ็•ช็›ฎใŒๅฑฑใซใชใ‚‹ใ€ใคใพใ‚Š $A_{2i-1} &lt; A_{2i} &gt; A_{2i+1}$ ใซใชใ‚‹ใ‚ˆใ†ใซๅฑ€ๆ‰€็š„ใซใ‚ฝใƒผใƒˆใ™ใ‚‹ใ€‚ไพฟๅฎœไธŠ $A_{2N+1} = -1$ ใจใ™ใ‚‹ใ€‚

  • ๅ…ƒใ€… $A_{2i-1} &lt; A_{2i} &gt; A_{2i+1}$ ใชใ‚‰ไฝ•ใ‚‚ใ—ใชใ„
  • $A_{2i-1} &lt; A_{2i} &lt; A_{2i+1}$ ใชใ‚‰ $A_{2i} &gt; A_{2i+1}$ ใซใชใ‚‹ใ‚ˆใ†ใซไบคๆ›ใ™ใ‚‹
  • $A_{2i-1} &gt; A_{2i} &gt; A_{2i+1}$ ใชใ‚‰ $A_{2i-1} &lt; A_{2i}$ ใซใชใ‚‹ใ‚ˆใ†ใซไบคๆ›ใ™ใ‚‹
  • ใใ‚Œไปฅๅค–ใคใพใ‚Š $A_{2i-1} &gt; A_{2i} &lt; A_{2i+1}$ ใจใใฏใ€ $max(A_{2i-1}, A_{2i+1})$ ใจ $A_{2i}$ ใ‚’ไบคๆ›ใ™ใ‚‹ใ€‚ใ“ใ†ใ™ใ‚‹ใ“ใจใง $i$ ใŒๅฐใ•ใ„ใปใฉๆŒฏใ‚Œๅน…ใ‚’ๅคงใใใ™ใ‚‹

ๅ…ฌๅผ่งฃ่ชฌ1ใจใ—ใฆใ„ใ‚‹ใ“ใจใฏๅŒใ˜ใ ใŒใ€ๅ…ฌๅผ่งฃ่ชฌใฏ่จผๆ˜Žใ‚’ไธŽใˆใฆใ„ใ‚‹ใ€‚

AGC 060-A

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

ๆ–‡ๅญ—ใฎ็ฝฎใๆ–นใ‚’DPใ™ใ‚‹ใฎใ ใจไบˆๆƒณใฏใ—ใŸใŒใ€ใใฎๅ…ˆใŒๅ…จใๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใซใ‚ใ‚‹้€šใ‚Šใ€ใ‚ใ‚‹้€ฃ็ถš้ƒจๅˆ†ๆ–‡ๅญ—ๅˆ—ใงใ‚ใ‚‹ๆ–‡ๅญ—ใŒ้ŽๅŠๆ•ฐใชใ‚‰ใ€ๅŠๅˆ†ใซๅˆ‡ใฃใฆใ‚‚ใฉใกใ‚‰ใ‹ใงใฏ้ŽๅŠๆ•ฐใ‚’ๅ ใ‚ใฆใ„ใ‚‹ใ€‚ใ“ใ‚ŒใŒๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

DPใฎๅˆๆœŸๅŒ–ใŒๅคงๅค‰ใงใ‚ใ‚‹ใ€‚

AGC 061-A

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

ๅฎŸ้จ“ใ™ใ‚‹ใจๅˆ†ใ‹ใ‚‹ใ€‚ $n=N, k=K$ ใฎใจใใฎ็ญ”ใˆใ‚’ $f(n,k)$ ใŠใใ€‚

ๆœ€ๅˆใซใ€ $N,K$ ใงๅ ดๅˆๅˆ†ใ‘ใ™ใ‚‹ใ€‚ $N = 2$ ใชใ‚‰็ญ”ใˆใฏ $3 - K$ ใงใ‚ใ‚‹ใ€‚ $N$ ใŒๅฅ‡ๆ•ฐใชใ‚‰ $N-1$ ใซๅฏพใ™ใ‚‹็ญ”ใˆใซ $shuffle(1,N-1)$ , $shuffle(2,N)$ ใ—ใŸใ‚‚ใฎใŒ็ญ”ใˆใงใ‚ใ‚‹ใ€‚ๅ…ˆใซ $N$ ใฎๅฅ‡ๆ•ฐใฎๅ ดๅˆใ‚’ๆฑ‚ใ‚ใฆใ€ใใฎใ‚ใจใซ $N$ ใŒๅถๆ•ฐใฎๅ ดๅˆใ‚’ๆฑ‚ใ‚ใ‚‹ใ€‚

$N$ ใ‚’ๅฅ‡ๆ•ฐใจใ™ใ‚‹ใ€‚ $K = 1$ ใชใ‚‰็ญ”ใˆใฏ2ใงใ‚ใ‚‹ใ€‚ใใ†ใงใชใ‘ใ‚Œใฐใ€ $p = f(N-1, K-1)$ ใจๆฑ‚ใ‚ใ‚‹ใ€‚ $p$ ใฏ $shuffle(2,N)$ ใฎ $K$ ็•ช็›ฎใฎไฝ็ฝฎใซใ€ $shuffle(1,N-1)$ ใฎไฝ•็•ช็›ฎใฎ่ฆ็ด ใŒๆฅใ‚‹ใ‹ใ‚’็คบใ™ใ€‚ $p = N - 2$ ใชใ‚‰ $N$ ใŒๆฅใ‚‹ใฎใง $f(N,K) = N$ ใงใ‚ใ‚‹ใ€‚ $p &lt; N - 2$ ใชใ‚‰ $shuffle(1,N-1)$ ใง $p$ ็•ช็›ฎใซๆฅใ‚‹่ฆ็ด ใŒ็ญ”ใˆ $f(N,K) = f(N-1, p+1)$ ใงใ‚ใ‚‹ใ€‚ $N-1$ ใฏๅถๆ•ฐใชใฎใงไธ‹่จ˜ใ‹ใ‚‰ๆฑ‚ใ‚ใ‚‹ใ€‚

$N$ ใ‚’ๅถๆ•ฐใจใ™ใ‚‹ใ€‚ๅ…ˆ้ ญใ‹ใ‚‰2ๅ€‹ใšใค่ฆ็ด ใ‚’ๅŒบๅˆ‡ใ‚Šใ€ $i = 1..(N/2)$ ใจใ—ใฆใ€้šฃใ‚Šๅˆใ†่ฆ็ด  $(2i-1,2i)$ ใซใคใ„ใฆ่€ƒใˆใ‚‹ใ€‚ๅฎŸ้จ“ใ™ใ‚‹ใจๅˆ†ใ‹ใ‚‹ใŒใ€ $shuffle(1,N)$ ใซใŠใ„ใฆใ€ $(2i-1,2i)$ ใฏใใฎใพใพใ‹ใ€ๅ…ฅใ‚Œๆ›ฟใˆใŸใ‚‚ใฎ $(2i,2i-1)$ ใซใชใ‚‹ใ‹ใฉใกใ‚‰ใ‹ใงใ€่ฆ็ด ใฏใใ‚Œไปฅๅค–ใฎๅ ดๆ‰€ใซ็งปๅ‹•ใ—ใชใ„ใ€‚ใ“ใฎไปฎๅฎšใŒๆญฃใ—ใ„ใจใ—ใฆใ€ๅ…ฅใ‚Œๆ›ฟใˆๅ›žๆ•ฐใฎๅถๅฅ‡ใฏไบŒ้ …ไฟ‚ๆ•ฐ $N/2 \choose i$ ใฎๅถๅฅ‡ใจๅŒใ˜ใงใ‚ใ‚‹ใ€‚

ไบŒ้ …ไฟ‚ๆ•ฐ $a \choose b$ ใฎๅถๅฅ‡ใฏ $a \verb|&amp;| b = b$ ใชใ‚‰ๅฅ‡ๆ•ฐใ€ใใ†ใงใชใ‘ใ‚Œใฐๅถๆ•ฐใงใ‚ใ‚‹ใ€‚่จผๆ˜Žใฏ็œ็•ฅใ™ใ‚‹ใŒใ€ใƒใƒƒใƒˆใงๆŽขใ™ใจใฟใคใ‹ใ‚‹ใ€‚ใ‚ˆใฃใฆ็ญ”ใˆใฏไปฅไธ‹ใฎ้€šใ‚Šใงใ‚ใ‚‹ใ€‚

  • $N/2 \verb|&amp;| i = i$ ใชใ‚‰ใ€ $f(N,2i) = 2i-1$ ใ€ $f(N,2i-1) = 2i$
  • $N/2 \verb|&amp;| i \ne i$ ใชใ‚‰ใ€ $f(N,2i) = 2i$ ใ€ $f(N,2i-1) = 2i-1$

ๅ…ˆใปใฉใฎไปฎๅฎšใ‚’ๅธฐ็ด็š„ใซ่จผๆ˜Žใ™ใ‚‹ใ€‚็†่ฉฐใ‚ใง่€ƒๅฏŸใ™ใ‚‹ใจๅ…ฅใ‚Œๅญๆง‹้€ ใฎใ‚ใฟใ ใใ˜ใจๅˆ†ใ‹ใ‚Šใ€ๅฎŸ้จ“ใ™ใ‚‹ใจ $(2i-1,2i)$ ็•ช็›ฎใฎ่ฆ็ด ใ—ใ‹ๅ…ฅใ‚Œๆ›ฟใ‚ใ‚‰ใชใ„ใจๅˆ†ใ‹ใ‚‹ใฎใงใ€ไธกๆ–น็ชใๅˆใ‚ใ›ใ‚‹ใจใƒ‘ใ‚นใ‚ซใƒซใฎไธ‰่ง’ๅฝขใซใชใ‚‹ใ€‚

  • $N = 2$ ใชใ‚‰ๅ•้กŒๆ–‡้€šใ‚Šๆ‰‹ใ‚’ๅ‹•ใ‹ใ—ใฆ $(2,1)$ ใ‚’ๅพ—ใ‚‹
  • $N = 4$ ใชใ‚‰ๅ•้กŒๆ–‡้€šใ‚Šๆ‰‹ใ‚’ๅ‹•ใ‹ใ—ใฆ $(2,1,4,3)$ ใ‚’ๅพ—ใ‚‹ใ€‚ใ“ใฎใจใๅ€คใงใฏใชใๆทปใˆๅญ—ใฎ็ต„ใงใ€ $(1,2)$ ใ‚’1ๅ›žใ€ $(2,3)$ ใ‚’2ๅ›žใ€ $(3,4)$ ใ‚’1ๅ›žๅ…ฅใ‚Œๆ›ฟใˆใ‚‹ใ€‚
  • $N = 6$ ใชใ‚‰ $(1,2)$ ใ‚’1ๅ›žใ€ $(3,4)$ ใ‚’2ๅ›žใ€ $(5,6)$ ใ‚’1ๅ›žๅ…ฅใ‚Œๆ›ฟใˆใ‚‹ใ€‚ใชใ‚“ใจใชใไบŒ้ …ไฟ‚ๆ•ฐใฎไบˆๆ„ŸใŒใ™ใ‚‹ใ€‚
  • $N$ ใŒๅถๆ•ฐใฎๆ™‚ใ€ $i=1..(N/2)$ ใซใคใ„ใฆ $(2i,2i-1)$ ใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใ€ $i=2..(1+N/2)$ ใซใคใ„ใฆ $(2i,2i-1)$ ใ‚’ๅ…ฅใ‚Œๆ›ฟใˆใ‚‹ๅ›žๆ•ฐใฏใ€ไบŒ้ …ไฟ‚ๆ•ฐใฎใใฎใ‚‚ใฎใงใ‚ใ‚‹ใ€‚ๅถๆ•ฐๅ›žๅ…ฅใ‚Œๆ›ฟใˆใ‚‹ใฎใฏๅ…ฅใ‚Œๆ›ฟใˆใชใ„ใฎใจๅŒใ˜(0ๅ›žๅ…ฅใ‚Œๆ›ฟใˆใ‚‹ใฎใจๅŒใ˜)ใชใฎใงใ€ไบŒ้ …ไฟ‚ๆ•ฐใฎๅถๅฅ‡ใ ใ‘ๆฑ‚ใ‚ใ‚Œใฐใ„ใ„ใ€‚

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

ๅฝ“ๅˆใฎ็€็œผ็‚นใŒๆ‚ชใๆ™‚้–“ใŒๆŽ›ใ‹ใฃใฆใ—ใพใฃใŸใ€‚ $N$ ใŒๅถๆ•ฐใชใ‚‰ๅทฆๅŠๅˆ†ใจๅณๅŠๅˆ†ใซๅฏพ็งฐๆ€งใŒใ‚ใ‚‹(็ซฏใ‹ใ‚‰ใฎ่ท้›ขใŒ็ญ‰ใ—ใ„ๆทปใˆๅญ—ใฎๅ€คใ‚’่ถณใ™ใจ $N+1$ ใซใชใ‚‹)ใจใ‹ใ€ $N = 2^i$ ใชใ‚‰ๅทฆๅŠๅˆ†ใฏ $2^{i-1}$ ใจๅŒใ˜ใ ใจใ‹ใ€็ขบใ‹ใซใใ†ใชใฎใ ใŒ่งฃๆณ•ใซใฏใคใชใŒใ‚‰ใชใ„ใ€‚ๅฎŸ้จ“ใ‚ณใƒผใƒ‰ใ‚’็ด ๆ—ฉใๆ›ธใ‘ใ‚‹ใ“ใจใฏ้‡่ฆใงใ‚ใ‚‹ใ€‚

void visit_dfs(Num l, Num r, Vec& v) {
    if ((l + 1) == r) {
        std::swap(v.at(l), v.at(r));
        return;
    }

    visit_dfs(l, r-1, v);
    visit_dfs(l+1, r, v);
    return;
}

void solve(std::istream& is, std::ostream& os) {
    Num n {0};
    is >> n;

    Vec ns(n);
    std::iota(ns.begin(), ns.end(), 1LL);
    visit_dfs(0, n-1, ns);
    print_oneline(ns, os);

    Vec inv(n);
    for(Num i{0}; i<n; ++i) {
        inv.at(ns.at(i)-1) = i+1;
    }
    print_oneline(inv, os);
}

AGC 062-A

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

่งฃ่ชฌใ‚’่ชญใ‚€ใพใงๅ…จใๅˆ†ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

AGC 063-A

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

ๅˆๆ‰‹ใ‚’่€ƒใˆใ‚‹ใ€‚Aliceใจใ—ใฆใฏใ€ $S$ ใฎๆœ€ๅˆใฎ A ใฎๅ‰ใซ B ใŒใชใ‘ใ‚Œใฐใ€ $N$ ใ‚ˆใ‚Šๅคงใใช $x$ ใ‚’้ธในใฐ $mex(X) = mex(0) = A$ ใงAliceใŒๅ‹ใคใ€‚ $S$ ใฎๆœ€ๅˆใฎ A ใฎๅ‰ใซ 'B' ใŒไธ€ๆ–‡ๅญ—ใ ใ‘ใ‚ใ‚Œใฐใ€ $x = 0$ ใ‚’้ธใณใ€ $mex(X) = mex(1) = A$ ใงAliceใŒๅ‹ใคใ€‚ใใ‚Œไปฅๅค–ใฏใฉใ†ใ‚„ใฃใฆใ‚‚ $mex(X) = mex(0) = B$ ใงใ‚ใ‚ŠAliceใฏๅ‹ใฆใชใ„ใ€‚

ใ“ใ‚Œใ‚’ๆ‹กๅผตใ—ใ€ $i$ ็•ช็›ฎใฎAliceใฎๆ‰‹็•ชใŒๆฅใ‚‹็›ดๅ‰ใซใ€Alice, Bob ๅ…ฑใซ $H = \lfloor (i-1) / 2 \rfloor$ ๆ‰‹ใ‚’ๆ‰“ใฃใŸใจใ™ใ‚‹ใ€‚ๅพŒใงๅˆ†ใ‹ใ‚‹ใ‚ˆใ†ใซใ€Bobใฏๆœ€ๅคง $H$ ๅ€‹ใฎ A ใ‚’ๅ–ใ‚Š้™คใ„ใฆใ„ใ‚‹ใฎใงใ€ใ“ใฎๆ™‚็‚นใง A ใŒๆฎ‹ใฃใฆใ„ใชใ‘ใ‚ŒใฐAliceใฏๅ‹ใฆใชใ„ใ€‚่จ€ใ„ๆ›ใˆใ‚Œใฐใ€ $S$ ใซๅฐ‘ใชใใจใ‚‚ $H + 1$ ๅ€‹ใฎ A ใ‚’ๅซใ‚“ใงใ„ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚ใ“ใฎ็Šถๆณใงใ€ๅ…ˆ้ ญใ‹ใ‚‰ $H + 1$ ็•ช็›ฎใฎ A ใพใงใซ B ใŒ $H + 1$ ๅ€‹ไปฅๅ†…ใชใ‚‰ใใ‚Œใฎไฝ็ฝฎใ‚’ $x$ ใซๆŒ‡ๅฎšใ—ใฆAliceใŒๅ‹ใฆใ€ใใ†ใงใชใ‘ใ‚Œใฐๅ‹ใฆใชใ„ใ€‚

Bobใฏใ“ใ‚Œใจๅฏพ็…งใงใ‚ใ‚‹ใ€‚ $i$ ็•ช็›ฎใฎBobใฎๆ‰‹็•ชใŒๆฅใ‚‹็›ดๅ‰ใซใ€Aliceใฏ $H = \lceil i / 2 \rceil$ ๆ‰‹ใ‚’ใ€Bobใฏ $H-1$ ๆ‰‹ใ‚’ๆ‰“ใฃใŸใจใ™ใ‚‹ใ€‚Aliceใฏๆœ€ๅคง $H$ ๅ€‹ใฎ B ใ‚’ๅ–ใ‚Š้™คใ„ใฆใ„ใ‚‹ใฎใงใ€ใ“ใฎๆ™‚็‚นใง B ใŒๆฎ‹ใฃใฆใ„ใชใ‘ใ‚ŒใฐBobใฏๅ‹ใฆใชใ„ใ€‚่จ€ใ„ๆ›ใˆใ‚Œใฐใ€ $S$ ใซๅฐ‘ใชใใจใ‚‚ $H + 1$ ๅ€‹ใฎ B ใ‚’ๅซใ‚“ใงใ„ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚ใ“ใฎ็Šถๆณใงใ€ๅ…ˆ้ ญใ‹ใ‚‰ $H + 1$ ็•ช็›ฎใฎ B ใพใงใซ A ใŒ $H$ ๅ€‹ไปฅๅ†…ใชใ‚‰ใใ‚Œใฎไฝ็ฝฎใ‚’ $x$ ใซๆŒ‡ๅฎšใ—ใฆBobใŒๅ‹ใฆใ€ใใ†ใงใชใ‘ใ‚Œใฐๅ‹ใฆใชใ„ใ€‚

$i$ ใฎๅถๅฅ‡ใซๆณจๆ„ใ—ไธŠ่จ˜ใ‚’ไฝฟใ„ๅˆ†ใ‘ใฆๅ‡บๅŠ›ใ™ใ‚‹ใ€‚AliceใจBobใงๅขƒ็•ŒใŒ1ๅ€‹ใšใ‚Œใฆใ„ใ‚‹ใฎใงๆณจๆ„ใ™ใ‚‹(ใ“ใ‚Œใ‚’้–“้•ใˆใ‚‹ใจWAใ™ใ‚‹)ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใฏใ“ใ‚Œใ‚’่ตท็‚นใซใ‚‚ใฃใจ่จผๆ˜Žใ‚’็ฐกๆฝ”ใซใ—ใฆใ„ใ‚‹ใ€‚

AGC 063-B

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

ไธธไธ€ๆ—ฅไปฅไธŠ่€ƒใˆใŸใŒใ€ใ‚ใ‹ใ‚‰ใชใ‹ใฃใŸใ€‚

ๅง‹ใ‚ใฏใ‚นใ‚ฟใƒƒใ‚ฏใ ใ‚ใ†ใจๆ€ใ„ใ€ๆฌกใฏๆœจๆง‹้€ ใ ใจๆ€ใฃใŸใŒใ€็ตๅฑ€ๆญฃ่งฃใฏใ‚นใ‚ฟใƒƒใ‚ฏใ ใฃใŸใ€‚ใ‚นใ‚ฟใƒƒใ‚ฏใซ็ฉใฟใชใŒใ‚‰ใ€ๅทฆใ‹ใ‚‰ๅณใซ้€ฃ็ถšใ™ใ‚‹่ฆ็ด ใซใคใชใ’ใฆใ„ใDPใชใฎใงใ€ๅฎŸใฏไธกๆ–นใ ใฃใŸใจใ„ใˆใ‚‹ใ€‚ๅ…ฌๅผ่งฃ่ชฌใฎใ‚‚ใ†ไธ€ใคใฎ่งฃๆณ•ใŒ ใ“ใกใ‚‰ ใ€‚ใฉใกใ‚‰ใฎใ‚ณใƒผใƒ‰ใ‚‚ใ€ๅ…ฌๅผ่งฃ่ชฌใ‚’ใปใผไธธๅ†™ใ—ใงใ‚ใ‚‹ใ€‚

ใชใŠๅ…ฅๅŠ› $A$ ๅ…จไฝ“ใŒ็”Ÿๆˆๅฏ่ƒฝใงใ‚ใ‚‹ๅฟ…่ฆใฏใชใใ€ไธ€้ƒจใŒ็”Ÿๆˆๅฏ่ƒฝใชใ‚‰็ญ”ใˆใฏ0ใ‚ˆใ‚Šๅคงใใ„ใ€‚

AGC 064-A

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

ๅทฆๅณๅฏพ็งฐใซใ—ใ‚ˆใ†ใจใ—ใฆ่งฃใ‘ใชใ‹ใฃใŸใ€‚ๅ…ฌๅผ่งฃ่ชฌใซใ‚ใ‚‹้€šใ‚Šใ€ๅทฆๅดใฏ1ใšใคๅข—ใ‚„ใ›ใฐใ‚ˆใ„ใ€‚

AGC 065-A

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

ๆœ€ๅˆใฎๆ–น้‡ใฏ26ๅˆ†ใง็ซ‹ใฃใŸใŒใ€็ตๅฑ€ๆ•ฐๆ™‚้–“ๆŽ›ใ‹ใฃใŸใ€‚

ๅ‰ๅ‡ฆ็†ใจใ—ใฆ $A$ ใฏ $modK$ ใ‚’ๅ–ใฃใŸๅ€คใจใ™ใ‚‹ใ€‚

็ทฉๅ’Œๅ•้กŒใจใ—ใฆใ€ $AmodK$ ใฎใ™ในใฆใฎ่ฆ็ด ใฏใใ‚Œใžใ‚Œ็•ฐใชใ‚‹ใจใ™ใ‚‹ใ€‚ $A$ ใ‚’ๆ˜‡้ †ใซไธฆในใ‚‹ใ€‚ $A_i &lt; A_{i+1}$ ใชใฎใงใ€ใ“ใ‚Œใ‚‰ใฎ่ท้›ขใฏ $K - (A_{i+1} - A_i)$ ใซใชใ‚‹ใ€‚ $(A_N, A_1)$ ้–“ใฎ่ท้›ขใ‚‚่€ƒๆ…ฎใ—ใฆใ€ๅทฎใŒๆœ€ใ‚‚ๅบƒใ„ใจใ“ใ‚ใ‚’้™คใ„ใฆไป–ใฎ็ต„ใฟๅˆใ‚ใ› $(A_i, A_{i+1})$ ใ‚’ๆŽก็”จใ™ใ‚Œใฐใ„ใ„ใ€‚

$A$ ใซ้‡่ค‡ใŒใ‚ใ‚‹ใจใ™ใ‚‹ใ€‚ใ‚ใ‚‹ๆ•ฐ $v$ ใŒ $A$ ใซๅซใพใ‚Œใ‚‹ๅ›žๆ•ฐ(ๅคš้‡ๅบฆ)ใ‚’ $C[v]$ ใจใ—ใฆใ€ $C[]$ ใฎๆœ€ๅคงๅ€คใ‚’ $M$ ใจใ™ใ‚‹ใ€‚ $C[v] = M$ ใจใชใ‚‹ $v$ ใฎ้›†ๅˆใ‚’ $S$ ใจใ™ใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใช $S$ ใซใคใ„ใฆๆ˜‡้ †ใซไธฆในใฆใ€ไธŠ่จ˜ใจๅŒๆง˜ใซ $(S_i, S_{i+1})$ ใฎๅทฎใŒๆœ€ใ‚‚ๅบƒใ„ใจใ“ใ‚ใ‚’้™คใ„ใฆไป–ใฎ็ต„ใฟๅˆใ‚ใ›ใ‚’ๆŽก็”จใ™ใ‚Œใฐใ„ใ„($S$ ใฎๅ„่ฆ็ด ใฏใใ‚Œใžใ‚Œ็•ฐใชใ‚‹ใฎใง)ใ€‚ใ“ใฎใ‚ˆใ†ใช $i$ ใ‚’ๆฑ‚ใ‚ใ€ $p = S_{i+1}$ ใจใ™ใ‚‹ใ€‚

$A$ ใซ้‡่ค‡ใŒใ‚ใ‚‹ๅคš้‡้›†ๅˆใจใ—ใฆใ€ไธŠ่จ˜ใฎ $p$ ใ‚’ๅˆๆœŸๅ€คใจใ—ใฆใ€ไปฅไธ‹ใฎๆ“ไฝœใ‚’ $N-1$ ๅ›ž็นฐใ‚Š่ฟ”ใ™ใ€‚ $modK$ ๅ‘จๅ›žใ‚’่€ƒๆ…ฎใ—ใฆใ€ $A$ ใซๅซใพใ‚Œใ‚‹ $p$ ใ‚ˆใ‚Šๅคงใใ„ๆ•ฐใฎใ†ใกๆœ€ๅฐใฎๆ•ฐใ‚’ $q$ ใจใ™ใ‚‹ใจใ€ $d = K - (q - p) mod K$ ใŒๅ•้กŒๆ–‡ใฎ $\sum$ ใฎๆˆๅˆ†ใงใ‚ใ‚‹ใ€‚ๆฌกใซ $A$ ใ‹ใ‚‰ $p$ ใ‚’ไธ€ใค้™คใใ€ $p$ ใ‚’ $q$ ใง็ฝฎใๆ›ใˆใ‚‹ใ€‚ใ“ใฎใ‚ˆใ†ใซใ—ใฆไฝœใฃใŸ $p$ ใฎ้€†้ †ใŒๅ•้กŒๆ–‡ใฎๆ•ฐๅˆ—ใงใ‚ใ‚‹ใŒใ€็ญ”ใˆใฏๅ’Œใ ใ‘ๆฑ‚ใ‚ใ‚Œใฐใ„ใ„ใฎใงใ€ $d$ ใฎๅ’Œใ‚’ๅ‡บๅŠ›ใ™ใ‚‹ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใจ็ต่ซ–ใฏๅŒใ˜ใงใ‚ใ‚‹ใ€‚ๅ…ฌๅผ่งฃ่ชฌใฏ่จผๆ˜Žใ—ใฆใ„ใ‚‹ใŒใ€ไธŠ่จ˜ใฏ่จผๆ˜Žใ‚’็ซฏๆŠ˜ใฃใฆใ„ใ‚‹ใ€‚

AGC 068-B

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

ๆญฃ็ขบใชๆ™‚้–“ใ‚’ใฏใ‹ใ‚Šใใ“ใญใŸใŒใ€่‡ชๅŠ›ACใพใง3ๆ™‚้–“ใ‚’ๅˆ‡ใฃใŸใจๆ€ใ†ใ€‚ใƒ’ใƒณใƒˆใฏ่งฃใใพใง่ฆ‹ใฆใ„ใชใ„ใ€‚

$A$ ใŒๅŒใ˜ๅ€ค $a$ ใ‚’ๅ…ฑๆœ‰ใ™ใ‚‹้›†ๅˆ $a= A_{a1}, A_{a2} ...$ ใซใคใ„ใฆใ€ $a$ ใ‚’ใ‚ญใƒผใจใ—ใฆๆทปใˆๅญ—ใฎๆ˜‡้ †ใฎ้›†ๅˆ $P_a = [a1, a2, ...]$ ใจใ€ $P_a$ ใ‚’ไธ€ๅ›žๅทฆใ‚ทใƒ•ใƒˆใ—ใŸ้›†ๅˆ $Q_a = [a2, ..., a1]$ ใ‚’ๆฑ‚ใ‚ใ‚‹(้›†ๅˆใฎ่ฆ็ด ใŒ1ๅ€‹ไปฅไธ‹ใชใ‚‰ $P_a$ ใจๅŒใ˜ใซใ™ใ‚‹)ใ€‚

ๅˆๆœŸๅ€คใจใ—ใฆ $S$ ใฏ $N$ ๅ€‹ใฎ 0 ใ€ $T$ ใฏ $N$ ๅ€‹ใฎ 1 ใ‚’่€ƒใˆใ‚‹ใ€‚ๆœ€ๅˆใซ $S,T$ ใซ $N$ ๅ€‹ใฎ่ฆ็ด  $S_1, T_1$ ใ‚’่ฟฝๅŠ ใ—ใ€ $A_1$ ใซๅ€คใ‚’ๆŒใฃใฆใใ‚‹ใ€‚ $a = A_1$ ใจใ—ใฆ $P_{a,j} = A_1$ ใ‚’ๆบ€ใŸใ™ใ‚ใ‚‹ $j$ ใŒใ‚ใฃใฆใ€ไฝ็ฝฎ $Q_{a,j}$ ใ‹ใ‚‰ๆŒใฃใฆใใ‚Œใฐใ‚ˆใ„ใ€‚ใ“ใ‚Œใฏ $S_1$ ใฎ $Q_{a,1}$ ใจ็ญ‰ใ—ใ„่ฆ็ด ใ‚’ 1 ใซใ€ใใ‚Œไปฅๅค–ใ‚’ 0 ใซใ™ใ‚‹ใจๅฎŸ็พใงใใ‚‹ใ€‚ $T_1$ ใฏใ™ในใฆ 0 ใซใ™ใ‚‹ใ€‚ไปฅๅพŒใ€ $[1..N] \setminus Q_{a,1}$ ใซใคใ„ใฆๅŒใ˜ๆ“ไฝœใ‚’่กŒใ†ใ€‚ใ“ใฎใ‚ˆใ†ใซใ™ใ‚Œใฐใ€ $P_{a,j}$ ใ‚’ใ‚ตใ‚คใ‚ฏใƒซใซใ™ใ‚‹ใ“ใจใŒใงใใ‚‹ใ€‚

ไธŠ่จ˜ใ‚’ไธ€่ˆฌๅŒ–ใ—ใฆใ€ $i = 1..N$ ๅ›ž็›ฎใฎๆ“ไฝœใ‚’่ฆๅฎšใ™ใ‚‹ใ€‚ๅˆๆœŸๅ€คใจใ—ใฆใ€่ฟฝๅŠ ใ™ใ‚‹ๆทปใˆๅญ—ใฎ้›†ๅˆใ‚’ $R = [1..N]$ ใงๅˆๆœŸๅŒ–ใ™ใ‚‹ใ€‚

$S$ ใซ $N+1-i$ ๅ€‹ใฎ่ฆ็ด  $S_i$ ใ‚’่ฟฝๅŠ ใ—ใ€ $T$ ใซ $N+1-i$ ๅ€‹ใฎ 0 ใ‚’่ฟฝๅŠ ใ—ใฆใ€ $A_i$ ใซๅ€คใ‚’ๆŒใฃใฆใใ‚‹ใ€‚ $a = A_i$ ใจใ—ใฆ $P_{a,j} = A_i$ ใ‚’ๆบ€ใŸใ™ใ‚ใ‚‹ $j$ ใŒใ‚ใฃใฆใ€ไฝ็ฝฎ $Q_{a,j}$ ใ‹ใ‚‰ๆŒใฃใฆใใ‚Œใฐใ‚ˆใ„ใ€‚ใ“ใ‚Œใฏ $R$ ใฎ $Q_{a,1}$ ใจ็ญ‰ใ—ใ„่ฆ็ด ใ‚’ 1 ใซใ€ใใ‚Œไปฅๅค–ใ‚’ 0 ใซใ™ใ‚‹ใจๅฎŸ็พใงใใ‚‹ใ€‚ใ‚ˆใ‚Šๆญฃ็ขบใซใฏใ€ $R$ ใ‚’ๆ˜‡้ †ใซไธฆในใŸ่ฆ็ด ใซใคใ„ใฆใ€ $j$ ็•ช็›ฎใฎ่ฆ็ด ใŒ $Q_{a,1}$ ใชใ‚‰ $S_i$ ใฎ $j$ ็•ช็›ฎใ‚’ 1 ใซใ—ใ€ใใ‚Œไปฅๅค–ใฎ $S_i$ ใฎ่ฆ็ด ใ‚’ 0 ใซใ™ใ‚‹ใ€‚ใ“ใฎๅพŒใ€ $R$ ใ‹ใ‚‰ $Q_{a,1}$ ใ‚’ๅ–ใ‚Š้™คใใ€‚

$|S| = N + \sum_{i=1}^{N} i = N + (N+1)N/2$ ใชใฎใงใ€ $S$ ใฎ้•ทใ•ใฏๅˆถ็ด„ใ‚’ๆบ€ใŸใ™ใ€‚

ๅ…ฌๅผ่งฃ่ชฌใจๅ…จใๅŒใ˜่งฃใๆ–นใ ใจๆ€ใ†ใ€‚

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