ferinの競プロ帳

競プロについてのメモ

2018-03-07から1日間の記事一覧

SRM689 div1 easy ColorfulGarden

考えたこと 互い違いにおいていくのが一色を多く置く方法っぽい 一色でn個より多くあるのを条件を満たすようには置けない 逆に全部n個以下なら適当に互い違いにおいていくだけで構成できる 割とすぐ思いつけた ソースコード #include <bits/stdc++.h> using namespace std; </bits/stdc++.h>…

SRM688 div1 easy ParenthesesDiv1Easy

考えたこと 文字列長が1000なのに操作回数10回の制限でよくわからない とりあえず実験するけどよくわからない 括弧列を+1/-1に置き換えるやつをしてみる +1/-1の累積和で-1になったところがあったらそこを1回は操作しないとだめ 操作しないといけない場所が…

SRM687 div1 easy AlmostFibonacciKnapsack

考えたこと ナップザックDPの復元とか考えつつ問題文を読むと制約的に論外 上から貪欲にとっていくやつを考える 7とかが3+4でつくれるけど先に6を取っちゃうとだめ 漸化式の性質を何かうまく使う…? とりあえず漸化式の要素を順番に書いていってみるけどよく…

SRM686 div1 easy BracketSequenceDiv1

考えたこと 開括弧を選んでそれに対応する閉じ括弧のパターンが何通りあるか数えるみたいなので考える 正しい括弧列ならば開括弧の数は(括弧列の長さ/2)になるはず 与えられる括弧列の長さが最大40なのでその半分なら開括弧の選び方を全列挙できる もし開括…

SRM685 div1 easy MultiplicationTable2

考えたこと ある数字iを削除できるのは(j$k) == iとなるj,kが存在しない事みたいな気持ちになる 削除する対象の数字を探索するのにO(n)、削除判定O(n^2)で繰り返すのにO(n)で間に合いそうという気持ちになる 数字が削除できるならするを繰り返すコードを書く…