[AGC001 E] BBQ Hard】的更多相关文章

题目链接 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…
Description 有\(N(N\leq 200000)\)个数对\((a_i,b_i)(a_i,b_i,\leq 2000)\),求出\(\sum\limits_{i=1}^n\sum\limits_{j=i+1}^nC_{a_i+b_i+a_j+b_j}^{a_i+a_j}\) 答案对\(10^9+7\)取模 Solution 首先考虑\(C(n,m)\)的组合意义:在笛卡尔坐标系下只能向上和向右走,从原点走到\((m,n-m)\)的路径总数. 所以这个\(C_{a_i+b_i+a_j+…
首先直接按要求列出式子是\( \sum_{i=1}^{n}\sum_{j=i+1}^{n}C_{a_i+a_j+b_i+b_j}^{a_i+a_j} \) 这样显然过不了,因为ab的数据范围比较小,所以从这里入手,注意到后面的组合数含义是从点(ai,bi)走到点(-aj,-bj)的方案数 把但是j从i+1开始不好做,就容斥一下,把式子变成\( \sum_{i=1}^{n}\sum_{j=1}^{n}C_{a_i+a_j+b_i+b_j}^{a_i+a_j}-\sum_{i=1}^{n}C_{a_…
这题就是要求 \(\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+a_j)\)的意义等同于从 \((-a_j,-b_j)\) 走到 \((a_i,b_i)\)的方案数 因而 \(其他的走到(a_i,b_i)\)的步数就等于所有的加起来走到\((a_i,b_i)\) 然后就可以了 考虑多余的部分 \(\sum_{i=1}^{n} \sum_{j=i+1}^{n} C…
AGC001 A - BBQ Easy 从第\(2n - 1\)个隔一个加一下加到1即可 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space putchar(' ') #define enter putchar('\n') #define eps 1e-…
AGC001 A BBQ Easy 贪心. https://agc001.contest.atcoder.jp/submissions/7856034 B Mysterious Light 很nb这个题 不好做,设\(f(a,b)\)表示边长为\(a,b\),一个角为\(60\)度的平行四边形从\(120\)度的角平分线处出发能走的路程,转移是一个递归,复杂度证明类似\(\gcd\). https://agc001.contest.atcoder.jp/submissions/7856746 C…
这个帖子,是在自己学知识点累了的时候就看看\(AGC\)的题目来休息. 而且白天上课可以做( AGC-001 \(A\ BBQ Easy\) 考虑从小到大排,相邻两个取为一对. BBQ Easy #include<iostream> #include<cstdio> #include<algorithm> #define ll long long #define N 100000 ll n; ll num[N],ans; int main(){ scanf("…
A没意思 F太难 所以大概近期的AGC题解都是BCDE的 然后特殊情况再说 开始刷AGC的原因就是计数太差 没有脑子 好几个学长都推荐的AGC所以就开始刷了 = = 大概两天三篇的速度?[可能也就最开始几天能有这个速度= =] 好了不多说了 开始题解 ————————我是分割线———————— B - Mysterious Light 比较有趣 画几个图就发现每次去掉两条就是平行四边形 除了第一次的两条不一样长以外 其他的都还是一样长的 然后就得到了一个类欧几里得的算法 那么把减法变成取模就搞定…
目录 题目链接 题解 代码 题目链接 AGC01 A - BBQ Easy 题解 贪心 排序之后从大到小,没两组取小的那个 代码 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; int a[207]; int main() { int ans = 0; int n; cin >> n; for(int i = 1;i <= n << 1…
[agc001e]BBQ HARD(动态规划) 题面 atcoder 洛谷 题解 这些agc都是写的整场的题解,现在还是把其中一些题目单独拿出来发 这题可以说非常妙了. 我们可以把这个值看做在网格图上的一点\((-a[i],-b[i])\)走到\((a[j],b[j])\)的方案数. 而网格图走的方案数可以直接递推得到. 那么我们对于每个点把它的坐标取反到第三象限,然后对于整个坐标系计算走到每一个格子的总方案. 把所有\((a[i],b[i])\)的答案累加,再减去自己到自己的方案数,最后除二就…