PKU3104 Drying

PKU

問題はこちら 3104 -- Drying.k = 1 のときは自然乾燥と同じなので,a0 〜 an-1 の中で最大のものが答えになる.k > 1 のときは,全部の服を乾かすのに必要な最小時間を二分探索で求める.ai を x 分で0にするのに必要な,乾燥機の使用時間を ti とおく. …

SRM558 DIV1 275 Stamp

SRM

スタンプの長さ(L = 1 〜 desiredColor.size())と、最初に何色で塗るか(3通り)を全通り試す。 int n=desiredColor.size(); int res=inf; for(int L=1;L<=n;++L) { for(int c=1;c<=3;++c) { // R=1, G=2, B=3 res=min(res, L*stampCost + (長さL、最初にc…

CodeChef October Challenge 2012 "Need More Diamonds"

問題はこちら Contest Page | CodeChef最初にやったこと(愚直DP解 TLE)与えられた配列の、 の範囲が残った状態で先手の番が来たとき、 それ以降の先手が獲得するスコアの期待値を とおく。(1)先手が左端()を取る場合 後手は か のどちらかを取るので…

SRM557 DIV1 250 FoxAndMountainEasy

SRM

nからhistory.size()を引いた残りでどう動けばいいかを決める。 重要なのは、U,Dの個数さえ決まってしまえば順番がどうであろうと結果は一緒ということ。 ただしh[i]が負の数になってはいけない。 h[i]が負にならないためにはUをh[0]側に寄せればいい。m = n…

Codeforces Round #143 A. Team

問題文に書いてあるとおりにコードを書けばOK。 「1」が2個以上ある行数を返す。 #include <iostream> #define REP(i, a, b) for (int i = (a); i < (b); ++i) #define rep(i, n) REP(i, 0, (n)) using namespace std; int main() { int n; while (cin>>n) { int res=0</iostream>…

Codeforces Round #143 B. Magic, Wizardry and Wonders

なかなか解法が思いつかなかったのでとりあえず要素数5の場合を紙の上でシミュレーションしてみた。与えられた数列を a0, a1, a2, a3, a4 とすると 1手目 a0, a1, a2, (a3-a4) 2手目 a0, a1, (a2-(a3-a4)) 3手目 a0, (a1-(a2-(a3-a4))) 4手目 (a0-(a1-(a2-(a…

SRM428 DIV2 250 ThePalindrome

SRM

sの先頭からi文字をひっくり返したものをtとする。 sの末尾にtをつけたものが回文になってるかどうかを試していく。例えば、s="abcccc" の場合 i=0: t="" (空文字列) s+t="abccc" ←回文じゃない i=1: t="a" s+t="abccca" ←回文じゃない i=2: t="ba" s+t="…

SRM478 DIV2 250 KiwiJuiceEasy

SRM

問題文のとおりにシミュレーション。 1 で要素数が最大50だからインクリメント・デクリメントを繰り返しても余裕で間に合う。 #include <vector> using namespace std; class KiwiJuiceEasy { public: vector <int> thePouring(vector <int> capacities, vector <int> bottles, vect</int></int></int></vector>…

チーター本の間違ってる気がするところ その4

細かいとこだけど p.94 Fig.5-14 Step4 「追加した文字数の2を返す」ってあるけど返すのは 回文にした後の文字列全体の長さなので 2+6=8 なのではないだろうか。

チーター本の間違ってる気がするところ その3

p.83 Table 5-2 9,10の3進表記が間違ってる。正しくは以下のようになるはず。 10進表記 変形式 3進表記 各桁の和 9 1x3^2 + 0x3^1 + 0x3^0 100 1 10 1x3^2 + 0x3^1 + 1x3^0 101 2

チーター本の間違ってる気がするところ その2

p.78 最後の文 「ソートを利用すると、ソースコードは〜」とあるけどソートしてない。 ソートを利用すると例えば以下のようなものになるんじゃないだろうか。 #include <algorithm> #include <vector> using namespace std; class Cryptography { public: long long encrypt(vec</vector></algorithm>…

チーター本の間違ってる気がするところ

p.67 2行目 「最小値を返す」ってあるけど「最大値を返す」だよね。