这不是作业,这是我在编程比赛中遇到的一个问题,但找不到解决方案。
Byteland 王国包含 N 个城市,编号为 1..N。对于每个城市 i,国王都会为该城市分配一些资金用于其年度维护。分配的数量是在 ai(该城市所需的最小数量)和 bi(可以分配给该城市的最大数量)之间随机选择的。请注意,分配给城市的金额不必是整数。今年征收的税款总额为 C。
王国今年发亏的概率是多少
这不是作业,这是我在编程比赛中遇到的一个问题,但找不到解决方案。
Byteland 王国包含 N 个城市,编号为 1..N。对于每个城市 i,国王都会为该城市分配一些资金用于其年度维护。分配的数量是在 ai(该城市所需的最小数量)和 bi(可以分配给该城市的最大数量)之间随机选择的。请注意,分配给城市的金额不必是整数。今年征收的税款总额为 C。
王国今年发亏的概率是多少
我认为这是正确的说法:
Byteland 王国包含 N 个城市,编号为 1..N。对于每个城市 i,国王都会为该城市分配一些资金用于其年度维护。分配的数量是在 ai(该城市所需的最小数量)和 bi(可以分配给该城市的最大数量)之间随机选择的。请注意,分配给城市的金额不必是整数。今年征收的税款总额为 C。
王国今年发亏的概率有多大?换句话说,分配给所有城市的总金额超过税收总额的概率是多少?
所有赋值的总和是 x_0 + ... + x_i + ... + x_n 如果 U(a,b) 是 a 和 b 之间的统一数 所有赋值的总和 U(0, b_0 - a_0) + a_0 + ... + U(0, b_i - a_i) + a_i + ... + U(0, b_n - a_n) + a_n 等于 a_0 + ... + a_i + ... + a_n + U(0 , b_0 - a_0) + ... + U(0, b_i - a_i) + ... + U(0, b_n - a_n) 所有值都是已知的。添加均匀分布的公式也是已知的(检查here):但在编程问题中,您不需要使用解析解,而是实现一些能给你足够好的数字的东西......你应该使用 montecarlo 或类似的东西来模拟概率......你也可以使用 U(0, k) = k * U(0, 1) 的事实。计算和的不同值的概率,然后将它们与 C 进行比较。