西瓜の備忘録

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

メモ

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

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

にぶたん

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

競プロで使えそうな関数とか

タイトル通り 関数 std::min() std::max() 言わずと知れた最小最大を返す関数 DPを更新するときとかによく使う ex)dp[i][j] = max(dp[i-1][j],dp[i-1][j-A[i]]) ナップザックDP std::sort() ソートを一から実装する必要がないときは普通これを使う ex)sort(a…

テンプレートのメモ+α

いちいち#include<bits/stdc++.h>(ryって書くのはめんどくさいのでテンプレートを作った(不便になったら逐次改良していく予定 念のためのVSCodeでのテンプレート作成の手順のメモ ファイル->基本設定->ユーザースニペット と進んでテンプレートを作りたい言語を選択 1</bits/stdc++.h>…