「BZOJ3996」[TJOI2015] 线性代数

2015年4月22日5,9800

Description

给出一个N*N的矩阵B和一个1*N的矩阵C。求出一个1*N的01矩阵A.使得

D=(A*B-C)*A^T最大。其中A^T为A的转置。输出D

Input

第一行输入一个整数N,接下来N行输入B矩阵,第i行第J个数字代表Bij.
接下来一行输入N个整数,代表矩阵C。矩阵B和矩阵C中每个数字都是不超过1000的非负整数。

Output

输出最大的D

Sample Input

3
1 2 1
3 1 0
1 2 3
2 3 7

Sample Output

2

HINT

 1<=N<=500

题解

倒腾下式子发现是

\(\sum_{i=1}^n \sum_{j=1}^n B_{ij} \times A_i \times A_j – \sum_{i=1}^n A_i \times C_i \)

经典最小割建模

 

avatar
  Subscribe  
提醒