447 D
题意
\(n*m\) 的矩阵, \(k\) 次操作:
- 给每一行减掉 \(p\)
- 给每一列减掉 \(p\)
求操作后矩阵所有元素总和的最大可能值。(\(1 ≤ n, m ≤ 10^3; 1 ≤ k ≤ 10^6; 1 ≤ p ≤ 100\))
Examples
Input
2 2 2 2
1 3
2 4
Output
11
Input
2 2 5 2
1 3
2 4
Output
11
解
先预处理出①只操作行,且只操作 \(i\) 次②只操作列,且只操作 \(i\) 次( \(i\in [1,10^6]\) )
然后丢到priority_queue
贪心一波就行
447 E
题意
一个序列,两种操作
- 给区间 \([l,r]\) 的每个元素 \(a_i\) 依次加上 \(f_i\) ( \(f_i\) 为斐波那契数列第 \(i\) 项, \(f_1=f_2=1,f_3=2\) )
- 询问区间的和
\((1\le n\le 300000)\) , \(\% 10^9+9\)
Examples
Input
4 4
1 2 3 4
1 1 4
2 1 4
1 2 4
2 1 3
Output
17
12
解
(以下斐波那契数列为广义斐波那契数列)
\(f_i=f_{i-2}*f_1+f_{i-1}*f_2\)
\(\sum f_i=f_{i+2}-f_2\)
线段树