2010-08-08から1日間の記事一覧

Ford-Fulkerson

keyword 最大流 Ford-Fulkerson C++ 入力 流量を表す行列、sourceの番号、sinkの番号(いずれも0-base)を与える。行列については流れないとき0(実は負でも良いけど)を入れること。流量が実数の場合はアルゴリズムが終了する保証はない。 出力 sourceからsink…

1220:NUMBER BASE CONVERSION

PKU

keyword n進表記 Java 概要 n進表記で数numが与えられる。これをm進表記で出力せよ。ただし、n, m 書くだけ…なのにやたら時間がかかった。おまけに何か汚い。

1995:Raising Modulo Numbers

keyword べき乗 C++ 概要 A_iとB_iとMが与えられたときsum(A_i^B_i) (mod M)を求める問題。数列の長さやMは45000以下。 AとBに関する制限は不明だけどさすがにintには収まるだろうと信じる。べき乗はO(log n)で計算できるので後は書くだけで良い。

2680:Computer Transformation

PKU

keyword 動的計画法 Java 概要 まず1という文字列がある。1ステップ毎に、1は01に、0は10に変換される。n( 00, 01, 10, 11のペアがいくつあるかを各ステップ毎に覚えておけば良い。このとき、重複が無いようにするのと、一番右側は常に01であることに注意す…

2363:Blocks

PKU

keyword BruteForce C++ 概要 N( これまたサイズが小さいので、一々「和が一定のときは差が小さいときに積が最大に…」とか考えなくても全探索(O(n^1.5)位?)で間に合う。

3096:Surprising Strings

PKU

keyword シミュレーション 文字列 C++ 概要 文字列が与えられたとき、任意のkに対してk字置きのcharのペアが全て異なっているかどうかを判定する問題。文字列の長さは80以下。 文字列が短いので愚直に試せば良い。書くだけ。