優先度付きキュー(priority queue)は、要素を優先度付きで追加し、要素を取り出すときは最も高い優先度を持つものから取り出されます。ただいったん格納した要素の優先度を変更したり要素がもつ値を変更することはできま・・・
優先度付きキュー(priority queue)は、要素を優先度付きで追加し、要素を取り出すときは最も高い優先度を持つものから取り出されます。ただいったん格納した要素の優先度を変更したり要素がもつ値を変更することはできま・・・
E – Best Performances 問題の趣旨は以下のとおりです。 配列 A のある要素の値を別の値に変更する。 そのあと降順にソートして先頭から K 番目までの総和を求めよ。 配列 A の長さは最大・・・
配列から値を削除するだけなら・・・ B – Search and Delete 配列 A から 配列 B の値を削除せよというのが問題の趣旨です。配列の長さは最大で100です。 配列ではなくリストにしてRem・・・
C# JavaScript 不規則な形をした図形との当たり判定ではCrossing Number アルゴリズムを用いて点と多角形の内外判定をしました。この方法は「多角形の各線分ごとに指定した点を通るx軸に平行な線との交点・・・
両端キューは先頭または末尾で要素を追加・削除できるキューです。 通常のキューは要素を追加するときは末尾からしかできず、取り出すときは先頭からしかできません。通常のリスト(C#のList<T>)は任意の場所で要・・・
これまでにゲームを作ってきましたが、オブジェクトの数が増えると当たり判定に時間がかかるのでオブジェクトの数をあまり大きくすることはありませんでした。しかし二分探索法を使えば高速化は可能です。思った以上の差となりました。 ・・・
マンハッタン距離と45度回転 マンハッタン距離またはL1-距離とは幾何学における距離概念の一つで、各座標の差の絶対値の総和を2点間の距離とするものです。 平面上であれば、座標(x1, y1)と(x2, y2)のマンハッタ・・・
区間の総和を高速で求める累積和 累積和とは配列の任意の区間の総和を求めるためのアルゴリズムです。 繰り返し処理を使うと大きな計算量になってしまう区間の計算問題を、適切な前処理を行うことによって高速に行うことができます。 ・・・
配列のなかから指定された値に対して K 番目に近い値を取得する方法を考えます。 D – K-th Nearest D – K-th Nearest 数直線上に N + Q 個の点 A_1, … ,・・・
平方分割で区間の最大値を求める大量のクエリに対応するの続きです。前回は最初に整数の配列が与えられましたが、その配列の値が更新されることはありませんでした。今回はある区間の最大値を求める + ある区間で配列の値が更新される・・・