0
0

前回の振り返り

今日はABC開催日だったので参加した結果を適当に振り返る
https://atcoder.jp/contests/abc359

結果はAB2完の大☆玉☆砕

  • ちくせう😢

前回4完できたのはたまたまDが簡単だったからみたい
なんとABC358D 灰diffだったそうで

感想をまとめる

A

ただの数え上げ

  • 速攻で解いた
import sys
def rI(): return int(sys.stdin.readline().rstrip())
def rLI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def rS(): return sys.stdin.readline().rstrip()
def rLS(): return list(sys.stdin.readline().rstrip().split())
def err(*args): print(*args, file=sys.stderr)

def main():
    N = rI()
    cnt = 0
    for i in range(N):
        S = rS()
        if S == "Takahashi":
            cnt+=1
    print(cnt)
if __name__ == '__main__':
    main()

B

それぞれの色の位置の差が2になる数を探す、
これにきづくまでに5,6分のロス

from collections import Counter, defaultdict
import sys
def rI(): return int(sys.stdin.readline().rstrip())
def rLI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def rS(): return sys.stdin.readline().rstrip()
def rLS(): return list(sys.stdin.readline().rstrip().split())
def err(*args): print(*args, file=sys.stderr)

def main():
    N = rI()
    A = rLI()
    
    d = defaultdict(lambda: -1)
    cnt = 0
    for i,a in enumerate(A):
        if d[a] == -1:
            d[a] = i
        else:
            if i - d[a] == 2:
                cnt += 1
    print(cnt) 
    
    
if __name__ == '__main__':
    main()

C

こういう座標系的な問題でると拒絶反応ができて困る

縦のコストは絶対かかるとして横のコストがわからなくて詰んだ。
なので以下は解説観てといたやつ

import sys
def rI(): return int(sys.stdin.readline().rstrip())
def rLI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def rS(): return sys.stdin.readline().rstrip()
def rLS(): return list(sys.stdin.readline().rstrip().split())
def err(*args): print(*args, file=sys.stderr)

def main():
    x0,y0 = rLI()
    xt,yt = rLI()
    
    x0 -= (y0-x0)%2
    xt -= (yt-xt)%2
    
    distx = abs(xt-x0)
    disty = abs(yt-y0)
    cost = disty + (max(0,distx-disty)//2)
    
    print(cost)
if __name__ == '__main__':
    main()

D

難しそうでパスしたけどDP問題だったっていう

  • これやればよかったorz

ほとんど解説からコピったけど一応ACしときました
https://atcoder.jp/contests/abc359/submissions/54854492

E

累積和的なもの?と勘違いして行けるかもとおもって沼った
セグ木使おうとしたけどうまくいかなくて時間切れ。

  • しかも遅延セグ木じゃないと行けなかったという

というかスタックでよかったらしい

F,G

木がどうのこうのって見えた時点でそっ閉じ

まとめ

Cがむずくて撃沈
そしてDはDPでいけるのが分からなかった
E以降は実力不足

引き続き精進します

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0