簡単な解決法 運を天にまかせる
ということで、ラフな解決アルゴリズムは、1−5000をランダムに入札し、仕事にあぶれたらお休みするような、そういうのんきなアルゴリズムが実は天敵になる。
この場合、1:1最強アルゴリズム系列が同時に2以上存在するなら、そいつらは、1:1のときまで生き残ってはいれず、より前に淘汰することになる。
1:1最強アルゴリズムがひとつしか入ってなくても、例えば10人ののんきものが生息していれば、結構勝負になる可能性が高い。
ただ、結果がランダムにふれるため実験結果もゆれることになる。
ArrayList c; void init(){ super.init(); c = new ArrayList<long>(); } int bid(int day){ while ( c.size()<=day ) c.setAt(day-1,(int)(java.Math.rand()*5000)+1); } return c.getAt(day-1); }
dayによる定数化が必要なので、こういうキャッシュ化処理を行って、定数メモを返すインプリにしてみた。