タグ

ブックマーク / nagoyacoder.web.fc2.com (2)

  • TopCoder SRM div2 Hard 100問100答

    ホームに戻る TopCoder SRM div2 Hard 100問100答 0、はじめに div2 Hard は難易度的には div1 medium より簡単なイメージ。 SRM div2 Hard を 500 から 599 までやってみました。 どんな傾向があるかを探ってみます。 これ以降の記述の利用方法としては、 ・問題の意味を簡単に知りたい。 ・どんな問題がでるかの傾向を知りたい。 ・各問題のジャンルを大雑把に知りたい。 ・各ジャンルのおすすめ問題を知りたい。 ・各問題の解き方の考え方を知りたい。 以上で利用できるかと思います。 1、傾向分析 ジャンルを以下の7ジャンルに分けてみます。 ・実装問題(34問) ・動的計画法(43問) ・数学問題(5問) ・確率、期待値(5問) ・幾何の問題(7問) ・グラフ(7問) ・数え上げ(4問) 実装は総当りや貪欲、シミュレーションなど。 動的

  • TopCoder の傾向と対策4(C++編:数え上げ)

    ホームに戻る TopCoder の傾向と対策4(C++編:数え上げ) 0、はじめに Div2 の hard は数え上げの問題がでます。 単に数え上げという視点で考えてみます。 1、1000000007 で割った余りを答えよ問題対策 TopCoder では整数の64ビット制限を考慮してくれる。 よって、long long より大きな数値を考えなくても良い。 この数値を超える答えが出る場合には、 答えを 1000000007 で割った余りを答えよ、とされる。 足し算においては足し算を行うごとに % 1000000007 する。 引き算のときは先に引かれる数に 1000000007 を足しておく。 そこから引く数を引いて % 1000000007 する。 こうすると結果がマイナスにならず結果がおかしくならない。 掛け算する場合は足し算と同様である。 A * B をするとき、 A、B それぞれを

  • 1