文系プログラマーのプログラミング備忘録

Java、競プロ、数学などについて書いてます

2019-02-21から1日間の記事一覧

March [AtCoder Beginner Contest 089 C]

atcoder.jp M,A,R,C,H の5つから3つを選ぶ組み合わせは 5C3 から 10通り です。解説には「たかだか10通りなのだから全て試せばよい」とありますが、ちょっと面倒くさいので、ついさっき記事を書いたビット全探索で解いてみることにしました。 import java.ut…

ビット全探索で学ぶビット演算子

プログラミング関連の書籍にありそうなタイトルですが、以下の記事の続編になります。 jpliterature.hatenablog.com 上記の記事では、ビット全探索を使って問題を解きました。しかし私自身、ビット全探索、もといビット演算子についてよく理解していません。…

たくさんの数式 / Many Formulas [AtCoder Beginner Contest 045 C]

atcoder.jp 文字列Sの全ての部分集合を数値として足し合わせた総和を求めよ、という問題です。 実装方針は明確だけれども実装方法が難解というパターンです。再帰関数を使っても解けると思うのですが、あいにく再帰関数は苦手なのでビット全探索を使います。…

Sequence [AtCoder Beginner Contest 059 C]

atcoder.jp 与えられた数列の項を操作して累積和を [正,負,正,負......] もしくは [負,正,負,正......] の形にするとき、操作回数の最小値を求めよ。ただし、累積和は一度でも0であってはならない、という問題です。 偶数項を正とするのか、奇数項を正とする…