
[Python] ABC011 D
問題 D - 大ジャンプ 回答 90点回答 深さ優先探索 \(4^8 = 65534 \) 通りであれば全探索ができる。 N, D = map(int, input().split()) X, Y = map(int, input().sp...
Freedom is a responsible choice.
問題 D - 大ジャンプ 回答 90点回答 深さ優先探索 \(4^8 = 65534 \) 通りであれば全探索ができる。 N, D = map(int, input().split()) X, Y = map(int, input().sp...
問題 C - 123引き算 回答 全探索は \( 3^{100} \) であり、難しい。 貪欲法 3を引けるときにそれより小さい数字を引く必要はないので、引ける数のうち最も大きな数字を引けば良い。 N = int(input()) N...
問題 D - 漸化式 スライド 56ページ以後 解けない…。 途中まで まず、漸化式をそのままコードにしてみます。 入力例3はものすごく時間がかかります。 K, M = map(int, input().split()) A...
問題 C - 辞書式順序ふたたび ヒントと解説 (p.32-) が分かりやすいです。 「同じ長さの文字列s, t が与えられたとき、t を並び替えて、s との不一致の数を最小とする」ことを考えるには、結局、「それぞれの文字の数の差」を考えるだけで良い。 ...
問題 D - 金塊ゲーム 回答 80点回答 分割統治法 再帰 分割された区域に再帰的に関数を適用することで問題を解きます。 def rec_get_golds(x_min, y_min, x_max, y_max): ''' ...
問題 C - コイン 解説を読めば理解はできるけど、自分は思いつけるようになるのだろうか? 順列 99点回答 コインの順列に対して全探索を行います。 Pythonでは、itertools.permutations(iterable,r=No...
ABC007 Dを桁DPを使って解きます。 桁DP/Digit DP 「n以下の整数の処理」を考えるときに、 大きい桁から一桁ずつ数を見ていき、結果を代入するDP配列に、nより小さいことが確定しているかどうかのフラグを含めることで状態を管理する動的計画法で...
問題 C - 幅優先探索 幅優先探索(はばゆうせんたんさく、英: breadth first search)はグラフ理論(Graph theory)において木構造(tree structure)やグラフ(graph)の探索に用いられるアルゴリズム。アルゴリズムは根...
問題 B - 辞書式順序 入力例/出力例と同じ値になるようにしてみる。 組み込み関数の chr(i) と ord(c) を使う。 回答 A = input() lst_a = list(A) if len(lst_a) >=2: pr...
クヌース–モリス–プラット法 クヌース–モリス–プラット法(Knuth–Morris–Pratt algorithm、KMP法と略記)とは、文字列検索アルゴリズムの一種。テキスト(文字列)Sから単語Wを探すにあたり、不一致となった位置と単語自身の情報から次に照合を...