Description:
求∑ni=1∑nj=1,j!=iC(ai+aj+bi+bj,ai+aj)∑i=1n∑j=1,j!=inC(ai+aj+bi+bj,ai+aj)\sum_{i=1}^{n}\sum_{j=1,j!=i}^{n}{C(a_i+a_j+b_i+b_j, a_i+a_j)}


Solution:
这个式子很像网格图中的路径方案数,等于从(−ai,−bi)(−ai,−bi)(-a_i,-b_i)走到(aj,bj)(aj,bj)(a_j,b_j)的方案数
那么答案就是所有(ai,aj)(ai,aj)(a_i,a_j)为终点的方案数,把所有起点dpdpdp值赋为111,dp" role="presentation" style="position: relative;">dpdpdp一下即可。


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int base = 2001, maxn = 4005, P = 1e9 + 7;
int n;
ll ans;
int a[200005], b[200005];
ll dp[maxn][maxn], inv[maxn * 2], facinv[maxn * 2], fac[maxn * 2];
ll C(int n, int m) {return fac[n] * facinv[m] % P * facinv[n - m] % P;
}
int main() {scanf("%d", &n);for(int i = 1; i <= n; ++i) {scanf("%d%d", &a[i], &b[i]);++dp[-a[i] + base][-b[i] + base];}for(int i = 1; i < maxn; ++i) {for(int j = 1; j < maxn; ++j) {dp[i][j] = (dp[i][j] + dp[i - 1][j] + dp[i][j - 1]) % P;}}for(int i = 1; i <= n; ++i) {ans = (ans + dp[a[i] + base][b[i] + base]) % P;}fac[0] = fac[1] = inv[0] = inv[1] = facinv[0] = facinv[1] = 1;for(int i = 2; i < 2 * maxn; ++i) {inv[i] = (P - P / i) * inv[P % i] % P;facinv[i] = facinv[i - 1] * inv[i] % P;fac[i] = fac[i - 1] * i % P;}for(int i = 1; i <= n; ++i) {ans = ((ans - C(2 * a[i] + 2 * b[i], 2 * a[i])) % P + P) % P;}printf("%lld\n", ans * inv[2] % P);return 0;
}

AGC001E BBQ Hard [dp]相关推荐

  1. AtCoder AGC001E BBQ Hard (DP、组合计数)

    题目链接: https://atcoder.jp/contests/agc001/tasks/agc001_e 题解: 求\(\sum^n_{i=1}\sum^n_{j=i+1} {A_i+A_j+B ...

  2. AoCoder 1983 [AGC001E] BBQ Hard(组合数+dp)

    problem 洛谷链接 solution ∑i=1n∑j=i+1n(ai+bi+aj+bjai+aj)=∑i=1n∑j=1n(ai+bi+aj+bjai+aj)−∑i=1n(2(ai+bi)2ai) ...

  3. [AGC001E]BBQ Hard

    BBQ Hard 题解 首先,我们可以考虑组合数是可以被表示成路径的形式的,(n+mm)\binom{n+m}{m}(mn+m​)可以表示从点(0,0)(0,0)(0,0)到点(n,m)(n,m)(n ...

  4. BBQ Hard dp + 组合数学 + 建模

    传送门 文章目录 题意: 思路: 题意: 有nnn组物品,每组有aia_iai​个肉和bib_ibi​个菜,你可以选择两组物品让后将肉和菜其串在一根串上,问有多少种不同的串法. 两种方法不同当且仅当选 ...

  5. AT1983 [AGC001E] BBQ Hard

    這遍題解需要用到逆元,學習這個新知識用了兩三個小時. 非常有意思的一道題,可以幫助自己拓展思維. 首先,我們可以想像組合數的幾何意義. 組合數 從n + m 中選 n 個的組合數就是從(0,0)走到( ...

  6. agc001E BBQ Hard

    题目链接 https://agc001.contest.atcoder.jp/tasks/agc001_e 题意简述 有nnn个烧烤包,每个烧烤包里面有一根棍子,AiA_iAi​块牛肉,BiB_iBi ...

  7. AGC001E BBQ Hard 组合计数

    题目链接 题目大概要求的就是∑i=1n∑j=i+1nC(ai+aj+bi+bj,ai+aj)∑i=1n∑j=i+1nC(ai+aj+bi+bj,ai+aj)\displaystyle\sum_{i = ...

  8. 【AGC001E】BBQ Hard(图论,dp)

    题意:求 ∑i=1n∑j=1i−1(Ai+Aj+Bi+BjAi+Aj)\sum\limits_{i=1}^n\sum\limits_{j=1}^{i-1}\dbinom{A_i+A_j+B_i+B_j ...

  9. AT1983-[AGC001E]BBQ Hard【dp,组合数学】

    正题 题目链接:https://www.luogu.com.cn/problem/AT1983 题目大意 给出nnn个数对(ai,bi)(a_i,b_i)(ai​,bi​) 求 ∑i=1n∑j=i+1 ...

最新文章

  1. Java Math 类中的新功能--浮点数
  2. Linux下window转unix文件格式
  3. form表单获取多选的值
  4. java nio ssl_java连接MQTT+SSL服务器
  5. 离奇的xenapp客户端无法加载应用故障解决过程 ...
  6. python一个函数调用另一个函数的返回值_在python函数中使用True,False和None作为返回值...
  7. 小程序日历插件的使用
  8. 嵌入式Linux系统编程学习之十八进程间通信(IPC)简介
  9. java开发sublime插件_开发者最常用的8款Sublime text 3插件
  10. C/C++编程:普通、标准布局、POD和文本类型
  11. 购物是女人的天堂,男人的地狱,不了解清楚万一以后被坑了,男人躲哪里后悔去,做这样一个web购物网站,买了货死活回不来,让双十一的女人们过过瘾
  12. ico的尺寸_Favicon.ico浏览器图标文件制作和正确使用
  13. css背景图片高斯模糊_CSS3 filter(滤镜) 制作图片高斯模糊无需JS
  14. 2020年9月指数定期审核与调整 | TokenInsight
  15. Jquery获取与设置属性
  16. WiFi beacon时槽
  17. outlook反复出现验证
  18. Adams调用cffsub求解动力学仿真过程中的摩擦力
  19. oracle10安装注意事项,科学网—Asianux server 3.0下安装oracle 10.2注意事项 - 谢安涛的博文...
  20. 数据挖掘之条件概率和朴素贝叶斯分类器

热门文章

  1. 自研还是采购BI系统?后悔知道得太晚!
  2. 【支付FM】个人免签-微信支付宝云闪付 个人二维码收款即时到账
  3. oracle 创建 em
  4. win mac 双系统 opencore 硬盘引导_一分钟组装Win+Mac通用移动固态硬盘,千万别忽略这个细节...
  5. 模式识别分类器评价指标之DET曲线
  6. d3力导向图增加节点_d3.js力导向图节点如何都显示在边框内
  7. Matlab中使用psychtoolbox编写刺激界面
  8. html获取页面点击事件吗,jquery 获取页面点击事件 $(body).click()
  9. 输入框只允许输入数字字母下划线
  10. Exp7 网络欺诈防范 Week10 - 20165201