アイカツが終わってしまった
2013 年の終わり頃(二期のそらちゃんが登場したあたり)から視聴を始めた。実はそれより以前にさくらちゃんの登場回(26 話)やトライスター回(35, 36 話)など部分的に見ていた話もあるが、夕方に放送しているアニメとして眺めていただけだった。何も知らない状態でトライスター回を見ていると「こいつ脱走して何やってんだ」と思っていた覚えがある。
続きを読むSRM 680 Div2 Easy, Medium
Easy(250): BearPair
問題
https://community.topcoder.com/stat?c=problem_statement&pm=14130
解法
全探索。
続きを読むSRM 679 Div2 Easy: ListeningSongs
問題
TopCoder Statistics - Problem Statement
2 つの音楽アルバム A, B について、曲の長さ(d1, d2)が与えられる(秒)。 曲の長さの合計が上限 minutes を超えないように各アルバムから曲を選ぶとき、選べる曲数の最大値を返す。 ただし、各アルバムからそれぞれ最低 T 曲選ばなければならない(A から T 曲, B から T 曲)。このような選び方がない場合は -1 を返す。
解法
結果が -1 の時の条件に注意してそのまま書く。d1, d2 をソートして先頭から T 個足したあと、新しい配列に足してない要素を突っ込んでソート、先頭から上限時間を超えないように選んでいくような処理を書いた。
続きを読むSRM 677 Div2 Easy: PalindromePrime
SRM は何回かやってたけど初めてコンテスト中に提出できました…(easy のみ)。
250: PalindromePrime
区間 [L, R] のうちで、素数かつ後ろから読んでも同じ(回分みたいになってる)整数をカウントする。 本番ではエラトステネスのふるいを書いたけど素数判定と回文判定だけすればいいらしい。
class PalindromePrime { public: // 回文かどうか bool is_r(int s) { stringstream ss; ss << s; string a = ss.str(); int n = a.size(); for(int i=0; i<n; i++) { if(a[i] != a[n - 1 - i]) return false; } return true; } bool is_prime(int n) { for(int i=2; i*i <= n; i++) if(n % i == 0) return false; return n != 1; } int count(int L, int R) { int ans = 0; for(int i = max(2, L); i <= R; i++) { if(is_prime(i) and is_r(i)) ans++; } return ans; } };
来年は本気を出して緑以上になりたい。