1 条题解

  • 0
    @ 2025-12-9 16:14:58

    题目大意

    这是一个零和博弈问题:

    走私者选择金额 x[0,n]x \in [0, n]

    检察官猜测金额 y[0,n]y \in [0, n]

    收益矩阵:

    x=yx = y:收益 0

    x>yx > y:走私者得 xx,检察官失 xx

    x<yx < y:走私者得 y/2y/2,检察官失 y/2y/2

    求混合策略纳什均衡。

    算法思路

    核心思想

    线性规划对偶 + 递推求解

    数学建模

    设走私者以概率 pip_i 选择 ii,检察官以概率 qiq_i 选择 ii

    1. 收益函数

    对于给定的 (p,q)(p, q)

    走私者期望收益:$\sum_{i=0}^n p_i \left[ i \cdot \sum_{j=0}^{i-1} q_j + \frac{1}{2} \sum_{j=i+1}^n j \cdot q_j \right]$

    检察官期望损失(取负收益):$-\sum_{j=0}^n q_j \left[ \sum_{i=j+1}^n i \cdot p_i + \frac{1}{2} \sum_{i=0}^{j-1} j \cdot p_i \right]$

    1. 纳什均衡条件

    存在常数 vv(博弈值)使得:

    对于所有 ii,若 pi>0p_i > 0,则选择 ii 的期望收益 = vv

    对于所有 jj,若 qj>0q_j > 0,则选择 jj 的期望损失 = vv

    1. 推导解

    通过线性规划对偶和对称性分析,可以得到封闭解:

    走私者策略

    pi=1+[i=0]n+2p_i = \frac{1 + [i=0]}{n+2},其中 [i=0][i=0] 是指示函数(i=0i=0 时为 1)

    检察官策略

    通过递推计算:

    f0=1,f1=2f_0 = 1, f_1 = 2

    fi=2i1(i+3)mod(mod1)f_i = 2^{i-1} \cdot (i+3) \mod (mod-1)

    归一化:qi=fi/j=0nfjq_i = f_i / \sum_{j=0}^n f_j

    1. 模运算处理

    由于概率要对 998244353998244353 取模,使用模逆元进行归一化。

    算法流程

    读入 nn

    计算走私者策略:

    分母 v=(n+2)1mod998244353v = (n+2)^{-1} \mod 998244353

    pi=(1+[i=0])×vmod998244353p_i = (1 + [i=0]) \times v \mod 998244353

    计算检察官策略:

    递推计算 fif_i

    计算总和并求逆元

    归一化得到 qiq_i

    输出两行概率分布

    复杂度分析

    时间复杂度:O(n)O(n),线性递推

    空间复杂度:O(n)O(n),存储 ff 数组

    模运算:使用快速幂求逆元 O(logmod)O(\log mod)

    数学验证

    对于 n=1n=1 的样例:

    走私者:p0=2/3,p1=1/3p_0 = 2/3, p_1 = 1/3

    检察官:q0=1/3,q1=2/3q_0 = 1/3, q_1 = 2/3

    验证满足纳什均衡条件

    总结

    本题展示了:

    博弈论建模:将实际问题转化为零和博弈

    纳什均衡求解:通过线性规划对偶得到封闭解

    递推优化:避免直接求解大规模线性方程组

    模运算技巧:在模质数下进行概率计算

    • 1

    信息

    ID
    5933
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者