c++

whileでハマってTLE

前回このような記事を書いたのでついでにTLEとなったしまった例をもう一つ備忘録としてメモ。 https://jsapachehtml.hatenablog.com/entry/2022/06/05/163223 以下のコードはMを超える最小の2の指数を求める処理。無限ループに陥る場合があるがどのようなケ…

atcoderのabc254_eでTLE

こちらの問題で実行時間制限を超えてしまったのだが、普段あまり意識していなかった部分で引っかかっていたのでメモ。 https://atcoder.jp/contests/abc254/tasks/abc254_e 問題の概要は以下 グラフが与えられる(頂点数N=1.5e5) クエリが与えられる(クエリ数…

中身がポインタのvectorから特定要素を削除

c++

vectorから特定の条件でフィルターをかけて要素を削除するにはerase-removeというイディオムがある。std::remove_ifで条件に当てはまる要素を後ろに移動させ、返り値のiteratorから元のvectorの最後尾までをeraseにかける、というもの。 cf. std::remove_if…

photonとの通信で接続が切れたことを検知する

photonとの接続が切断されたことを検知する方法を調べたのでメモ 公式のドキュメントはこちら https://doc.photonengine.com/ja-jp/realtime/current/reference/analyzing-disconnects photonのサーバとクライアントはheartbeatのメッセージを投げあって、接…

c+11でメンバ変数初期化のされ方

c++

c+11で書いていてクラス内のメンバの中に、コンストラクタで初期化子が定義されてないものがあったのでどのような挙動になるのか調べてみた。 これらを見るとわかりやすい C++11: Syntax and Feature C++の初期化は分かりにくい - ぷろみん まず、staticが付…

ctagsでheader fileが検索されない

c++

c++のコーディングをした際、クラスやいくつかの関数に飛べないことに気づいた。 調べてみるとどうやら*.hに書いたものだけが当てはまる模様。 $ ctags --list-map | grep c++ C++ *.c++ *.cc *.cp *.cpp *.cxx *.h++ *.hh *.hp *.hpp *.hxx ということでc++…