题目描述

输入

输出

样例输入

4 3 5

4 1 7 3

4 7 4 8

样例输出

59716

数据范围

解法

40%暴力即可;

60%依然暴力;

100%依次计算第一行和第一列对答案的贡献即可:

可以知道f[i][j]对答案的贡献=a^(n-i)*b^(n-j)*C(n-i+n-j,n-j)

然后利用逆元计算组合数,快速幂快速算出答案即可。

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define ll long long
#define sqr(x) ((x)*(x))
#define ln(x,y) ll(log(x)/log(y))
using namespace std;
const char* fin="aP1.in";
const char* fout="aP1.out";
const ll inf=0x7fffffff;
const ll maxn=100007;
const ll mo=1000000007;
ll n,m1,m2,i,j,k;
ll ans,f[maxn*2];
ll qpower(ll a,ll b){
ll c=1;
while (b){
if (b%2) c=(c*a)%mo;
a=(a*a)%mo;
b/=2;
}
return c;
}
ll niyuan(ll a){
return qpower(a,mo-2);
}
ll c(ll a,ll b){
return f[a]*niyuan(f[b])%mo*niyuan(f[a-b])%mo;
}
int main(){
scanf("%d%d%d",&n,&m1,&m2);
f[0]=1;
for (i=1;i<=n*2;i++) f[i]=f[i-1]*i%mo;
for (i=1;i<=n;i++) {
scanf("%d",&j);
if (i>1) ans=(ans+qpower(m1,n-1)*qpower(m2,n-i)%mo*j%mo*c(n-2+n-i,n-2))%mo;
}
for (i=1;i<=n;i++) {
scanf("%d",&j);
if (i>1) ans=(ans+qpower(m1,n-i)*qpower(m2,n-1)%mo*j%mo*c(n-2+n-i,n-2))%mo;
}
printf("%lld",ans);
return 0;
}

最新文章

  1. 运行Shell脚本的几种方式解析
  2. 10天学会phpWeChat——第一天:核心框架的目录结构
  3. unity, 按类型查找文件
  4. oracle忘记sys/system/scott用户密码了,如何重置oracle密码?
  5. HTML标签_01
  6. C#值类型以及默认值记录下
  7. 一种协程的 C/C++ 实现
  8. windowIsTranlucent 属性
  9. poj 1273 Drainage Ditches_最大流模版
  10. 携带cookie的跨域访问
  11. Learning-Python【4】:Python流程控制与循环
  12. HIkari线程池调优
  13. C# Bitmap长宽参数构造的图片对象的每个像素ARGB都是0
  14. ActiveMQ队列特性:删除不活动的队列(Delete Inactive Destinations)
  15. ZetCode PyQt4 tutorial Dialogs
  16. java基础需要掌握的内容
  17. s:iterator巧妙控制跳出循环
  18. 转:sock_ev——linux平台socket事件框架(基于字节流的测试程序) .
  19. db缓存设计
  20. 小程序内嵌H5——判断小程序环境的坑

热门文章

  1. Could not resolve placeholder &#39;CUST_INDUSTORY&#39; in string value &quot;${CUST_INDUSTORY}&quot;
  2. activiti 连线
  3. [JLOI2015]战争调度【暴力+树形Dp】
  4. Leetcode139. Word Break单词拆分
  5. UOJ261 【NOIP2016】天天爱跑步 LCA+动态开点线段树
  6. javascript 的原始数据类型
  7. axios post请求后台接收不到参数 和 一些配置问题
  8. PAT甲级——A1027 Colors in Mars
  9. [转载] OpenCV2.4.3 CheatSheet学习(三)
  10. Python之通配符--提取文件中的内容并输出