💻

AtCoder Beginner Contest 279 A~D 自分用メモ

2022/11/27に公開

A - wwwvvvvvv

https://atcoder.jp/contests/abc279/tasks/abc279_a
vだったら+1、wだったら+2をすればいいだけ。

S = input()
Ans = 0
for s in S:
  if s == "w":
    Ans += 2;
  else:
    Ans += 1;
print(Ans)

B - LOOKUP

https://atcoder.jp/contests/abc279/tasks/abc279_b
pythonでT in Sと書けば部分文字列を判定できる。

S = input()
T = input()

if (T in S):
  print("Yes")
else:
  print("No")

C - RANDOM

D - Freefall

https://atcoder.jp/contests/abc279/tasks/abc279_d
地面に到着する時刻はf(i)=Bi+\frac{A}{\sqrt{i+1}}と表せます。
これは凸関数で表せます。

実際に入力例をプロットしてみると感覚的に分かると思います。

使ったツール:https://www.desmos.com/calculator?lang=ja
凸関数の最小値を求めるには三分探索や微分を使って求めることができます。
全探索するとTLEになります(D問題で全探索するような脳死問題が出るとも思えない...)。
公式実装
https://atcoder.jp/contests/abc279/editorial/5288

Discussion