BELOW_IS_LESS_INTERESTING

็ ”็ฉถใƒŽใƒผใƒˆ

ๆŠฝ่ฑกๅŒ–ใŒๅฟ…ใšใ—ใ‚‚ๅ–„ใงใชใ„ใจใ„ใ†่€ƒใˆๆ–นใฏใ€ๅ…ทไฝ“็š„ใชใ‚‚ใฎใ‚’ๆ€ใ„ๅ‡บใ™ใŸใ‚ใฎใƒ•ใƒƒใ‚ฏใ‚„ใ€ๅคšๆง˜ใชใ‚‚ใฎใ‚’้€ฃๆƒณใงใใ‚‹็Šถๆ…‹ใ‚’ไฟใคใ“ใจใฎ้‡่ฆๆ€งใ‚’็คบใ—ใฆใ„ใพใ™ใ€‚ใ“ใ‚Œใฏใ€่จ€่‘‰ใฎ้€ฃๆƒณ็š„ๆ„ๅ‘ณใงใคใชใŒใ‚‹ใ“ใจใ‚„ใ€ใ‚ขใƒณใ‚ฑใƒผใƒˆ่ชฟๆŸปใ‹ใ‚‰ใฎKJๆณ•ใŒ้›ฃใ—ใ„็†็”ฑใจใ‚‚้–ข้€ฃใ—ใฆใ„ใพใ™ใ€‚ใพใŸใ€ใ€Œ้Žใกใฆๆ”นใ‚ใ–ใ‚‹ใ€ใ“ใ‚Œใ‚’้Žใกใจใ„ใ†ใ€ใจใ„ใ†ใ€Ž่ซ–่ชžใ€ใ‹ใ‚‰ใฎๅผ•็”จใฏใ€้Žใกใ‚’็Šฏใ™ใ“ใจ่‡ชไฝ“ใฏไบบ้–“ใฎๆ€ง่ณชใงใ‚ใ‚Šใ€้ฟใ‘ใ‚‰ใ‚Œใชใ„ใŒใ€ใใฎ้Žใกใ‚’่ช่ญ˜ใ—ใ€ใใ‚Œใ‚’ๆ”นใ‚ใชใ„ใ“ใจใŒ็œŸใฎ้Žใกใงใ‚ใ‚‹ใจใ„ใ†ๆ•™ใˆใ‚’็คบใ—ใฆใ„ใพใ™ใ€‚ใ“ใ‚Œใฏใ€็ ”็ฉถใ‚„ใƒ‡ใ‚ถใ‚คใƒณใฎใƒ—ใƒญใ‚ปใ‚นใซใŠใ„ใฆใ‚‚้‡่ฆใชๆ•™่จ“ใงใ‚ใ‚‹ใจๆ„Ÿใ˜ใพใ™ใ€‚

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

ๅ่„†ๅผฑๆ€งใซใคใ„ใฆใฎ่€ƒใˆๆ–นใฏใ€ใ‚ใ‚‹ๅˆ†้‡Žใงๅฎ‰ๅ…จ็ญ–ใ‚’ๅ–ใ‚Š(=่ฒ ใฎใƒ–ใƒฉใƒƒใ‚ฏใ‚นใƒฏใƒณใซๅฏพใ—ใฆ้ ‘ๅฅ)ใ€ๅˆฅใฎๅˆ†้‡Žใง้™ๅฎš็š„ใƒชใ‚นใ‚ฏใ‚’ใŸใใ•ใ‚“ๅ–ใ‚‹ใ“ใจใงใ€ๅคงๅ‹ใกใ‹ใ‚‰ๅคงใใชๅˆฉ็›Šใ‚’ๅพ—ใ‚‹(=ๆญฃใฎใƒ–ใƒฉใƒƒใ‚ฏใ‚นใƒฏใƒณใ‚’ๆฎ‹ใ™)ใจใ„ใ†ใ‚‚ใฎใงใ™ใ€‚ใ“ใ‚Œใซใ‚ˆใฃใฆๅ่„†ใ•ใ‚’ๅฎŸ็พใ™ใ‚‹ใจใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใพใŸใ€ใ‚ฟใƒฌใƒ–ใฏใ€ๅ่„†ใ•ใจใฏใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’ๆŒใคใ“ใจใ ใจ่ฟฐในใฆใ„ใพใ™ใ€‚ใ€Œใ‚ชใƒ—ใ‚ทใƒงใƒณใจใฏ็งใŸใกใ‚’ๅ่„†ใใ—ใฆใใ‚Œใ‚‹ใ‚‚ใฎใ ใ€‚ใ‚ชใƒ—ใ‚ทใƒงใƒณใŒใ‚ใ‚Œใฐใ€ไธ็ขบๅฎŸๆ€งใฎ่ฒ ใฎๅด้ขใ‹ใ‚‰ๆทฑๅˆปใชๅฎณใ‚’ใ“ใ†ใ‚€ใ‚‹ใ“ใจใชใใ€ไธ็ขบๅฎŸๆ€งใฎๆญฃใฎๅด้ขใ‹ใ‚‰ๅˆฉ็›Šใ‚’ๅพ—ใ‚‹ใ“ใจใŒใงใใ‚‹ใฎใ ใ€ใจใ„ใ†่€ƒใˆๆ–นใฏใ€ใƒชใ‚นใ‚ฏ็ฎก็†ใซใŠใ„ใฆ้‡่ฆใช่ฆ–็‚นใจใชใ‚Šใพใ™ใ€‚

