E: 左から一桁ずつ追加していって、dp[i][j][smaller]: i 桁目まで追加して、mod D の和が j とする方法は何通りあるか、N より小さくなった時点で smaller を true にする
2013-09-01 01:26:51J: dp[mask]: mask (2^16 の部分集合) に物が残っているときに全部倒すのにかかる回数の期待値、自分自身を含む式が出てくるので適当に式変形
2013-09-01 01:33:37L: 猫 i から距離 1 以内の猫のうち最も左のものを猫 l[i] とすると、l[0] <= l[1] <= ... <= l[N-1] が成り立って、逆にそれで十分であることが分かるので、これを利用して DP、
2013-09-01 01:36:57P: 適当に根をつけて、dp[x][i][j]: x を頂点とする部分木からパスを j 本選び、x での次数が j になっているようにする方法は何通りか
2013-09-01 01:43:03Q: 最後の 7 文字と、最後の 8 箇所の区切り位置のうち文字列の境界となる可能性のある部分 (2^7 * 2^8) を状態としてもって一文字ずつ追加していく
2013-09-01 01:44:18R: 強連結成分に分解して、DAG にする。DAG 上の二つの頂点の場所を状態としてもっておいて、頂点を進めるときは今進んでいるほうの頂点を越えるようにする
2013-09-01 01:46:41T: x^N を (x^K - (1 + ... + x^(K-1)) でわったあまりを c_0 + c_1x + ... + c_(K-1)x^(K-1) とすると、a_N = c_0a_0 + ... + c_(K-1)a_(K-1) が成り立つ...
2013-09-01 01:49:41A: http://t.co/3hOthJVrA4 B: http://t.co/PWNi1fm8oD C: http://t.co/elZRbdn1qP D: http://t.co/jfomCXUpkt E: http://t.co/AIzm2Ud9Nz
2013-09-01 02:19:37F: http://t.co/sC16oHEy5q G: http://t.co/WrIvDLcFuA H: http://t.co/HEsN1HAeBs I: http://t.co/ZpmgEYwMVa J: http://t.co/sRMuChCodS
2013-09-01 02:20:02