SortTracker安定追跡アルゴリズム

このアルゴリズムはハンガリアンアルゴリズムとKalmanTrackerを基盤とした安定追跡システムです。OpenCVライブラリが必要となるため、事前にインストールし適切なヘッダファイルをインポートしてください。実装には./include/SortTracker.hppヘッダと./src/SortTracker.cppソースファイルを使用します。 基本インターフェース trk名前空間内に実装されたSortTrackerクラス ...

7月24日 06:47 投稿

都市間貨物輸送問題のグラフアルゴリズム解法

問題1:都市間の最短経路探索 この問題では、都市間の輸送経路における最短距離を求めます。幅優先探索を応用したアルゴリズムを実装します。 #include <iostream> #include <vector> #include <queue> #include <list> #include <climits> using namespace std; // グラフの辺を表す構造体 struct Connection { int destination; ...

7月24日 03:34 投稿

熊猫血型の検索と統計計算

問題概要 本問題では、Rh陰性血(パンダ血)に関するデータを処理します。入力として与えられるパンダ血型データと、クエリとして与えられる血型データに対して、各クエリがパンダ血かどうかを判定し、全体のパンダ血の割合と最も頻繁にクエリされたパンダ血型を出力します。 入力形式 まず、N個のパンダ血型データが与えられます。Nは最大10,000です。次に、M個のクエリ ...

7月23日 19:19 投稿

デザインパターン学習:プロキシパターン

プロキシパターン(Proxy Pattern)は、あるオブジェクトへのアクセスを制御するための代理オブジェクトを提供する構造デザインパターンです。これは、元のオブジェクトへの直接アクセスを隠蔽し、追加の機能(ロギング、アクセス制御、遅延読み込みなど)を提供するのに役立ちます。 例えば、学生がバスや電車の切符を購入するシナリオを考えてみましょう。駅は遠く、試験 ...

7月22日 21:42 投稿

二分木のレベル順走査に関するLeetCode問題

NO.116 各ノードの次の右側ポインタを埋める 完全二分木が与えられます。この木はすべての葉ノードが同じレベルにあり、各親ノードが2つの子ノードを持つ特徴があります。二分木は以下のように定義されます: struct Node { int val; Node *left; Node *right; Node *next; } 各ノードのnextポインタを、その次の右側のノードを指すように設定してください。次の ...

7月22日 20:28 投稿

有限体上の既約多項式一覧

有限体(ガロア体)上で乗法演算を行う際には、既約多項式が必要となる。既約多項式は、指定された次数において、より小さな次数の多項式の積として因数分解できないものである。 以下に、いくつかの代表的な既約多項式を示す。これらの多項式は GF(2) 上で定義されており、係数はすべて 0 または 1 である。多項式は通常、ビットパターンとして 16 進数で表現されること ...

7月22日 20:01 投稿

再帰と分割統治法を用いたソートと選択アルゴリズムの実験

実験内容 1. ソートアルゴリズム マージソート、クイックソート、ヒープソートを実装します。入力サイズ N は 8, 16, 32, 64, 128, 256, 512, … とし、1-1000 のランダムな整数を生成して入力データとします。実験結果を記録し、実行時間と入力サイズの関係をグラフにプロットします。各アルゴリズムの時間計算量と空間計算量を説明し、グラフを基に3つのソートアルゴリズ ...

7月22日 19:39 投稿

2024年蓝桥杯コンテスト対策:重要知識と試験テクニック

過去問 2023年第十四回蓝桥杯C++B組の振り返り 2022年 2021年 蓝桥杯公式サイトの問題演習 ⭐試験テクニック⭐ まず暴力解法(時間計算量の高い解法)を考えます → 部分点を獲得 データ範囲から正しい時間計算量を判断し、その計算量に基づいてアルゴリズムの範囲を特定します。 暴力解法:問題文のプロセスをシミュレーションします。 時間計算量:https://www.acwin ...

7月22日 18:52 投稿

C++における磁盤I/O性能最適化技術

キャッシュの活用 ディスクI/Oを減らすため、メモリ上にデータを一時的に蓄えるバッファリングが有効である。C++ではstd::ostringstreamなどを用いて、複数の書き込み操作を1回のファイル出力にまとめることが可能。 #include <iostream> #include <fstream> #include <sstream> #include <vector> void flushBufferToFile(const std::vector&lt ...

7月22日 00:48 投稿

部分文字列の一致判定と出現回数を数える動的計画法

LeetCode 392: 文字列の包含関係判定 文字列 s が文字列 t の部分列であるかを確認する問題では、動的計画法(DP)による状態管理が有効です。 DPテーブルによるアプローチ 配列 match[i][j] を「s の先頭 i 文字と t の先頭 j 文字を比較した際の、一致した文字列の最大長」と定義します。 s[i-1] == t[j-1] の場合:末尾同士が一致するため、直前の一致長に1を加算しま ...

7月21日 21:47 投稿