2010-05-28から1日間の記事一覧

SRM471 Div2 Medium(500) EllysPlaylists

EllysPlaylists動的計画法。長さkで最後の曲がiであるプレイリストの数をnum[k][i]とすると、 num[k][i] = num[k-1][j1] + num[k-1][j2] + ……。 ただし、j1, j2, ……はi番目の曲の先頭3文字と末尾3文字が一致する曲の番号。 #include <string> #include <vector> using namesp</vector></string>…

SRM471 Div2 Easy(250) PrimeContainers

PrimeContainers class PrimeContainers { public: int containerSize( int N ); }; int PrimeContainers::containerSize( int N ) { int c = 0; for ( ; N>1; N/=2 ) { bool f = true; for ( int i=2; i*i<=N && f; i++ ) f = N % i != 0; if ( f ) c++; } …

SRM471 Div1 Medium(500) ThirteenHard

ThirteenHard今3番目の駅に居るとして、 (T1+T2+T3)%13=a, (T2+T3)%13=b, (T3)%13=c, とすると、 (T1+T2+T3+T4)%13=(a+T4)%13, (T2+T3+T4)%13=(b+T4)%13, (T3+T4)%13=(c+T4)%13, である。 駅の番号と、各駅からその駅までの距離を13で割った余りのビット表現…