ゆるふわ競プロ

Javaでゆるゆる競プロしています.忘れっぽいのでメモ用,復習用

2018-01-01から1年間の記事一覧

ABC075 C (DFS)

問題 DFS の基礎の基礎 これができなきゃ話にならない 今回鍵となるのは変数をグローバル変数にすること staticメソッドとしてDFSを定義するので、DFS関数内で使用したい文字はグローバル変数として定義しておかなくてはならない. 入力のあたいの数が50と小…

ABC099 C (DP)

問題 DPの超初歩version 解説見ずにこの程度は解けるようにならなくてはならない DPについて DPは求める添字をnとすると1 ~ (n - 1)までの答えを知っているときに求める。 漸化式のようなものを作る 今回のような場合みたいに場合わけする必要がある場合もあ…

ABC080 D

問題 問題を理解するのは容易な問題である 細かい設定もないため実装するだけなのだが、実装方法が少々難しかった。 一定期間使っている録画機の最大数を求める問題である。 この問題は105という制約がついているので簡単になっている。 そう全探索すれば良…

ABC080 C (DPS)

問題 DPS問題 再帰呼び出しの練習になる 例外処理も含んでいる staticなグローバル変数の使用練習にもなる 難しいけど練習になる問題だった 今回は他人のコードの力を借りずに解説放送を頼りに自分で書いてみた 自分のコード public class Main { // 以下の…

ABC087 D

問題 DFSのようなもの 読むのも難しかった 考え方も難しい 操作については全探索しているイメージ 矛盾が所持たら終了 List配列を用いる面白い解答 解析解答 public class Main { static int n, m; // n : 人数 m: データ数 static int[] l, r, d; public st…

ABC088 D

問題 解析解答 入力操作 class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); int H = scan.nextInt(); int W = scan.nextInt(); char[][] map = new char[H][W]; int count = 0; for(int i = 0;i < H;i++){ Stri…

ABC082

ABC082B 文字列の取り扱い char型に変換する。 char 文字の取り扱いができる問題 辞書配列的な何か

ABC081<map練習>

ABC081C mapの練習 参考 解き方が綺麗 Array.fill Setを使う Set これを使うと種類がすぐにわかる。 ABC081D 解説 考え方が難 実装できた 正負の違いに注目する必要性がある

ABC099<難問>

問題 AtCoder ある数字Nが与えられる。 1,6,36(62),216(63)....,9,81(92),729(93).... の総和で表すとき、項数をもっとも少なくする。項数を求めよ。 考察 N以下で最大の数を無理やり持って来ればいいのではないか。全探査のようにN以下で最大の6の累乗と9の…

ABC102<難問>

ABC102C この問題は手がつけられなかった。 AtCorder問題 自分の発想 for (int i = 0; i < n; i++) { a[i] = sc.nextInt(); b[i] = a[i] - (i + 1); } 要素全部を取得して、i + 1 番目なので i + 1 を引く。 その後、ある定数 b を引いて絶対値を取る。 ある…

ABC098

ABC098B AtCoder問題 考え方 考え方は全探査 全ての場所で区切って左右にある同じ文字を探します。今回は同じ種類の数を調べなくてはならないため、aa/aaで区切った時に重複して数えないことが大切。 コード 文字列の分割 for (int i = 1; i < n; i++) { x =…

ABC101

ABC101B AtCoder問題サイト 考え方 与えられた数字の列に対して一文字ずつ取り出し、加えて行く。 コード int count; for( int i = 0; i < 長さ ; i ++ ) { int a = Integer.ParseInt( String.substring( i ,i + 1); count += a; } 使用メソッド 返り値( int…

ABC108

ABC108C AtCoderサイト 考え方 a+bをkで割った時のあまりについて考える際に aをkで割ったあまりとbをkで割った時のあまりに分けて考える。 a,b共にkで割り切れる時a+bはkで割り切れる。a,bをkで割った余りが共にk/2の時も、a+bはkで割り切ることができる。 …