2011-04-08から1日間の記事一覧
TheCowDivTwo動的計画法。i番目までの牛からj匹を選んで和をNで割った余りがkとなる組み合わせの個数を覚えておく。 #include <vector> using namespace std; class TheCowDivTwo{public: int find( int N, int K ) { int M = 1000000007; // [i][j] 和をNで割った余</vector>…
TheProgrammingContestDivTwo実際のコンテストでもrequiredTimeが分かれば楽なのだが……(´・ω・`) #include <vector> #include <algorithm> using namespace std; class TheProgrammingContestDivTwo{public: vector <int> find( int T, vector <int> requiredTime ) { sort(requiredTime.be</int></int></algorithm></vector>…
TheProgrammingContestDivOne与えられたタスクを全て解く場合には、最も点数が高くなる順番は簡単に求められる。タスクが2つの場合に解く順番ごとの点数を求めると、pointsPerMinute[0]*requiredTime[1]>pointsPerMinute[1]*requiredTime[0]ならばタスク0か…
TheLotteryBothDivsa,b∈goodSuffixesについてaがbの接尾辞ならば、bが無くても当たり籤は変わらない。例えばサンプル3ならば4747は要らない。goodSuffixesから他の要素が接尾辞になっているような要素を除いた集合Sを考える。当たり籤はちょうど1個のSの要素…
Easy (250) 0 Medium (500) 0 Hard (1000) 0 Challenge 0 結果 1946 → 1762250は解き方はすぐ分かったけど実装に時間が掛かった上、バグっててシステム落ち。500は解き方すら分からなかった。。・゚・(ノД`)・゚・。解けた人数が2桁とかの難しい問題ならまだしも、け…