题意:
给出序列 和序列
矩阵 是由 和 决定的
问你可以从中截取多少个面积为
显然可知的一个性质那就是当 序列 连续长度为 , 序列 连续长度为 , 时这个部分序列形成的矩阵肯定符合,我们只有枚举 中连续长度为 的因子, 中连续长度为
AC代码:
int n, m, k;
int res,cnt;
const int N = 4e4 + 5;
int a[N], b[N];
int c[100010];
int x, y;
int main()
{
sddd(n, m, k);
rep(i, 1, n)
sd(a[i]);
rep(i, 1, m)
sd(b[i]);
cnt = 0;
ll ans = 0;
for (int i = 1; i * i <= k; i++)
{
if (k % i == 0)
{
c[cnt++] = i;
if (i == k / i)
continue;
c[cnt++] = k / i;
}
}
rep(i, 0, cnt-1)
{
res = 0;
x = 0, y = 0;
rep(j, 1, n)
{
if (a[j] == 1)
res++;
else
res = 0;
if (res == c[i])
res--, x++;//res--是去掉头上的那一个
}
res = 0;
rep(j, 1, m)
{
if (b[j] == 1)
res++;
else
res = 0;
if (res == k / c[i])
res--, y++;
}
ans += x * y;
}
pld(ans);
return 0;
}