[NowCoder5666D]Quadratic Form

题意

max x b T x s . t . x T A x 1 0 \begin{aligned} \max_x &\quad b^Tx\\ {\rm s.t.} &\quad x^TAx-1\le0 \end{aligned}
( b T x ) 2 m o d    998244353 (b^Tx)^2\mod 998244353 .

A A n × n n\times n 对称矩阵, b , x R n b,x\in\mathbb{R}^n
n 200 , 0 A i , j , b i 1 0 9 n\le200,0\le|A_{i,j}|,|b_i|\le10^9
x R n /   { 0 } , x T A x > 0 \forall x\in\mathbb{R}^n/\ \{\boldsymbol0\},x^TAx>0
det ( A ) ≢ 0 ( m o d 998244353 ) \det(A)\not\equiv0\pmod{998244353}


题解

设兰格朗日函数 L ( x , λ ) = b T x + λ ( x T A x 1 ) \mathcal{L}(x,\lambda)=b^Tx+\lambda(x^TAx-1) ,根据向量求导法则,有
L x = b + λ ( A + A T ) x = b + 2 λ A x \frac{\partial\mathcal{L}}{\partial x}=b+\lambda(A+A^T)x=b+2\lambda Ax
L x = 0 \displaystyle\frac{\partial\mathcal{L}}{\partial x}=0 ,可得 x = A 1 b 2 λ \displaystyle x=-\frac{A^{-1}b}{2\lambda} 。由KKT条件 λ ( x T A x 1 ) = 0 , λ 0 \lambda(x^TAx-1)=0,\lambda\le0 。将 x x 带入得
λ [ ( A 1 b 2 λ ) T A ( A 1 b 2 λ ) 1 ] = 0 b T ( A 1 ) T A A 1 b = 4 λ 2 , ( A 1 ) T = A 1 λ = 1 2 b T A 1 b \begin{aligned} &\lambda[(-\frac{A^{-1}b}{2\lambda})^TA(-\frac{A^{-1}b}{2\lambda})-1]=0\\ \Rightarrow&\qquad b^T(A^{-1})^TAA^{-1}b=4\lambda^2,\quad (A^{-1})^T=A^{-1}\\ \Rightarrow&\qquad \lambda=-\frac12\sqrt{b^TA^{-1}b} \end{aligned}

b T x = b T ( A 1 b 2 λ ) = b T A 1 b b T A 1 b = b T A 1 b b^Tx=b^T(-\frac{A^{-1}b}{2\lambda})=-\frac{b^TA^{-1}b}{\sqrt{b^TA^{-1}b}}=\sqrt{b^TA^{-1}b}
最终的答案为 ( b T x ) 2 = b T A 1 b (b^Tx)^2=b^TA^{-1}b 。用高斯消元求出 A A 的逆再相乘即可。

单组数据时间复杂度 O ( n 3 ) O(n^3)

猜你喜欢

转载自blog.csdn.net/BeNoble_/article/details/107308240
今日推荐