2013-11-01から1日間の記事一覧

algorithm

STL

next_permutation stringや他のコンテナの全ての順列を生成する。 #include <algorithm> ... string str = "ABCDEF"; do { cout << str << endl; } while(next_permutation(str.begin(), str.end())); Result: ABCDEF ABCDFE ABCEDF ABCEFD ... FEDCBA (計 6! = 720個の</algorithm>…

繰り返し二乗法

繰り返し二乗法のアルゴリズムを答えよ。

解を仮定し可能か判定

L_iの紐N本から同じ長さの紐をK本切り出したときの最長の長さを求めよ。

反転

AかBからなる文字列が有る。Aを反転するとBになり、Bを反転するとAになる。 連続するKの部分列は一度に反転できる。全てAにするために必要な最小操作回数Mと、そのときの最小のKを出力せよ。

しゃくとり法

要素が全て正である数列が与えられる。 連続する部分列の総和がS以上のもののうち最小の長さを求めよ。解が存在しない時は0を出力せよ。