atcoder#ARC059C. [ARC059E] キャンディーとN人の子供

[ARC059E] キャンディーとN人の子供

题目描述

競プロ幼稚園には1 1 N N の番号がついたN N 人の子供がいます。えび先生は、区別できないC C 個のキャンディーを子供たちに分配することにしました。子供i i はしゃぎ度xi x_i の時、キャンディーをa a 個もらうと子供i i うれしさxia x_i^a になります。幼稚園の活発度N N 人の子供たちのうれしさになります。各子供にキャンディーを非負整数個配ってC個配りきる方法それぞれに対して幼稚園の活発度を計算して、その総和を子供たちのはしゃぎ度x1 x_1 ,..,xN x_N の関数とみてf(x1,..,xN) f(x_1,..,x_N) とおきます。Ai,Bi (1iN) A_i,B_i\ (1≦i≦N) が与えられるので、 109+7 10^9+7 で割ったあまりを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N C C A1 A_1 A2 A_2 ... AN A_N B1 B_1 B2 B_2 ... BN B_N

输出格式

の値を109+7 10^9+7 で割ったあまりを出力せよ。

题目大意

题目描述

AtCoder幼儿园里有N个小朋友,编号1~N,Evi先生要把C颗糖果分给他们。

小朋友可以得到任意多颗糖果,如果第ii个小朋友,得到了aa颗糖,他会得到xiax_i^a的愉悦度,xix_i是第ii个小朋友的兴奋度。幼儿园活跃指数定义为NN个小朋友愉悦度的乘积。

f(x1,x2,...,xN)f(x_1,x_2,...,x_N)表示所有分糖果的方案对应的幼儿园活跃指数的和。

现在给出Ai,Bi(1<=i<=N)A_i,B_i(1<=i<=N),要求 $\sum_{x_1=A_1}^{B_1} \sum_{x_2=A_2}^{B_2} ... \sum_{x_N=A_N}^{B_N} f(x_1,x_2,...,x_N)$,对1000000007取模。

输入格式

N,C

A1,A2,...,ANA_1,A_2,...,A_N

B1,B2,...,BNB_1,B_2,...,B_N

输出格式

一行一个整数表示答案

翻译提供者:XHRlyb_2001

2 3
1 1
1 1
4
1 2
1
3
14
2 3
1 1
2 2
66
4 8
3 1 4 1
3 1 4 1
421749
3 100
7 6 5
9 9 9
139123417

提示

制約

  • 1N400 1≦N≦400
  • 1C400 1≦C≦400
  • 1AiBi400 (1iN) 1≦A_i≦B_i≦400\ (1≦i≦N)

部分点

  • Ai=Bi (1iN) A_i=B_i\ (1≦i≦N) を満たすデータセットに正解した場合は、部分点として400 400 点が与えられる。

Sample Explanation 1

Ai=Bi A_i=B_i なので部分点の条件を満たします。 子供1 1 ,2 2 の*はしゃぎ度*が共に1 1 のもの(f(1,1) f(1,1) )を考えればよく、この時、 - 子供1 1 0 0 個,子供2 2 3 3 個のキャンディーをあげると、*幼稚園の活発度*は1013=1 1^0*1^3=1 - 子供1 1 1 1 個,子供2 2 2 2 個のキャンディーをあげると、*幼稚園の活発度*は1112=1 1^1*1^2=1 - 子供1 1 2 2 個,子供2 2 1 1 個のキャンディーをあげると、*幼稚園の活発度*は1211=1 1^2*1^1=1 - 子供1 1 3 3 個,子供2 2 0 0 個のキャンディーをあげると、*幼稚園の活発度*は1310=1 1^3*1^0=1 従ってf(1,1)=1+1+1+1=4 f(1,1)=1+1+1+1=4 となり、f f を足し合わせた答えは4 4 です。

Sample Explanation 2

子供が一人なので、子供1 1 の*うれしさ*が*幼稚園の活発度*になります。また、キャンディの配り方は2つとも子供1 1 にあげる1 1 通りしかないため、この時の*幼稚園の活発度*はf f の値に等しくなります。 - 子供1 1 の*はしゃぎ度*が1 1 の時、f(1)=12=1 f(1)=1^2=1 - 子供1 1 の*はしゃぎ度*が2 2 の時、f(2)=22=4 f(2)=2^2=4 - 子供1 1 の*はしゃぎ度*が3 3 の時、f(3)=32=9 f(3)=3^2=9 従って答えは1+4+9=14 1+4+9=14 となります。

Sample Explanation 3

$ f(1,1)=4\ ,\ f(1,2)=15\ ,\ f(2,1)=15\ ,\ f(2,2)=32 $ となることがわかるので、答えは4+15+15+32=66 4+15+15+32=66 になります。

Sample Explanation 4

部分点の条件を満たします。