2015-07-01から1ヶ月間の記事一覧
良問 解法 nが3^*のときは解を二分探索すると解けるから、ダミーの貴族を追加する。 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 401000 int d1[N], p[N], d2[N], d[N], s[N]; int n, m, n2; int rest, off, lm; int rec(int l, int r){ </algorithm></cstring></cstdio>…
解法 できるだけ状態をまとめるようにして、場合分けする。 n=1のコーナーケースはm=1のケースに帰着できる。 正しいコード(下のと同じ)http://ideone.com/gFCDZv 場合分けしすぎてTLEするコードhttp://ideone.com/s13jcw #include <iostream> #include <algorithm> #include <cstring> usi</cstring></algorithm></iostream>…
Easy 綺麗にかけた (自画自賛) #define N 200 int d[N]; class YetAnotherCardGame { public: int maxCards( vector <int> a, vector <int> b ) { int n = a.size(); sort(a.rbegin(), a.rend()); sort(b.rbegin(), b.rend()); vector<int> c(2*n); for(int i = 0; i < n; i</int></int></int>…
解法 基本的にはさほど難しくない考察をひたすら続けるだけなので省略.Wikipediaやuwicoderを見ながら考察する. ただし、(1+q+q^2+...+q^*)の周期はpより大きくなることがあることに注意する. 再帰するとスタックオーバーフローでREが出るので、TopCoderのス…