Codeforces 447

447 D

题意

\(n*m\) 的矩阵, \(k\) 次操作:

  1. 给每一行减掉 \(p\)
  2. 给每一列减掉 \(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

题意

一个序列,两种操作

  1. 给区间 \([l,r]\) 的每个元素 \(a_i\) 依次加上 \(f_i\) ( \(f_i\) 为斐波那契数列第 \(i\) 项, \(f_1=f_2=1,f_3=2\) )
  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\)
线段树

猜你喜欢

转载自www.cnblogs.com/BlogOfchc1234567890/p/10366276.html