🟫茶diff
問題 atcoder.jp 解法 文字を処理するクエリの * 先頭に追加 * 末尾に追加 という特性をみて、dequeでデータ管理すれば良いという点に気がつくかがポイント。 文字の反転も、馬鹿正直にクエリでるたびに行うと計算量がかなり増えるので反転をフラグ管理して…
問題 atcoder.jp 解法 Pythonのdictionaryで、Aiのインデックス番号を管理する変数noを作成。 Aをソートして、Aの中身をループさせてnoから元のインデックス番号を引っ張ってきて表示。 実装
atcoder.jp 解法 再帰関数を使ったDFS (深さ優先探索)でアッサリ解けた。
問題文読んで自分なりに考えてみたが、解説みたらシンプル過ぎで驚き。 atcoder.jp 解法 はまやんさんの解説より引用。 この問題はある種の構築問題である。 構築問題の典型テクとして「理論値の最大値を実はいつも達成可能」というのがある。 今回もそうで…
atcoder.jp 解法 各条件について考えてみる。 これを満たす数列の個数(ア) = 10N なるが存在する(イ)。 これを満たす数列の個数 = 10N - 9N 9Nはを満たす個数 なるが存在する(ウ)。 これを満たす数列の個数 = 10N - 9N 9Nはを満たす個数 abc178_c 問題の答え…
atcoder.jp 解法 問題文より 行を何行か選び (0行でもよい)、列を何列か選ぶ (0列でもよい)なので、選ぶ行は何行でも自由に選択できる。 1 <= H, W <= 6 なので、最大でも212 = 4096通り。 bit全探索で総当たりをかけて、答えを求める。 実装 参考 blog.hama…
問題概要 atcoder.jp 解法 公式解説には、3の倍数に関する色々な考察が書いてある。 数十行にわたって難しそうなことが延々かいてあるのだが、最後の1行で驚きのどんでん返し。 Nが18桁しかないので消す桁を2進数を使って全探索でも解けます えー!それな…
AtCoder ProblemsにRecommendationって機能あって、ユーザことにオススメの難易度の問題を勧めてくれるんですよね(Atcoder Problems -> User -> Recommendation)。 茶diffやるべきだろうなと思ってたら、見事に茶の問題ばかり勧められるので、素直にやってき…
AtCoder Problemsが茶diffと判定した問題から重点的にやっておこう。 という方針を立てました。 このレベル帯の問題が出来ないことが多いと感じるんですよ。 問題に書いてある通りに実装するとTLEで、実は数学的に計算量減らせますよ。 系の問題が多い、この…