競プロ引退しました。

競プロハマってたときに書いてたブログ。いまは引退中。

一問一答一週目

概要

AtCoder Virtual Contest で、一日一問 ABC-C 問題を解いてます。一週間ごとにさらっと内容をおさらいします。今日はその一週目。

AtCoder Virtual Contest

 

一日目:C - 辞書式順序ふたたび

ぶっちゃけ、まだよくわかってません。文字列操作はむずかしい。。。

atcoder.jp

 

二日目:C - AtColor

いもす法。numpy の cumsum。itertools の accumlate。

atcoder.jp

atcoder.jp

 

三日目:C - 高橋くんのバグ探し

再帰関数を使って深さ優先探索。もしくは itertools の product。DFS の概念がなんとなくわかって感動した日でした。

atcoder.jp

atcoder.jp

 

四日目:C - 友達の友達

ネスト構造の配列(今回は二重)を使って、「友達の友達」を数える。考え方はいたってシンプルだが、俗にいう実装力が足りない。

atcoder.jp

 

五日目:C - ハイスコア

これもいもす法。総合得点から、一番ポイントに寄与しない宝石を除く。その宝石の特定にいもす法を使う。

atcoder.jp

 

六日目:C - 菱型カウント

まだ復習終わってない。「菱形カウント」って題名なのに、菱形を扱うことに気づかぬおおまぬけです。

 

七日目:C - Monsters Battle Royale

gcd。Python で gcd 関数使うときは、モジュールに注意。3.4以前は fraction モジュール。3.5以降は math モジュールをインポートせよ。

atcoder.jp

関数使わない場合、再帰関数でユークリッドの互除法が表現できる。

atcoder.jp

 むすび

まったりと続けていきます。明日は八日目。