C - MAD TEAM Editorial by kyopro_friends


問題を次のように変更しても答えは変わりません

(前略)
チーム全体のパワーをチームメンバーの誰かのパワーで定義します。スピード・テクニック・知識・発想力についても同様に定義します。
(後略)

変更したあとの問題を考えてみましょう。

ある人のパワーをチーム全体のパワーとするとき、その人のパワーを採用すると呼ぶことにします。他の能力についても同様に定義します。

3人のチームメンバーの中から5つの能力を採用するので、1個以下の能力しか採用されない人が必ず存在します。よって、その人以外の2人の組み合わせ、および、最後の1人から採用する(かもしれない)能力の5通りを全探索することを考えます。

このとき、最後の1人として選ぶべき人は、全体の中で採用対象の能力値が最大の人であるべきです(そのような人が既に選んだ2人の中にいる場合、その人の能力を採用し、最後の1人は単なる数合わせ人員としてよいです)。 これは事前に \(N\) 人の各能力の最大値を求めておくことで \(O(1)\) でわかるので、全体の計算量は \(O(N^2)\) となります。

詳細は省きますが、一般の場合にも同様の方針で解くことができ、能力値の種類を \(M\) 、チームの人数を \(K\) としたとき、計算量は \(\displaystyle O\left( N^{K-1} M \sum_{i=0}^{\lfloor M/K\rfloor} \binom{M}{i} \right)=O\left(N^{K-1} M \left(\frac{K^K}{(K-1)^{K-1}}\right)^\frac{M}{K}\right)\) となります。

posted:
last update: