2018-12-17 CODE FESTIVAL 2018 Final:D - Three Letters 競技プログラミング AtCoder 500 点問題 問題 解法 解答 問題 beta.atcoder.jp 解法 各文字列ごとにある場所 p より左右それぞれに文字 c があるかどうかを前計算しておき,各場所 p ごとに考えられる略称を全探索していき,数えておく.考えられる略称のうち最も数えた数が多いものが答えになる.O(N + |S_sum| * (52^2) + 52^3) でかなり重い. 解答 beta.atcoder.jp 複数回 TLE を出した.計算量上はぎりぎり通りそうだと思ったので,std::vector を int の固定配列に変えたり,std::map を使うのをやめたりし,言語設定を GCC から Clang に変更することで何とか 1920 ms で通った.