【BZOJ】4403 序列统计 Lucas
来源:互联网 发布:淘宝如何网购 编辑:程序博客网 时间:2024/05/26 22:08
题目传送门
这个公式推的好巧妙啊,我的公式恐惧症又犯了……
借鉴了别的大佬的博客,发现这种求单调不降序列的数量的题目可以把数列里的每一位都加上对应的
对于这题来说,经过上面的转化,问题转化为求
根据组合数的性质,我们知道
那么我们定义(表演开始):
把
以此类推,从前往后把每一项都提出来,最终答案等于
这样就可以直接用Lucas定理搞了。
附上AC代码:
#include <cstdio>using namespace std;typedef long long ll;const int mod=1e6+3;ll t,n,l,r,jc[mod+1],inv[mod+1];inline ll lucas(int a,int b){ if (a>b) return 0; if (b<mod) return jc[b]*inv[a]%mod*inv[b-a]%mod; return lucas(a/mod,b/mod)*lucas(a%mod,b%mod)%mod;}int main(void){ jc[0]=inv[0]=jc[1]=inv[1]=1; for (int i=2; i<mod; ++i) jc[i]=jc[i-1]*i%mod,inv[i]=(mod-mod/i)*inv[mod%i]%mod; for (int i=2; i<mod; ++i) inv[i]=inv[i]*inv[i-1]%mod; for (scanf("%lld",&t); t; --t){ scanf("%lld%lld%lld",&n,&l,&r); printf("%lld\n",(lucas(r-l+1,r-l+1+n)-1+mod)%mod); } return 0;}
阅读全文
0 0
- BZOJ 4403: 序列统计 Lucas
- 【BZOJ】4403 序列统计 Lucas
- BZOJ 4403 序列统计 Lucas定理
- BZOJ 4403: 序列统计|Lucas定理
- [BZOJ 4403]序列统计:Lucas定理
- [BZOJ]4403: 序列统计 Lucas定理
- 【BZOJ 4403】【推公式+Lucas定理】 序列统计
- BZOJ-4403 序列统计 组合数学 + Lucas定理
- BZOJ 4403: 序列统计 (组合数 Lucas 数论推导)
- bzoj 4403: 序列统计 lucas定理+组合数学
- [Lucas 原理+逆元]BZOJ 4403——序列统计
- 4403: 序列统计 组合数学+Lucas定理
- BZOJ4403 序列统计 [Lucas]
- bzoj 4403: 序列统计
- 【BZOJ4403】序列统计【Lucas定理】
- [BZOJ4403][Lucas定理]序列统计
- [bzoj4403]序列统计 Lucas定理
- 【lucas定理】BZOJ4403 序列统计
- stm32_018_stm32自身唯一ID读取
- NOIP2017 D1T3 列队
- Java 五种类实例化的方法与初始化顺序
- 初学者---Android 一款好用的Dialog开源框架NiftyDialogEffects
- MSP430G2553 串口通信
- 【BZOJ】4403 序列统计 Lucas
- 筛法求素数
- AngularJS排序查询以及添加
- C++ class 总结
- [知了堂学习笔记] JQuery对DOM的操作
- 【ML学习笔记】8:PAC可能近似正确
- FPGA基础实验:秒表(计时器)
- Go编写调度算法FCFS和SJF
- Jquery-的基础知识