题意
xmaxs.t.bTxxTAx−1≤0
求
(bTx)2mod998244353.
A为
n×n的对称矩阵,
b,x∈Rn
n≤200,0≤∣Ai,j∣,∣bi∣≤109
∀x∈Rn/ {0},xTAx>0
det(A)≡0(mod998244353)
题解
设兰格朗日函数
L(x,λ)=bTx+λ(xTAx−1),根据向量求导法则,有
∂x∂L=b+λ(A+AT)x=b+2λAx
令
∂x∂L=0,可得
x=−2λA−1b。由KKT条件:
λ(xTAx−1)=0,λ≤0。将
x带入得
⇒⇒λ[(−2λA−1b)TA(−2λA−1b)−1]=0bT(A−1)TAA−1b=4λ2,(A−1)T=A−1λ=−21bTA−1b
故
bTx=bT(−2λA−1b)=−bTA−1b
bTA−1b=bTA−1b
最终的答案为
(bTx)2=bTA−1b。用高斯消元求出
A的逆再相乘即可。
单组数据时间复杂度
O(n3)