スポンサーリンク
LeetCode

貪欲法とDPで 1029. Two City Scheduling

問題はこちら。 2N人をA,Bの2つのグループ分け、均等に振り分けるために必要なコストを最小化する問題。 Aに振り分けるコスト、Bに振り分けるコストが与えられる。 貪欲法 Aに行きやすい人はAに行か...
AtCoder

AtCoder Beginner Contest 240の感想

リアルタイムで参加しました。 A - Edge Checker 線で結ばれていれば隣り合っているはずなので、差が1になる組み合わせが答え。 そのまま差を取ると両端の場合がコーナーケースになるので、場合分けを追加。...
AtCoder

再帰を使わないオイラーツアーをスタックで実装する思考過程

AtCoderをしていた時、解法でオイラーツアーという単語が出てきた。 初めて聞いた単語だったため、以下のサイトを参考に実装して思考過程を整理してみた。 深さ優先探索(DFS)を行い、訪れた頂点の順番と...
AtCoder

AtCoder Beginner Contest 237の感想

A - Not Overflow PythonのintはC++のlong longと違って上限がないので、そのまま実装。 n = int(input()) if -2 ** 31 <= n < 2 ** ...
AtCoder

AtCoder Beginner Contest 238の感想

A - Exponential or Quadratic 問題文そのまま実装。 n = int(input()) ans = 2 ** n > n ** 2 print('Yes' if an...
LeetCode

二分木の通りがけ順をMorris traversalで解く

二分木の値を通りがけ順に出力する問題。 再帰を使った深さ優先探索で解ける。 # Definition for a binary tree node. # class TreeNode: # def __...
Python

pythonのdataclassでkey, value, lenを使う

データの格納だけをしたい時、辞書を作成するよりもdataclassでデコレートする方が宣言が楽で便利。 __init__()を書いてインスタンス変数に代入、という作業をしなくて済むので見た目もスッキリする。 impor...
AtCoder

AtCoder Beginner Contest 234の感想

A - Weird Function 関数を定義し、カッコの場所に注意しながら実装。 t = int(input()) def func(x): return x ** 2 + 2 * x + 3 an...
AtCoder

AtCoder Beginner Contest 197の感想

過去問埋め。 A - Rotate 文字列はリストのようにインデックスを使ってn文字目にアクセス出来ることを利用。 s = input() ans = s + s print(ans) B - Visibi...
LeetCode

784. Letter Case Permutation

英数字の文字列が与えられ、アルファベットを大文字小文字に変換した際の全パターンを列挙する問題。 数字は変換しないので、アルファベットかどうかで場合分けしながら効率的な全探索を考える。 再帰 文字列を先頭か...
スポンサーリンク
タイトルとURLをコピーしました