่„ฑ็ทš=้€ฃๆƒณ=ๆ–ฐ็ตๅˆ็™บ่ฆ‹ใจใ„ใ†่€ƒใˆๆ–นใฏใ€ๆ–ฐใŸใช่ฆ–็‚นใ‚„ใ‚ขใ‚คใƒ‡ใ‚ขใ‚’็”Ÿใฟๅ‡บใ™ใŸใ‚ใฎ้‡่ฆใชใƒ—ใƒญใ‚ปใ‚นใจ่€ƒใˆใ‚‰ใ‚Œใพใ™ใ€‚ใ“ใ‚Œใฏใ€ๆ€่€ƒใฎ่‡ช็”ฑๅบฆใ‚’้ซ˜ใ‚ใ€ๆ–ฐใŸใช่ฆ–็‚นใ‚„ใ‚ขใ‚คใƒ‡ใ‚ขใ‚’็”Ÿใฟๅ‡บใ™ใŸใ‚ใฎ้‡่ฆใชใƒ—ใƒญใ‚ปใ‚นใจ่€ƒใˆใ‚‰ใ‚Œใพใ™ใ€‚

KJๆณ•ใฎ่กจๆœญใ‚’ใ„ใคๅค‰ๆ›ดใ™ใ‚‹ใฎใ‹(ไฝœๆˆใƒ—ใƒญใ‚ปใ‚น)ใซใคใ„ใฆใฏใ€ไบˆๆœŸใ—ใชใ‹ใฃใŸใ€Œๆ–ฐใ—ใ„ใ‚‚ใฎใ€ใŒ็”Ÿใพใ‚Œใ‚‹ใ‹ใ‚‰ใ€Œใƒฏใ‚ฏใƒฏใ‚ฏใ€ใ™ใ‚‹ใจใ„ใ†่€ƒใˆๆ–นใŒ็คบใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใ“ใ‚Œใฏใ€ๆ–ฐใŸใช่ฆ–็‚นใ‚„ใ‚ขใ‚คใƒ‡ใ‚ขใ‚’็”Ÿใฟๅ‡บใ™ใŸใ‚ใฎ้‡่ฆใชใƒ—ใƒญใ‚ปใ‚นใจ่€ƒใˆใ‚‰ใ‚Œใพใ™ใ€‚

SECIใƒขใƒ‡ใƒซใจPDCAใ‚ตใ‚คใ‚ฏใƒซใซใคใ„ใฆใฏใ€SECIใƒขใƒ‡ใƒซใจPDCAใ‚ตใ‚คใ‚ฏใƒซใฎ้–ขไฟ‚ใซ่จ€ๅŠใ•ใ‚Œใฆใ„ใพใ™ใ€‚PDCAใฎๅ‰ใซS(ๅ…ฑๅŒๅŒ–)ใŒๅฟ…่ฆใจใ„ใ†ไธปๅผตS-PDCAใŒใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใ“ใ‚Œใฏใ€Planใจใฏใ€่จ€่ชžๅŒ–ใ•ใ‚Œใฆใชใ„ๆš—้ป™็Ÿฅใ‚’ๅฝขๅผๅŒ–ใ—ใ€ใใ‚Œใ‚’็ตๅˆใ—ใฆไฝœใ‚‰ใ‚Œใ‚‹ใ‚‚ใฎใชใฎใงใ€ไบ‹ๅ‰ใซๅ…ฑๅŒๅŒ–ใ—ใฆๆš—้ป™็Ÿฅใ‚’ๅ…ฑๆœ‰ใ—ใฆใ„ใชใ„ใจใ€Œ็ดๅพ—ๆ„Ÿใฎใชใ„่จˆ็”ปใ€ใซใชใฃใฆใ—ใพใ†ใจใ„ใ†่€ƒใˆๆ–นใ‚’็คบใ—ใฆใ„ใพใ™ใ€‚

