文系プログラマーのプログラミング備忘録

Java、競プロ、数学などについて書いてます

2019-03-07から1日間の記事一覧

Kannondou [AIZU ONLINE JUDGE 0168]

judge.u-aizu.ac.jp 動的計画法の問題です。 ・dp[i] = i 段目まで上るときの上り方の総数 とします。 0段目、1段目まで上るときの上り方の総数は、明らかに 1 です。 ・dp[0] = 1 ・dp[1] = 1 2段目まで上るときの上り方の総数は、2 です。 0,1,2 と上る上…

Frog 1 [Educational DP Contest A]

atcoder.jp 「DPの一番簡単なやつ」です。 余談ですが、この問題、以下の問題と寸分違わず同じになっています。 ・C - 柱柱柱柱柱 void solve () { int n = nextInt(); int[] ar = nextIntArray(n); int[] dp = new int[n]; dp[0] = 0; dp[1] = Math.abs(ar[…

Shrinking [AtCoder Grand Contest 016 A]

atcoder.jp 実装力が問われる問題だと思います。 長さ N の文字を長さ N-1 の文字に変える際、N の i 文字目と i+1 文字目のどちらかを選びますが、このとき選ぶ文字を「寄せる文字」と呼ぶことにします。 S の長さは最大でも 100 なので、寄せる文字を a~z…

Digit Sum 2 [AtCoder Grand Contest 021 A]

atcoder.jp N が与えられた時点で各桁の和が最大である場合と、そうでない場合に分けて考えます。 与えられた時点で最大であるような N とは、 ・2桁以上で、先頭の数字以外が全て 9 である N です。 これには 99, 199, 399999 などが該当します。 2桁以上と…

Takahashi's Information [AtCoder Beginner Contest 088 C]

atcoder.jp 与えられた 3 x 3 の数字が特定の形式になっているかどうかを判定する問題です。 問題の形式になっている 3 x 3 の数字の並びには、例えば以下のようなものが考えられます。 b[1] b[2] b[3] a[1] 2 4 6 a[2] 4 6 8 a[3] 4 6 8 ここで、a[1]=2, a[…