模擬練習会
ICPCの模擬練習会に出た。
A:単価が100の倍数なので、doubleとかfloatとか考えなくても素直に整数型で解ける問題。
B:魔の領域。期待値とか書かれてたからDPで積み上げて確率計算していくのかと思ったら単純にgreedyすれば良いとすぐ分かったので"コンテナにぶちこんだ後に期待値が降順になるようにソート"して前から計算して行こうと思った。
std::sort(table.begin(),table.end(),Comp());
とかやると酷い事におちるわおちるわでセグフォとかバスエラーとか出てきてわろたwww
焦っていたので、ここでDTraceの出番や!とか思ってそっちのD言語を調べ始めるも落ち着きをなくしていたので奇怪な事をして、仕方が無いからgdbとSTLのソースコード読み始めて気付いたら凄い時間が経っていましたとさてへ。
なので期待値が1-10しかない事を利用して直接配列つくってぶちこんで計算して終わり。気にかけながらもCを開く。
C:なんか全体的に長かったので読むの辞めた。
D:また探索系かと。DijkstraとWarshallのどちらかと思ったのでWarshallに飛び込んでぱーっと実装しておわりここでB問題に戻る。
わーおAとBしか出せなかったよ!!!
終わった後なんか色々していても結局駄目だったので困ったなーとか思っていたが、std::stable_sortにしたら動いたので見なかった事にした。
何もかも忘れてしまいたい。