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

SRM490 Div2 Easy(250) LuckyCounter

LuckyCounter #include <string> #include <vector> using namespace std; class LuckyCounter{public: int countLuckyMoments( vector <string> moments ) { int ans = 0; for ( vector<string>::iterator m=moments.begin(); m!=moments.end(); m++ ) if ( (*m)[0] == (*m)[3] && (*m)[1] =</string></string></vector></string>…

SRM490 Div1 Easy(250), Div2 Medium(500) Starport

StarportN*Mの周期で繰り返すので、答えはΣi=0N-1i*M%N。NとMが互いに素ならば剰余は0〜N-1の全ての値になるので、=N(N-1)/2。 g=gcd(N,M)として、N'=N/g, M'=M/gと置くと答えは、gΣi=0N'-1i*M'%N'=gN'(N'-1)/2=N(N-g)/2。 int gcd( int a, int b ) { if ( a…

SRM490

Easy (250) 120.65 Medium (550) 0 Hard (1000) 0 Challenge -25 +50 結果 1896 → 1849250に時間掛かりすぎた(´・ω・`)