私はC++でおよそ2000の要素の配列を扱っています。
各要素は、その要素がランダムに選択される確率を表します。
次に、この配列を累積配列に変換しました。これを使用して、サイコロを振ったときに選択する要素を決定することを目的としています。
配列の例:{1,2,3,4,5}
累積配列の例:{1,3,6,10,15}
数字の3、4、または5が出たときに、累積配列で3を選択できるようにしたいと思います。
追加された複雑さは、私の配列が長いdoubleで構成されていることです。いくつかの連続した要素の例を次に示します。
0.96930161525189592646367317541056252139242133125662803649902343750 0.96941377254127855667142910078837303444743156433105468750000000000 0.96944321382974149711383993199831365927821025252342224121093750000 0.96946143938926617454089618153290075497352518141269683837890625000 0.969
これは、このデータセットを使用して加重確率を実行するためのひどい方法である可能性があるため、これを解決するためのより良い方法の提案を受け入れます。