[BZOJ 4403]序列统计
Description
给定三个正整数N、L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量。输出答案对10^6+3取模的结果。
Input
Output
输出包含T行,每行有一个数字,表示你所求出的答案对10^6+3取模的结果。
Sample Input
1 4 5
2 4 5
Sample Output
5
//【样例说明】满足条件的2个序列为[4]和[5]。
题解
记得做过这样一道题:[Luogu 3902]Increasing
里面的思想就是将严格递增的序列第$i$个数减去$i$变成单调不下降的序列,来方便处理答案。
这里我们用相同的思想。由于原序列单调不下降,我们可以让第$i$个数加上一个$i$,使原序列单调递增。
这样取值范围就变成了$[L+1, R+n]$,一共$n+R-L$个数,这样对于长度为$n$的序列我们只要求$C^n _{n+R-L}$ = $C^{R-L} _{n+R-L}$。
然而到这里还没结束,题目要求的是长度为$[1, n]$。
简而言之就是求:
$$\sum _{i=1} ^n {C^{R-L} _{i+R-L}}$$
我们这里要想到这样一个公式:$C^m _n = C^{m-1} _{n-1}+C^m _{n-1}$,
我们再看上面这个式子,令$k = R-L$:
$ans=C_{1+k}^k+C_{2+k}^k+C_{3+k}^k+…+C_{n+k}^k$
$=C_{1+k}^{1+k}-1+C_{1+k}^k+C_{2+k}^k+C_{3+k}^k+…+C_{n+k}^k$
$=(C_{1+k}^{1+k}+C_{1+k}^k)+C_{2+k}^k+C_{3+k}^k+…+C_{n+k}^k-1$
$=(C_{2+k}^{1+k}+C_{2+k}^k)+C_{3+k}^k+…+C_{n+k}^k-1$
$=(C_{3+k}^{1+k}+C_{3+k}^k)+…+C_{n+k}^k-1$
$……$
$=C_{n+k+1}^{k+1}-1$。
求$C_{n+k+1}^{k+1}$用$Lucas$求就可以了。
//It is made by Awson on 2017.10.7
#include <map>
#include <set>
#include <cmath>
#include <ctime>
#include <queue>
#include <stack>
#include <vector>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#define LL long long
#define Max(a, b) ((a) > (b) ? (a) : (b))
#define Min(a, b) ((a) < (b) ? (a) : (b))
using namespace std;
const int N = 1e6+; int n, l, r;
int A[N+], B[N+]; int C(int n, int m) {
if (m > n) return ;
return (LL)A[n]*B[n-m]%N*B[m]%N;
}
int Lucas(int n, int m) {
if (!m) return ;
return (LL)C(n%N, m%N)*Lucas(n/N, m/N)%N;
}
void work() {
scanf("%d%d%d", &n, &l, &r);
printf("%d\n", (Lucas(n+r-l+, r-l+)-+N)%N);
}
int main() {
A[] = B[] = A[] = B[] = ;
for (int i = ; i <= N; i++)
B[i] = -(LL)(N/i)*B[N%i]%N;
for (int i = ; i <= N; i++)
A[i] = (LL)A[i-]*i%N,
B[i] = (LL)B[i-]*B[i]%N;
int t;
scanf("%d", &t);
while (t--)
work();
return ;
}
[BZOJ 4403]序列统计的更多相关文章
- Bzoj 4403: 序列统计 Lucas定理,组合数学,数论
4403: 序列统计 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 328 Solved: 162[Submit][Status][Discuss] ...
- BZOJ 4403: 序列统计 数学 lucas
4403: 序列统计 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4403 Description 给定三个正整数N.L和R,统计长度在 ...
- bzoj 4403 序列统计 卢卡斯定理
4403:序列统计 Time Limit: 3 Sec Memory Limit: 128 MB Description 给定三个正整数N.L和R,统计长度在1到N之间,元素大小都在L到R之间的单调 ...
- BZOJ 4403 序列统计(Lucas)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4403 [题目大意] 给定三个正整数N.L和R,统计长度在1到N之间, 元素大小都在L到 ...
- bzoj 4403 序列统计——转化成组合数的思路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4403 先说说自己的想法吧. 设f[ i ][ j ]表示当前在倒数第 i 个位置,当前和后面 ...
- bzoj 4403: 序列统计【lucas+组合数学】
首先,给一个单调不降序列的第i位+i,这样就变成了单调上升序列,设原来数据范围是(l,r),改过之后变成了(l+1,r+n) 在m个数里选长为n的一个单调上升序列的方案数为\( C_m^n \),也就 ...
- 【BZOJ 4403】 4403: 序列统计 (卢卡斯定理)
4403: 序列统计 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 653 Solved: 320 Description 给定三个正整数N.L和R, ...
- BZOJ 3992 序列统计
Description 小C有一个集合\(S\),里面的元素都是小于\(M\)的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为\(N\)的数列,数列中的每个数都属于集合\(S\). 小C用 ...
- [BZOJ 3992][SDOI2015]序列统计
3992: [SDOI2015]序列统计 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 2275 Solved: 1090[Submit][Stat ...
随机推荐
- C语言博客作业--一二维数组
一.PTA实验作业 题目1(7-6) (1).本题PTA提交列表 (2)设计思路 //天数n:数组下标i:小时数h,分钟数m:对应书号的标签数组flag[1001] //总阅读时间sum初始化为0,借 ...
- xShell终端下中文乱码问题
今天,可能是因为不小心中途打断了xShell更新,结果打开xShell发现里面的中文全成了乱码.于是去网上查了一下原因. 更新xshell(xshell5)以及其他终端中文乱码的原因无非有三种 (1 ...
- JQuery 动态加载iframe.
html: <iframe id="ifm" style="width:inherit;height:inherit" runat="serve ...
- thinkphp中ajax技术
thinkphp可以直接返回json数据,json数据事可以跟前端的js通用的
- Jenkins 安装、配置与项目新建及构建
1.Jenkins的安装与配置 1.1 java环境配置 Jenkins基于Java, Linux下安装java只要配置java环境变量即可. 首先,解压java到相应目录,我一般习惯把安装的软件放到 ...
- Python内置函数(40)——dir
英文文档: dir([object]) Without arguments, return the list of names in the current local scope. With an ...
- istio入门(05)istio的架构概念2
- C# 解析json数据出现---锘縖
解析json数据的时候出现 - 锘縖,不知道是不是乱码,反正我是不认识这俩字.后来发现是json的 '[' 字符转换的 网上搜了一下,说的是字符集不匹配,把字符集改为GB2312. 一.贴下处理jso ...
- python爬虫动态html selenium.webdriver
python爬虫:利用selenium.webdriver获取渲染之后的页面代码! 1 首先要下载浏览器驱动: 常用的是chromedriver 和phantomjs chromedirver下载地址 ...
- RxJava系列1(简介)
RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...