CF2190G Maximize Determinant
Description
An $ n \times n $ matrix $ B $ is called an interval matrix if for each row $ i $ , there exists a contiguous range of columns $ [l_i, r_i] $ ( $ 1 \le l_i \le r_i \le n $ ) filled with ones, while all other elements in the row are zero. Formally, $ B_{i, j} = 1 $ if $ l_i \le j \le r_i $ , and $ B_{i, j} = 0 $ otherwise.
You are given an integer $ n $ and an initial interval matrix $ A $ , described by $ n $ triples $ (l_i, r_i, a_i) $ . The $ i $ -th row of $ A $ corresponds to the interval $ [l_i, r_i] $ , and $ a_i $ is the cost associated with modifying this row.
Let $ \mathcal{S} $ be the set of all possible $ n \times n $ interval matrices. We define $ X $ as the maximum possible [determinant](https://en.wikipedia.org/wiki/Determinant) among them:
$$
X = \max\limits_{B \in \mathcal{S}} \operatorname{det}(B).
$$
(Note that $ |\mathcal{S}| = \left(\frac{n(n + 1)}{2}\right)^n $ , as each row can be any valid interval)
Your goal is to transform $ A $ into a matrix $ A' $ such that $ \operatorname{det}(A') = X $ . To achieve this, you can perform the following operation any number of times:
- Choose a row index $ i $ ( $ 1 \le i \le n $ ) and a new valid interval $ [L, R] $ ( $ 1 \le L \le R \le n $ ).
- Replace the current interval of the $ i $ -th row with $ [L, R] $ .
- The cost of this operation is $ a_i $ .
Find the minimum total cost required to make the determinant of the matrix equal to $ X $ .
Input Format
Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 5 \cdot 10^4 $ ). The description of the test cases follows.
The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 10^6 $ ) — the size of the matrix.
The next $ n $ lines describe the rows of the matrix $ A $ . The $ i $ -th of these lines contains three integers $ l_i $ , $ r_i $ , and $ a_i $ ( $ 1 \le l_i \le r_i \le n $ , $ 1 \le a_i \le 10^9 $ ) — the interval boundaries and the cost of modifying the $ i $ -th row.
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 10^6 $ .
Output Format
For each test case, print a single integer — the minimum total cost required to make $ \operatorname{det}(A) = X $ .
Explanation/Hint
In the first example, $ n = 2 $ and it can be shown that $ X = 1 $ . The matrix is $ A = \begin{bmatrix} 1 & 0\\0 & 1\end{bmatrix} $ . Since $ \operatorname{det}(A) = 1 $ , no operations are needed.
In the second example, $ X $ is still $ 1 $ , but the matrix is $ A = \begin{bmatrix} 0 & 1\\1 & 0\end{bmatrix} $ . The determinant is $ -1 $ , so we must transform the matrix.
It can be proven that it is impossible to reach a determinant of $ 1 $ with a single operation. Therefore, we must modify both rows. One possible sequence of operations is:
$$$
\begin{bmatrix} 0 & 1\\1 & 0\end{bmatrix} \xrightarrow{i = 2, \, L = 2, \, R = 2} \begin{bmatrix} 0 & 1\\0 & 1\end{bmatrix} \xrightarrow{i = 1, \, L = 1, \, R = 2} \begin{bmatrix} 1 & 1\\0 & 1\end{bmatrix}
$$$
The final matrix has a determinant of $ 1 $ . The total cost is $ a_2 + a_1 = 1 + 1 = 2 $ , which is the answer.