AGC001 E - BBQ Hard 组合数学
题目链接
题解
考虑\(C(n+m,n)\)的组合意义
从\((0,0)\)走到\((n,m)\)的方案数
从\((x,y)\)走到\((x+n,y+m)\)的方案数
考虑\(C(a_i+b_i+a_j+b_j,a_i+b_i)\)的组合意义
从\((0,0)\)走到\((a_i+a_j,b_i+b_j)\)的方案数
从\((-a_i,-b_i)\)走到\((a_j,b_j)\)的方案数
考虑计算任意\((-a_i,-b_i)\)到任意\((a_i,b_i)\)的方案数
减去从自己到自己的就好了
代码
#include<cstdio>
#include<algorithm>
#include<cstring>
#define gc getchar()
#define pc putchar
inline int read() {
int x = 0,f = 1;
char c = gc;
while(c < '0' || c > '9') c = gc;
while(c <= '9' && c >= '0') x = x * 10 + c - '0',c = gc;
return x * f ;
}
void print(int x) {
if(x >= 10 ) print(x / 10);
pc(x % 10 + '0');
}
int n;
const int mod = 1e9 + 7;
inline int fstpow(int x,int k ){
int ret = 1;
for(;k;k >>= 1,x = 1ll * x * x % mod)
if(k & 1) ret = 1ll * ret * x % mod;
return ret;
}
const int maxn = 25001;
int a[200006],b[200007];
int jc[(maxn << 2)],inv[(maxn << 2) + 7];
inline int C(int x,int y) {
return 1ll * jc[x] * inv[y] % mod * inv[x - y]% mod;
}
int main() {
n = read();
int ans = 0;
for(int i = 1;i <= n;++ i) {
a[i] = read(),b[i] = read();
}
for(int i = 1;i < (maxn << 1);++ i)
for(int j = 1;j <= (maxn << 1);++ j)
for(int i = 1;i <= n;++ i) {
}
jc[0] = jc[1] = 1;
for(int i = 2;i < (maxn << 2); ++ i) jc[i] = 1ll * jc[i - 1] * i % mod;
inv[(maxn << 2) - 1] = fstpow(jc[(maxn << 2) - 1],mod - 2);
print(fstpow(jc[500000],mod - 2));
for(int i = (maxn << 2) - 2;i;-- i) inv[i] = 1ll * inv[i + 1] * (i + 1) % mod;
for(int i = 1;i <= n;++ i) {
ans = ((ans - C(a[i] * 2 + b[i] * 2,a[i] * 2)) % mod + mod) % mod;
}
ans = (1ll * 500000004 * ans) % mod;
print(ans);
return 0;
}
AGC001 E - BBQ Hard 组合数学的更多相关文章
- AGC001 E - BBQ Hard【dp+组合数学】
首先直接按要求列出式子是\( \sum_{i=1}^{n}\sum_{j=i+1}^{n}C_{a_i+a_j+b_i+b_j}^{a_i+a_j} \) 这样显然过不了,因为ab的数据范围比较小,所 ...
- [AGC001 E] BBQ Hard
Description 有\(N(N\leq 200000)\)个数对\((a_i,b_i)(a_i,b_i,\leq 2000)\),求出\(\sum\limits_{i=1}^n\sum\limi ...
- [AGC001E]BBQ Hard 组合数学
题目描述 Snuke is having another barbeque party. This time, he will make one serving of Skewer Meal. He ...
- AGC001 E - BBQ Hard [组合数]
这题就是要求 \(\sum_{i=1}^{n} \sum_{j=i+1}^{n} C(a_i+a_j+b_i+b_j,a_i+a_j)\) 考虑搞一搞,\(C(a_i+a_j+b_i+b_j,a_i+ ...
- 【AtCoder】AGC001
AGC001 A - BBQ Easy 从第\(2n - 1\)个隔一个加一下加到1即可 #include <bits/stdc++.h> #define fi first #define ...
- atcoder题目合集(持续更新中)
Choosing Points 数学 Integers on a Tree 构造 Leftmost Ball 计数dp+组合数学 Painting Graphs with AtCoDeer tarja ...
- A*G#C001
AGC001 A BBQ Easy 贪心. https://agc001.contest.atcoder.jp/submissions/7856034 B Mysterious Light 很nb这个 ...
- 【AGC板刷记录】
这个帖子,是在自己学知识点累了的时候就看看\(AGC\)的题目来休息. 而且白天上课可以做( AGC-001 \(A\ BBQ Easy\) 考虑从小到大排,相邻两个取为一对. BBQ Easy #i ...
- AT1983-[AGC001E]BBQ Hard【dp,组合数学】
正题 题目链接:https://www.luogu.com.cn/problem/AT1983 题目大意 给出\(n\)个数对\((a_i,b_i)\) 求 \[\sum_{i=1}^n\sum_{j ...
随机推荐
- 【Mysql sql inject】【入门篇】sqli-labs使用 part 4【18-20】
这几关的注入点产生位置大多在HTTP头位置处 常见的HTTP注入点产生位置为[Referer].[X-Forwarded-For].[Cookie].[X-Real-IP].[Accept-Langu ...
- python 内置函数总结(大部分)
python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是pytho ...
- 关于MySQL 8.0的几个重点【转】
转自 关于MySQL .0的几个重点,都在这里 https://mp.weixin.qq.com/s/QUpk9uuS2JTli1GT6HuORA 一.关于MySQL Server的改进 1.1 re ...
- python创建系统用户和用户组
#coding=utf8 import pwd import grp import sys from _utils.patrol2 import run_cmd info=None try: info ...
- Oracle数据库修改LISTENER的监听端口
背景 这又是个不作不会死的事情,自己不懂,硬搞,端口换了,后来竟然捣鼓好了.尽量少搞这些事情. 注意点 http://wallimn.iteye.com/blog/1163614 修改配置文件后,需修 ...
- CentOs 6.6里kdump启动失败的原因
在VMware中新安装了CentOs 6.6,重启系统发现kdump服务启动失败 先来说一下,什么是kdump kdump 是一种先进的基于 kexec 的内核崩溃转储机制.当系统崩溃时,kdump ...
- android margin--负的margin的使用
通常情况下,如果我们想要两个控件实现重叠的效果,一般都是使用FrameLayout 或者RelativeLayout布局.其实,如果设置两个控件的margin值为负数,也能实显控件重叠的效果. 先展示 ...
- selenium webdriver+python基本操作
# -*- coding:utf-8 -*-#导入模块from selenium import webdriver from selenium.common.exceptions import NoS ...
- 大坑啊oracle的隐式转换
(25)禁止使用属性隐式转换 解读:SELECT uid FROM t_user WHERE phone=13812345678 会导致全表扫描,而不能命中phone索引,猜猜为什么?(这个线上问题不 ...
- P3660 【[USACO17FEB]Why Did the Cow Cross the Road III G】
题外话:维护区间交集子集的小套路 开两个树状数组,一个维护进入区间,一个维护退出区间 $Query:$ 给定询问区间$l,r$和一些其他区间,求其他区间中与$[l,r]$交集非空的区间个数 用上面维护 ...