AtCoderを始めてみた話
どうも皆さんこんばんはぐっちーです。
本日はAtCoderを始めてみたよって話をしたいと思います。
なぜいまさら
なんで今更AtCoderなのかって話をしますと一番は知り合いの人が始めたってのがあるんですがそれをなくすとC++を勉強し始めたけどコードを書いた経験がまだまだ少ないなと感じたからとアルゴリズムなどの勉強も兼ねています。
いかんせん私はアルゴリズムを考えるのが苦手で問題解決能力がない方だと感じている(恥じてくれ)ので改善のために始めた次第です。
初回コンテスト(仮)
てことで本日行われたAtCoder Beginner Contest 156に参加してきたわけですが…
C問題すら解けなかった…
整数Nの数だけ住民の住む場所(整数)が与えられたときその住民がある点まで移動するのに以下の式で与えられる労力の総和が最小になるときの値を出力するものでした。
労力の式:(Xi - p)^2 (Xi:i番目の住民のいる座標 p:ある点の座標)
個人的には住民の座標の平均値か中央値みたいな数がある点になるのかなと思っていたんですが公式の解説を見た感じ住民のいる座標の最大値から最小値の間の点全てについて労力の総和を求めながら更新していけばよかったらしいです。
まだ計算量の程度への理解が及んでない感じがあるので解説での方法を実装したらデータ数が大きくなったときに時間が足りなくなるかなと思ってしまってその方法を考えることをやめていました…
ちょっと遅刻してしまったんですがA、Bは問題なくサクサクっと解けました(そりゃそうだろ)
まだまだ勉強が必要だなと感じたコンテストでした。
これから色々勉強して行きたいと思います。
それでは短いですが今日はこのへんで( ー`дー´)キリッ
0コメント