C++スタック、キュー、優先度付きキューの基礎と実装

スタック(Stack) スタックはLIFO(Last In First Out)のデータ構造であり、コンテナアダプタとして実装されます。標準ライブラリではstd::stackが提供されており、主な操作は以下の通りです。 メンバ関数説明empty()スタックが空かどうかを判定size()要素数を取得top()最上位の要素への参照を取得push()要素を先頭に追加pop()最上位の要素を削除 最小スタックの実装 定 ...

7月2日 18:28 投稿

Codeforces Round 999 合併部門における競技プログラミング問題の解説

A - 数列の並べ替えとスコア最適化 長さ n の整数列 a が与えられる。初期値が 0 の変数 s に対して、a の要素を順に加算する。s が偶数になった場合、ポイントを 1 加算した上で s を 2 で割った余り(つまり s % 2)に更新する。この操作を繰り返す中で、得られるポイントの合計を最大化するために、a の要素をどのように並び替えるべきか。 重要な観察として、奇数の個 ...

6月22日 18:23 投稿

リアルタイムニュース人気ランキングのFlink実装

Apache Flinkを用いたニュース記事のリアルタイム人気ランキング計算手法について解説します。5分間のスライディングウィンドウを1分間隔で分析し、クリック数上位N件のニュースを算出する処理を実装します。 import org.apache.flink.api.common.functions.AggregateFunction; import org.apache.flink.api.common.functions.FilterFunction; import org.apache.flink.a ...

5月31日 17:15 投稿