ใƒ•ใƒฉใ‚ฐใƒกใƒณใƒˆ

ABC179

- ใฎใ ใŒใ€็›ธๅฏพใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ ใ‘่‡ชไฝœใ‚ณใƒผใƒ‰ใฎๆ•ด็†ใŒใพใ ใ ใฃใŸโ€ฆ
- ๆฎ‹ใ‚Š10ๅˆ†ใ ใฃใŸใฎใง็„ฆใฃใฆใ—ใพใฃใŸ
  • ๅ€คใŒๅค‰ๅŒ–ใ™ใ‚‹็‚นใ‚’ไบŒๅˆ†ๆŽข็ดขใจใ„ใ†ๆ‰‹ใ‚‚ใ‚ใ‚‹
    • ใ ใŒใ€Pythonใฎbisectใฏใ‚ฝใƒผใƒˆๆธˆใฟ้…ๅˆ—ใ‚’่ฆๆฑ‚ใ™ใ‚‹
    • ใ“ใฎๅ•้กŒๆกไปถใ ใจ้…ๅˆ—ใธใฎๆŒฟๅ…ฅใŒ็™บ็”Ÿใ—ใฆO(N)ใซใชใ‚‹ใ‹ใ‚‰่‰ฏใใชใ„ใญ
    • ๆœฌ่ณช็š„ใซใฏPythonใงไฝฟใˆใ‚‹ๅนณ่กกไบŒๅˆ†ๆœจใ‚’ใ™ใๅ–ใ‚Šๅ‡บใ—ใฆไฝฟใˆใ‚‹ใ‚ˆใ†ใซๆบ–ๅ‚™ใ—ใจใในใใชใฎใ‹ใชใƒผ
    • ไปŠๅ›žใฎๅ•้กŒใซ้™ใ‚Œใฐใ€Œๅ…ˆ้ ญไปฅๅค–ใธใฎ่ฟฝๅŠ ใฏๅฟ…่ฆใชใ„ใ€ใฎใงใ€้€†้ †ใงๆŒใฆใฐๆœซๅฐพ่ฟฝๅŠ ใงO(1)ใซใชใ‚‹ใŒใ€ใƒˆใƒชใƒƒใ‚ญใƒผใ ใ‚ˆใชใ
  • ้€†้ †ใงๆŒใฃใฆไบŒๅˆ†ๆŽข็ดขใ™ใ‚‹ใƒใƒผใ‚ธใƒงใƒณ python
def main():
    from bisect import bisect_left
    N, Q = map(int, input().split())
    ret = (N - 2) ** 2
    xs = [-N]
    xvals = [N - 2]
    ys = [-N]
    yvals = [N - 2]
    for _q in range(Q):
        q, x = map(int, input().split())
        if q == 1:
            i = bisect_left(xs, -x)
            ret -= xvals[i - 1]
            if i == len(xs) and yvals[-1] > x - 2:
                ys.append(-xvals[i - 1] - 2)
                yvals.append(x - 2)
        else:
            y = x
            i = bisect_left(ys, -y)
            ret -= yvals[i - 1]
            if i == len(ys) and xvals[-1] > y - 2:
                xs.append(-yvals[i - 1] - 2)
                xvals.append(y - 2)

    print(ret)
  • ็‚นๅ–ๅพ—ใ ใ‹ใ‚‰้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใŒใฏใชใๅŒๅฏพใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใงๅๅˆ†ใชใฎใ ใŒใ€้…ๅปถใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚’ไฝฟใฃใฆ่งฃใ„ใฆใ‚‹ไบบใ‚‚ใŸใใ•ใ‚“ใ„ใ‚‹ใ‹ใ‚‰ใใ‚Œใงใ‚ˆใ‹ใฃใŸใฎใ‹ใ‚‚ใชใ

ไพ้ ผใ‚’ๅ…ˆๅปถใฐใ—ใซใ™ใ‚‹็—‡ไพ‹

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

extra info

json size: 40673012 pickle size: 735437681 previous notes size: 1314 previous notes: ๐Ÿค–2023-08-12 02:30 titles: ABC179, ไพ้ ผใ‚’ๅ…ˆๅปถใฐใ—ใซใ™ใ‚‹็—‡ไพ‹, ppoi, AGC032B, Hatena2009-04-26, ใ€Œใƒœใƒผใƒ‰ใ‚ฒใƒผใƒ ใจใ—ใฆใฎใ‚ฏใƒชใƒผใƒณใƒฉใƒณใ‚ฒใƒผใ‚ธใ€ใจใฏ, Hatena2009-05-14, ๅˆใคใถใ‚„ใGLSL