0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

灰色コーダーによるABC375振り返り

Last updated at Posted at 2024-10-12

灰色コーダーによるABC375振り返り

よし釣れたこのタイトル使えるの二回だけだったw
なぜかというとac-predictorを見てたら入茶してました
今度入茶記事書きます
さて本題書くか

A

愚直に全探索した

N = int(input())
S = input()
r = 0
for i in range(N - 2):
    if S[i] == "#" and S[i + 2] == "#" and S[i + 1] == ".":
        r += 1

print(r)

解説URL

B

そのまんまユークリッド距離を測った
前の数を変数に保存してやると最初の0,0もカバーできる
ジャッジが遅くて笑った

N = int(input())
x, y = 0, 0
r = 0
for _ in [0] * N:
    a, b = list(map(int, input().split()))

    r += ((a - x) ** 2 + (b - y) ** 2) ** 0.5
    x, y = a, b

r += (x**2 + y**2) ** 0.5
print(r)

解説URL

C

Dより難しい解けなかった
TLE解法まではたどり着いたがそこからがわからずパス
解説見てもよくわかんなかった

解説URL

D

解けた
最初TLEしたがひらめいてACした
疲れたので詳細は書かない
よくよく見ると改善点あり

S = input()

L = {s: [] for s in list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")}
T = {s: 0 for s in list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")}

r = 0

for i in range(len(S)):
    if len(L[S[i]]) == 0:
        L[S[i]].append(i)
        T[S[i]] += i
        continue

    r += (i * len(L[S[i]])) - T[S[i]] - len(L[S[i]])

    L[S[i]].append(i)
    T[S[i]] += i

print(r)

解説URL

最後に

入茶できたのとD問題をコンテスト中にACできたのが嬉しかった(レートはまだ不確定)
CよりDのほうが簡単なケース結構あるような気がする

IDよかったら↓↓
id

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?