競プロ用のメモ

競プロのメモです。競プロで得たc++の知識を書きます。atcoder緑が書いてます。

2022-01-01から1年間の記事一覧

バグ:vectorのresizeの挙動

bug

```cpp vector<int> a ... a.resize(n,0) ``` とする場合,すでにaに値が入っている場合は,0は代入されないので注意が必要. 初期化のつもりで使うと失敗する. cpprefjp.github.io</int>

自作バグ:二分探索

bug

```cpp ll s; bool check(ll mid){ s=0; s+=mid*.... } int main(){ .... if(ng-ok>1){ ... } cout << s << endl; } ``` みたいなプログラムを作ってcheckで計算したsをそのまま使おうとした. checkは常にtrueを返すわけではないから,sはokの値で計算しな…

自作バグ:DFS

dfsを再帰で呼び出すときに,引数のベクトルの処理で間違えた. ループでdfsする場合は変化を加えた変数を元に戻す必要がある. ```cpp void dfs(vec<bool> seen, vec<int> a){ // 適当な処理 for(int i=0; i</int></bool>

自作バグ:メモ再帰で関数と配列の取り違え

EDPCのJ問題,すしのやつ https://atcoder.jp/contests/dp/tasks/dp_j ```cpp double f(int s1,int s2,int s3){ if(seen[s1][s2][s3]) return dp[s1][s2][s3]; seen[s1][s2][s3]=true; double res=1; if(s1>0) res+=f(s1-1,s2,s3)*s1/n; if(s2>0) res+=f(s1+…

modintのコンパイルエラー

拾ってきたmodintをコンパイルオプション付きでコンパイルすると,エラーを吐く. main.cc: In constructor ‘mint::mint(long long int)’: main.cc:12:20: warning: declaration of ‘x’ shadows a member of ‘mint’ [-Wshadow] 12 | mint(long long x=0) : x…