塩見周子の徒然日記

自分のことを塩見周子と思い込んでいるオタクです

精進 まとめ

セグメント木、BIT(反転数)

・セグメント木 書きようによっては任意の区間のGCDを求めたりもできるっぽいけど、とりあえずは任意の区間の最小値を求めることにする。 n = int(input()) #配列の要素数をnと置く。 L = list(map(int,input().split())) #配列 t = 1 while t <= n: t *= 2 …

桁DP

桁DPは、例えば「0以上N以下の数字で、ある条件を満たす数字がいくつあるか」などを数えるのに便利な手法である。発想が単純なものと、複雑なものの2パターンある。<単純な方> 例えばこの問題↓ atcoder.jp?はワイルドカード(0~9のいずれでもいい)の時、?…

復習2/6,2/7

atcoder.jp <ずる> O((HW)**2)とは分かったものの一個だけTLEが取れない。全部道である場合のみ特例で除外したら通ったけどこれPythonの正攻法はなんなんやろね。atcoder.jp <解説AC> ロボットアームの動ける範囲の右端でソート→右端が小さい方から順番…

アルゴリズムとデータ構造 第5章(有向グラフ[最短経路/トポロジカルソート])・第6章(無向グラフ[最小全域木])

第5章5.1 ダイクストラのアルゴリズムある1つの頂点から、各頂点に向かう最短経路を求めるアルゴリズム。 コストが非負の時のみに動作することに注意。頂点の数をN、辺の数をEとして、O(N**2)とO((N+E)logN)の2つのやり方がある(正直N**2の方は競プロ向けで…

幅優先探索(BFS)、深さ優先探索(DFS)の問題

幅優先探索と深さ優先探索は似たような問題をカバーできるけど、幅優先の方があんまり考えなくても実装できる(気がする)。幅優先はキュー、深さ優先はスタックと仲良し。 幅優先探索 幅優先探索は、基本的に「次に訪れる島」をキューの形で保持しておくこ…

二ヶ月のまとめ

こんばんは。とーです。AtCoderを再開してから2ヶ月が経ちました一か月で120問くらい解きました Dに挑戦するようになったのですがなかなか厳しいです 水色になりたいけど基本的にC速解きが要求されるようになる昨今本当につらいです レートの推移がこちらで…

AtCoder Beginner Contest C問題 まとめ(随時更新)

D埋めが厳しくなってきたので、C問題を復習しつつ主観的難易度をまとめます。下にスクロールすると解法が(一行程度ですが)バリバリ書いてあるので閲覧注意。 開催されたのが最近になるように並んでいます ☆の数が多いほど難しいです 教育的だなあと感じた…

一か月のまとめ

こんばんわ。とーです。 二月からAtCoderに本腰入れて取り組み始め、一か月が経ちました。(とほぼ同時に50記事になったのでこの記事を書きました) 継続は力なりというのでしょうか、レートの伸びが目に見えて嬉しい限りです。さて、この一か月(2/10~3/10)…

ABC,AGCの易しめの問題で、数列の部分和(積)を扱う力を養いたい

とは思いませんか?(強引)数列の部分和に関する問題って、ABCのC,DとかAGCのA,Bとか、まあまあ結構な頻度で出ているので、問題とその解き方をまとめておこうと思い立った 主に累積和やしゃくとり法などについてまとめる AGC023A A - Zero-Sum Ranges 問題…