2020-05-01から1ヶ月間の記事一覧

(AtCoder)ABC169

A A*Bを出力する。B 単純に計算しながら結果が10^18を超えたところで打ち切りにするやり方では0があるケースに対応できない。そのため、まず0があるかどうか確認する。C PythonならDecimaiでゴリ押せる。D 素因数分解してそれぞれの素因数pについてp^1,p^2,p…

(AtCoder)numpyの高速化テクニック

AtCoderのPython3はnumpyを使うことができる。その高速化テクニックをまとめる。 時間計測はAtCoderのコードテストを使用。 ※追記中〇基本的な考え方 クリックで展開 ・for文を減らす。→numpyの配列を使ってまとめて計算する。 <例題> D - Lamp D - Knapsa…

ABC134 E - Sequence Decomposing

atcoder.jp 解法 貪欲的に考える。 例えば2 1 4 2のような場合、2と1を色aと色bで塗ったとする(これらは異なる色で塗るしかない)。そうすると、次の4は2と同じ色aで塗った方がよいことが分かる。なぜなら、 〇色aの最大値が4、色bの最大値が1 〇色aの最大…

(Python3)競プロの入力

Python3でAtCoderなど競プロをやる人向け 入力を受け取る方法についてのまとめです。これらを覚えておけばほとんど場合の入力に対応できます。 〇文字列を受け取る 例 abc s=input() 〇ひとつの整数を受け取る 例 3 n=int(input()) 〇横に並んだ複数の文字列…