T4--求求求求(1s/512M)
题目描述
给定矩阵
Cn×n,求:
fk=i=1∑n−k+1j=1∑n−k+1(i≤x≤i+k−1maxj≤y≤j+k−1maxCx,y)
即
fk 是所有大小为
k×k 的子矩阵中元素最大值之和,但是数据忘记造
k 了,所以请你对于
1≤k≤n 求出每个整数
k 的
fk。而且矩阵太大了,输入在时限内完成不了,所以只给你两个正整数数列
A1⋯n,B1⋯n,你需要自己生成矩阵
C,其中对于
1≤x,y≤n,
Cx,y=Ax×By+x×By+Ax×y+x×y。
输入格式
第一行一个整数
n,第二行
n 个整数
A1⋯n,第三行
n 个整数
B1⋯n。
输出格式
一行
n 个整数,第
k 个整数表示
fk 对
109+7 取模后的值。
样例
由于原题没有样例,所以自己造了一组
CPP6
1 1 4 5 1 4
1 9 1 9 8 1
CPP1850 2318 1750 1092 494 130
数据范围
对于
30% 的数据,
n≤50;
对于
50% 的数据,
n≤3×103;
对于
100% 的数据,
1≤n≤105,
1≤Ai,Bi≤109。