我正在使用 C++ 中大约 2000 个元素的数组。
每个元素代表该元素被随机选择的概率。
然后,我将此数组转换为累积数组,目的是使用它来计算掷骰子时选择哪个元素。
示例数组:{1,2,3,4,5}
示例累积数组:{1,3,6,10,15}
当滚动数字 3、4 或 5 时,我希望能够在累积数组中选择 3。
增加的复杂性是我的数组由长双精度数组成。这是几个连续元素的示例:
0.96930161525189592646367317541056252139242133125662803649902343750 0.96941377254127855667142910078837303444743156433105468750000000000 0.96944321382974149711383993199831365927821025252342224121093750000 0.96946143938926617454089618153290075497352518141269683837890625000 0.96950069444055009509463721739663810694764833897352218627929687500 0.96951751803395748961766908990966840065084397792816162109375000000
这可能是用这个数据集做加权概率的一种糟糕的方法,所以我愿意接受任何关于解决这个问题的更好方法的建议。