5358. 【NOIP2017提高A组模拟9.12】BBQ
来源:互联网 发布:项目管理分析软件 编辑:程序博客网 时间:2024/06/10 10:58
题目
题解
这一条式子其实就等价于
后面的一项显然可以暴力求,现在我们考虑前面的一段怎么求
考虑到任意一个C其实就等于是从(-ai,-bi)走到(aj,bj)的方案数,观察到a,b<=2000,所以我们可以设f(a,b)表示每一个(-ai,-bi)走到(a,b)的方案数的和,把每一个(-ai,bi)都挂一个1,然后直接dp即可
贴代码
#include<iostream>#include<algorithm>#include<cmath>#include<cstring>#include<cstdio>#define fo(i,a,b) for(i=a;i<=b;i++)#define c 2001#define md 1000000007#define ll long longusing namespace std;const int maxn=2005,maxm=2e5+5;ll a[maxm],b[maxm],f[maxn*2][maxn*2];ll p[maxn*4];ll i,j,k,l,m,n,x,y,z;ll quickmi(ll x,ll y){ ll t1=1; while (y){ if ((y & 1)==1) t1=(t1*x)%md; x=(x*x)%md; y=y/2; } return t1;}int main(){ freopen("a.in","r",stdin); freopen("a.out","w",stdout); scanf("%lld",&n); fo(i,1,n){ scanf("%lld%lld",&a[i],&b[i]); f[c-a[i]][c-b[i]]++; } fo(i,1,c*2) fo(j,1,c*2) f[i][j]=(f[i][j]+f[i][j-1]+f[i-1][j])%md; fo(i,1,n) z=(z+f[c+a[i]][c+b[i]])%md; p[0]=p[1]=1; fo(i,2,c*4) p[i]=(p[i-1]*i)%md; fo(i,1,n){ y=(p[a[i]+a[i]]*p[b[i]+b[i]])%md; x=(p[a[i]+a[i]+b[i]+b[i]]*quickmi(y,md-2))%md; z=(md+z-x)%md; } z=(z*quickmi(2,md-2))%md; printf("%lld",z); return 0;}
阅读全文
0 0
- 5358. 【NOIP2017提高A组模拟9.12】BBQ
- JZOJ5358. 【NOIP2017提高A组模拟9.12】BBQ
- [JZOJ5358]【NOIP2017提高A组模拟9.12】BBQ
- JZOJ5358. 【NOIP2017提高A组模拟9.12】BBQ
- 【JZOJ 5358】【NOIP2017提高A组模拟9.12】BBQ
- JZOJ5358【NOIP2017提高A组模拟9.12】BBQ
- 【jzoj5358】【NOIP2017提高A组模拟9.12】【BBQ】
- 【jzoj5360】【NOIP2017提高A组模拟9.12】【Shorten Diameter】
- 【jzoj5359】【NOIP2017提高A组模拟9.12】【Arrays and Palindrome】
- JZOJ5360. 【NOIP2017提高A组模拟9.12】Shorten Diameter
- 【NOIP2017提高A组模拟9.12】Shorten Diameter
- A【NOIP2017提高组模拟12.18】
- 【JZOJ4928】【NOIP2017提高组模拟12.18】A
- 【NOIP2017提高组模拟12.18】A
- 【JZOJ4928】【NOIP2017提高组模拟12.18】A
- 【NOIP2017提高A组模拟7.7】图
- 【NOIP2017提高A组模拟7.13】abcd
- 区间【NOIP2017提高A组模拟7.10】
- 运行Bundle时org.osgi.framework.BundleException
- 【MySQL】Windows系统下安装MySQL 5.7.17(安装包方式)
- 1 计算机网络和因特网
- Spring依赖注入的详细理解
- HDU 5050 二进制大数GCD
- 5358. 【NOIP2017提高A组模拟9.12】BBQ
- Tuxera ntfs for mac注册码_激活码_产品秘钥_破解版
- C#中数组、ArrayList和List三者的区别
- 常见激活函数(sigmoid/logistic/tanh/softmax/ReLU关系解释)
- WebAssembly,Web的新时代
- Guava
- 学习angularjs 有浅到深 (1)
- cmake编译安装OpenCV
- linux下安装mysql的方法