西瓜の備忘録

競プロとかで気づいたこととか考察を書き留めるためのブログ

2017-09-01から1ヶ月間の記事一覧

競プロで頻出の初歩的な(?)テクニック

使い所は多いけれど説明・紹介されることはあまりないようなテクニックのメモ ほぼ全ての言語で使えるもの 整数での切り捨て切り上げ 自然数A,Bで除算をするとき、大半の言語では切り捨てられることを利用するテク ex) 切り捨て A/B 切り上げ (A+B-1) / B bi…

にぶたん

何故かめぐる式二分探索をバグらせてしまったのでメモ めぐる式二分探索とは(自分がそう呼んでるだけだが)↓を参照 【めぐるのアルゴリズム講座】二分探索(整数)の書き方難しさ:4 pic.twitter.com/LGLbkS0D7l — 因幡めぐる@競技プログラミング (@meguru…

ARC069Dを解いた

解くのに無駄に時間がかかったので自分への戒めに解説を載せておく arc069.contest.atcoder.jp 問題概要は省略 以下、狼と羊をそれぞれWとSと表記する siがoのとき動物列をaiとすると {ai-1,ai,ai+1} = {SSS},{WSW},{SWW},{WWS} xのとき {ai-1,ai,ai+1} = {S…

ABC073

A問題 今回はWAしなかった(ドヤ顔 文字列でs[0],s[1]調べるだけ ソースコードは省略 B問題 最初bool配列用意して席を埋めていくトンチンカンなコードを書いた 席は連続、同じ席に二人以上座らないという制約があるので r-l+1の総和を取れば良い C問題 概要…

ABC072

A問題 最初max(A-B,0)をmin(A-B,0)と書いて1WA ソースコードは省略 B問題 文字列の偶数文字目(1-indexed)を抜き取って出力 C問題 概要:長さNの整数列に±1(or0)したとき同じ数にできる数の個数の最大値を求めよ 制約が0≦Ai<10^5と小さいので素直に10^5の大…