这道题目数据有坑,白浪费一个小时!
题意:求\(\sum_{i=1}^n\sum_{j=1}^n{|i-j|+k \choose k}\)
知识点: 朱世杰恒等式,\(\sum_{i=r}^n{i \choose r}={n+1 \choose r+1},r<n\)
题解:首先去除式子中的绝对值,考虑对称性还有i=j时的重复,原式可转化为\(2\sum_{i=1}^n\sum_{j=i}^n{j-i+k \choose k}-n\)
对式子内部循环调用一遍朱世杰恒等式\(\sum_{j=i}^n{j-i+k \choose k}=\sum_{j=k}^{k+n-i}{j \choose k}={{k+n-i+1} \choose {k+1}}\) (对中间式子有疑惑的可自行展开)
再对外部循环调用一遍\(\sum_{i=1}^n{{k+n-i+1} \choose {k+1}}=\sum_{i=k+1}^{k+n}{i \choose {k+1}}={{k+n+1} \choose {k+2}}\)

福利:\(\sum_{i=m}^n{i \choose r}={n+1 \choose r+1}-{m \choose r+1}\)

#include<bits/stdc++.h>
#define rep(i,j,k) for(int i=j;i<=k;i++)
using namespace std;
typedef long long ll;
const ll mod = 1000000007;
const int maxn = 2e6+111;
ll jie[maxn],inv[maxn];
ll fpw(ll a,ll n){ll ans=1;while(n){if(n&1) ans=(ans*a)%mod;n>>=1; a=(a*a)%mod;}return ans;
}
ll C(ll n,ll k){ll up=jie[n];ll down=inv[k]*inv[n-k]%mod;return (up*down)%mod;
}
int main(){ll T; scanf("%lld",&T);jie[0]=inv[0]=1;rep(i,1,maxn-2) jie[i]=(jie[i-1]*i)%mod;rep(i,1,maxn-2) inv[i]=fpw(jie[i],mod-2);while(T--){ll n,k; scanf("%lld%lld",&n,&k);ll tmp=C(n+k+1,k+2);ll ans=((tmp*2)%mod-n+mod)%mod;printf("%lld\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/caturra/p/8454713.html

CodeChef - NWAYS 组合数 朱世杰恒等式相关推荐

  1. 排列组合的一些公式及推导(非常详细易懂)

    绪论:加法原理.乘法原理 分类计数原理:做一件事,有\(n\)类办法,在第\(1\)类办法中有\(m_1\)种不同的方法,在第\(2\)类办法中有\(m_2\)种不同的方法,-,在第\(n\)类办法中 ...

  2. 组合意义,排列组合基础

    组合原理 加法原理 用第一种方法可以写完这篇文章. 用第二种方法可以写完这篇文章. - 用第n种方法可以写完这篇文章. 想要写完文章,共有多少种方式呢? 显然是n种. 这表明,从状态x转移到状态y(从 ...

  3. 【组合数学】计数模型、常见组合数与组合恒等式 ★★

    文章目录 一.计数模型 二.常见的组合计数 一.计数模型 当前涉及到的计数模型 : 1 . 选取问题 : nnn 元集 SSS , 从 SSS 集合中选取 rrr 个元素 ; 根据 元素是否允许重复 ...

  4. 【组合数学】组合恒等式 ( 变上项求和 1 组合恒等式 | 三种组合恒等式证明方法总结 | 证明变上项求和 1 组合恒等式 )

    文章目录 一.组合恒等式 ( 变上项求和 1 ) 二.组合恒等式证明方法 ( 三种 ) 三.组合恒等式 ( 变上项求和 1 ) 证明 组合恒等式参考博客 : [组合数学]组合恒等式 ( 递推 组合恒等 ...

  5. 【组合数学】组合恒等式 ( 变下项求和 3 组合恒等式 | 变下项求和 4 组合恒等式 | 二项式定理 + 求导 证明组合恒等式 | 使用已知组合恒等式证明组合恒等式 )

    文章目录 一.组合恒等式 ( 变下项求和 ) 变系数求和 1 二.组合恒等式 ( 变下项求和 ) 变系数求和 1 证明 ( 二项式定理 + 求导 ) 三.组合恒等式 ( 变下项求和 ) 变系数求和 2 ...

  6. 【组合数学】组合恒等式 ( 递推 组合恒等式 | 变下项求和 组合恒等式 简单和 | 变下项求和 组合恒等式 交错和 )

    文章目录 一.组合恒等式 ( 递推式 ) 二.组合恒等式 ( 变下项求和 ) 简单和 二.组合恒等式 ( 变下项求和 ) 交错和 一.组合恒等式 ( 递推式 ) 组合恒等式 ( 递推式 ) : 1 . ...

  7. 组合恒等式7 组合变换的互逆公式 简介与简单例子

    组合恒等式7 组合变换的互逆公式 双重求和可以交换次序 互逆公式的证明 应用互逆公式证明组合恒等式 类似离散序列的Z变换,我们也可以定义以组合数为系数的组合变换,一个直观的例子是 bk=∑i=0k(− ...

  8. 组合恒等式3 母函数与形式幂级数的运算

    组合恒等式3 母函数与形式幂级数的运算 母函数与母函数方法 形式幂级数 范德蒙公式 前两讲介绍了一些用基本恒等式证明组合恒等式的技巧,但这些也仅仅只是技巧,在证明过程中的某一步能起到关键作用,不能提供 ...

  9. 组合恒等式2 五个基本的组合恒等式 更复杂的技巧与例题

    组合恒等式2 五个基本的组合恒等式 复杂的例题 使用两个数列的递推关系证明恒等式 证明相反数与自身相等以说明恒等式为0 组合数倒数的裂项 这一讲继续讨论用五个基本的组合恒等式证明组合恒等式的方法.先复 ...

最新文章

  1. Vue axios 上传图片
  2. Clojure入门教程: Clojure – Functional Programming for the JVM中文版
  3. 【原】winform高效导出Excel带格式设置
  4. cocoscreator editbox 只允许数字_用Cocos做一个数字调节框
  5. java 反射的弊端_java反射机制的一些学习心得小结
  6. 【Elasticsearch】Elasticsearch性能调优:千万不要做愚蠢的事
  7. Python中出现“TabError: inconsistent use of tabs and spaces in indentation”
  8. 程序员如何从0到1搭建自己的技术博客
  9. 微信的cookie 和 session
  10. 190513每日一句
  11. 单机安装DynamicsAX2012R3VM
  12. SEM和SEO的区别?哪个更好
  13. 为什么c语言运行比python快
  14. win7电脑蓝屏没有修复计算机,技术编辑教您win7电脑蓝屏怎么办
  15. 机房动力环境监测系统
  16. eclipse 使用 firebase analysis sdk
  17. 为什么现在很多人特别排斥用微信打电话
  18. RocketMQ源码解析-Broker部分之Broker启动过程
  19. 计算机专业写作与沟通大作业,四川电大5110047 计算机办公软件应用第1次形考作业答案...
  20. 键盘音效,使得敲代码更加给力

热门文章

  1. creator找不到编译器 qt_VS2017直接使用QT库创建程序
  2. Understanding Quaternions 中文翻译《理解四元数》
  3. 什么是机器学习:一次权威定义之旅
  4. javascript number转string不用科学计数法_[JavaScript]之数据类型篇
  5. 二叉树的最长的路径长度最大路径和
  6. [NOTE] XMLHttpRequest
  7. 为什么在mysql执行删除表中外键的语句,外键却仍然存在? [问题点数:40分]
  8. 小白视角看ros_openvino_toolkit
  9. Shell——从hello world和echo命令开始
  10. 野火Linux开发板接入华为云,Huawei_LiteOS——STM32F1移植(野火开发板)