バイトの競プロメモ

主に競技プログラミング

2019-04-01から1ヶ月間の記事一覧

C - 01文字列

https://atcoder.jp/contests/ddcc2016-final/tasks/ddcc_2016_final_c 解法 ランレングス圧縮する 最初に追加した区間がtのどの位置か決めると組み立て方が一意に定まる 累積和 https://atcoder.jp/contests/ddcc2016-final/submissions/5008563 void solve…

D - Modulo Operations

https://atcoder.jp/contests/exawizards2019/tasks/exawizards2019_d 解法 sをソートして、s[i]を最初に使った場合の合計を考えていく。 ここでx%s[i] はs[i] より小さくなるため、今後s[i]より右でmodを取っても答えは変わらない。 よってこの答えは s[0~i…

E - Black or White

https://atcoder.jp/contests/exawizards2019/tasks/exawizards2019_e 解法 ほとんどの状態でi番目に黒を引く確率は1/2となる 例外はi番目に「黒が残っていない場合」と「白が残っていない場合」である i番目に黒が残っていない確率をpiとすると pi = p(i-1)…

D - Sushi Restaurant

https://atcoder.jp/contests/code-festival-2018-qualb/tasks/code_festival_2018_qualb_d てんぷらさんのツイートとコードを参考にしました https://twitter.com/tempura_cpp/status/1051475771221401600 https://atcoder.jp/contests/code-festival-2018-…

G - Chicks and Cages

https://atcoder.jp/contests/code-festival-2018-final-open/tasks/code_festival_2018_final_g 解法 それぞれの籠に大きさを決める aiをいれた際、全体の合計はai*籠の大きさ となるためaiが大きいものほど小さい籠に入れたいと分かる よって籠の大きさを…

D - Yet Another Palindrome Partitioning

https://atcoder.jp/contests/code-festival-2017-qualc/tasks/code_festival_2017_qualc_d 思考 回文の条件は奇数個のアルファベットが高々1つ アルファベットはbitで持てる いくつかの区間に分割するdpか、左から貪欲に取ればよさそう 貪欲は駄目だった だ…

D - 101 to 010

https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_d 解法 11110111のように0の左右に1が並んでいるとき、左か右の個数回だけ操作でき、逆側の1の個数を1減らす 上のように左右に1を持つ0について、左か右の1をいくつか…