はっぴぃ☆わぁるど

思考垂れ流す肥溜め

Codeforces #308 Div.2 <失敗談>

A.

ACできたので特になし。

B.

1~nまで数字を書くとき、合計何桁の数字を書くかという問題。

考え方は良かったが、pow(n,r)がintの値を返すと思っていたが、doubleだったため、計算結果がdoubleになり、誤差が発生してしまった。こういう時はforの中で数値をかけていった方が安全。 

C.

w^0,w^1,,...,w^100を足し引きして、mを作ることができるかという問題。

w進法を使うところまでは近かったが、実装できなかった。実装力。w進法をつかって各桁の数を求めたがその方法だと桁上がりの処理が面倒。while(m!=1){... m/=w;}という形にしたほうが元の数として扱えて便利。発想が凝り固まっていた。

D.

n個の座標が与えられ三角形がいくつできるかという問題。

コンテスト中は見ていなかったが多分Cより簡単な気がする。C++は実行速度が速いので、O(n^3)で通ってしまう(細かく言うとO(nC3))。とりあえずすべての問題を見ておく。オーダーぎりぎりもせめてみる

E.

+と*の数式に()をつけて最大となる値を求めるという問題。

これも難しいことを考えずに総当たりを実装すればいい。実装が(僕的に)難しいので多分コンテスト中は解けなかったと思う。

 

今回の問題は発想力がいるような問題はほとんどなく、実装できればよいので、冷静にバグを除いていけば結構得点できたんじゃないかと思う。

Now Rating: 1291 (-81)