後半のT以降はまだ1回も解けてないのですが、Sまでは3周したのでメモです。dpの配列を想像すると脳がパンクするので、まずはメモ化再帰を書いてみてください。答えがN以下であることは明らかだ。oが1個は含まれるので、oをN個並べてやればそれ以降条件を満たすからだ。これをさらによく考えてみる。長さNの数列A,Bを与えられる。Aの各要素にXを足し、Mで割った数列をCとする。Cを並べ替えるとBと一致するとき、Aに足すべき最小のXを求めよ。A,Bの2数が与えられる。これらに対し、以下の操作を行う。A,Bを等しくするには最小で何回の操作が必要か答えよ。入力はT個与えられる。...2020-04-26降順ソートされたコンテナでlower_boundわかればそれはそうか、となるのですが頭に入ってないとこの発想が出てこなそうなので書いておきます。やり方はメチャクチャ簡単です。ポイントは逆イテレータを渡していることです。Neovim僕は今まで競プロ用のライブラリをファイルとして保存しておいて、それをコピペするスタイルを取っていました。面倒になってきたのでスニペット化してみました。mint.cppというファイルがあるとします。MOD>st</int>...2020-04-23C++でpriority_queueを実装する(競プロ以外の場面で)優先度付きキューを自力で実装する必要に迫られたので、自力で実装してみました。二分ヒープをベースに実装してあります。cla</typename></class></functional></vector>...2020-04-05標準入力がちょっとだけ楽になるテンプレート書きやすさ・使いやすさ・応用性の高さから便利だよという紹介です。ある文字列SとKが与えられる。文字列SをK-completeな単語にするには最小で何文字変えれば良いか?なお、K-completeな単語とは以下のような単語を意味する。アルファベット26文字が1列に並ぶキーボードを考える。いま、パスワードがN個与えられる。ある文字列Sが与えられる。これにはabが6個入っているので出力は6となっている。操作後の配列のうち総和が最大となるときの配列を出力せよ。操作後の配列のうち総和が最大となるときの配列を出力せよ。4引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。