Try T.M Engineer Blog

多摩市で生息するエンジニアが「アウトプットする事は大事だ」と思って始めたブログ

Go

AtCoder Beginner Contest 321 B - Cutoff

## 問題 atcoder.jp 考察 最近、B問題を落とすようになってきた。 こういった問題は、解答に対して全文検索するパターンなのだが、その発想が思い浮かばない。。。 まだまだ、修行が足りないと感じる。 解答 package main import ( "bufio" "fmt" "os" "sort…

AtCoder Beginner Contest 317 C - Remembering the Days

## 問題 atcoder.jp 考察 この問題はどうやって解くのだろう。。。とモヤモヤ悩んでいる間に時間切れ。。。 解答を見ると、DFS(深さ優先探索)で導き出すのが良いとのこと。 とりあえず、Goで書いている人の解答例を見て学ぶことにする。 DFSを行うにあたり…

AtCoder Beginner Contest 314 C - Rotate Colored Subsequence

AtCoderをやり始めた。 全然問題が解けないので、復習する。 問題 atcoder.jp 問題文が長いので、理解するまでに結構な時間を使った。 私的考察 入力した文字列 $S$ に対して、$i$ごとに文字を抽出する。 抽出した$i$ごとに中の文字をシフトさせる。 再度$i$…

AtCoder Beginner Contest 312 C - Invisible Hand

AtCoderをやり始めた。 全然問題が解けないので、復習する。 atcoder.jp 問題 りんご市場に$N$人の売り手と ${M}$人の買い手がいます。 $i$番目の売り手は、$A_i$円以上でならりんごを売ってもよいと考えています。 $i$番目の買い手は、$B_i$円以下でならり…

AtCoder Beginner Contest 309 B - Rotate

AtCoderをやり始めた。 全然問題が解けないので、復習する。 atcoder.jp 問題 $N$行$N$列のマス目が与えられる。上から$i$行目、左から$j$列目のマスには整数$A_{i,j}$が書かれています。ここで、$A_{i,j}$は$0$か$1$であることが保証されます。 マス目の外…

AtCoder Beginner Contest 308 C - Standings

AtCoderをやり始めた。 全然問題が解けないので、復習する。 atcoder.jp 問題 $1$から$N$の番号が付いた$N$人がコイントスを何回かしました。人$i$は$A_i$回表を出し、$B_i$回裏を出したことが分かっています。 人$i$のコイントスの成功率は$\dfrac{A_i}{A_i…

AtCoder Beginner Contest 307 B - racecar

AtCoderをやり始めた。 全然問題が解けないので、復習する。 atcoder.jp 問題 英小文字のみからなる$N$個 の文字列 $S_1,S2,...S_N$が与えられる。 $ 1以上N以下$の相異なる$整数i,j$であって、$S_i, S_j$をこの順に連結した文字列が回文となるようなものが…

AtCoder Beginner Contest 306 B - Base 2

AtCoderをやり始めた。 全然問題が解けないので、復習する。 atcoder.jp 問題 $0$と$1$からなる長さ$64$の数列 $ A = (A_0,A_1,...,A_{63}) $ が与えられる。 $A_0 2^0 +A_1 2^1+...+A_{63}2^{63} $を求めよ。 制約 $ A_i は0または1 $ 何も考えず書いたコー…

設計技法「動的計画法」を学ぶ

最近はアルゴリズムを勉強している。 なかなか頭に入ってこないので、アウトプットをして整理する。 なお、今回は設計技法「動的計画法」の話。 動的計画法は、Dynamic Programming。よくDPと言われる。 DPを一言で説明することは難しい。。。らしく、抽象的…

設計技法「再帰」を学ぶ

最近はアルゴリズムを勉強している。 なかなか頭に入ってこないので、アウトプットをして整理する。 なお、今回は設計技法「再帰」の話。 一連の処理の中で、自分自身を呼び出すことを「再帰呼び出し」と言う。 「再帰呼び出しを行う関数」のことを「再帰関…

設計技法「全探索」を学ぶ

最近はアルゴリズムを勉強している。 なかなか頭に入ってこないので、アウトプットをして整理する。 なお、今回は設計技法「全探索」の話。 アルゴリズムを設計するうえで重要な基礎となるのが「全探索」。 「全探索」とは何か? => 解きたい問題に対して、…

O記法(オーダー記法)を学ぶ

最近はアルゴリズムを勉強している。 なかなか頭に入ってこないので、アウトプットをして整理する。 なお、今回はO記法(オーダー記法)の話。 O記法(オーダー記法)とは何か? ⇒ 計算量を大雑把に評価したものを表現できる記法のこと。 どんな記法か? ⇒ O…

アルゴリズムを学びはじめてみた

最近はアルゴリズムを勉強している。 なかなか頭に入ってこないので、アウトプットをして整理する。 なお、言語はGoで書いている。 アルゴリズムとはなにか? ⇒「問題を解くための方法,手順」のことを指す。 たとえば、「FizzBuzz問題」や「自動販売機お釣り…