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

SRM478 Div2 Easy(250) KiwiJuiceEasy

KiwiJuiceEasy #include <vector> using namespace std; class KiwiJuiceEasy { public: vector <int> thePouring( vector <int> capacities, vector <int> bottles, vector <int> fromId, vector <int> toId ); }; vector <int> KiwiJuiceEasy::thePouring( vector <int> capacities, vector <int> bottles, </int></int></int></int></int></int></int></int></vector>…

SRM478 Div1 Medium(500) KiwiJuice

KiwiJuiceボトルの集合Bから得られるジュースの量の組み合わせは、ジュースを寄せ集めるか、Bを2つに分けてそれぞれ再帰的にジュースを動かすかのどちらか。立っているビットの部分集合の列挙は↓のようにできるらしい。すげー。 #include <vector> using namespace s</vector>…

SRM478 Div1 Easy(250), Div2 Medium(500) CarrotJumping

CarrotJumping4(8x+7)+3 = 8(4x+3)+7 = 32x+31 であることから、4xジャンプと8xジャンプの順番に意味は無い。また、4xジャンプをk回したあとの位置は、 4(4(4(…(4x+3)…)+3)+3)+3 = 4kx+3(4k-1+4k-2+…+1) = 4kx+3(4k-1)/3 = 4k(x+1)-1、 8xジャンプをk回した…

SRM478

Easy (250) 106.51 4x+3が高々2回と気付くのに遅れたのが悔しい。とりあえず幅優先で解いてみるというのは重要かも。 Medium (500) 0 Hard (1000) 0 Challenge 0 結果 1516 → 1506ギリギリまだ黄色。