loj2143组合题解

组合

∑ i = 0 ∞ C n k i k + r \sum_{i=0}^{\infty} C_{n k}^{i k+r} i=0Cnkik+r p p p 的值。


这道题题目非常的善良,直接把式子送给我们了,那我们直接开始推式子:
∑ i = 0 ∞ C n k i k + r = ∑ i = 0 ∞ ∑ j = 0 w C w j × C n k − w i k + r − w + j = ∑ j = 0 w C w j ∑ i = 0 ∞ C n k − w i k + r − w + j 令  w = k ∑ j = 0 k C k j ∑ i = 0 ∞ C ( n − 1 ) k i k + r − k + j 令  f ( n , r ) = ∑ i = 0 ∞ C n k i k + r f ( n , r ) = ∑ j = 0 k C k j f ( n − 1 , r − k + j ) 接着我们再来分析 n = 1 的情况 f ( n , r ) = ∑ j = 0 k C k j f ( n − 1 , ( r + j ) % k ) f ( 1 , r ) = ( r = = 0 ? 2 : C k r ) \begin{array}{c}\sum_{i=0}^{\infty} C_{n k}^{i k+r} \\=\sum_{i=0}^{\infty} \sum_{j=0}^{w} C_{w}^{j} \times C_{n k-w}^{i k+r-w+j} \\=\sum_{j=0}^{w} C_{w}^{j} \sum_{i=0}^{\infty} C_{n k-w}^{i k+r-w+j} \\\text { 令 } w=k \\\sum_{j=0}^{k} C_{k}^{j} \sum_{i=0}^{\infty} C_{(n-1) k}^{i k+r-k+j} \\\text { 令 } f(n, r)=\sum_{i=0}^{\infty} C_{n k}^{i k+r} \\f(n, r)=\sum_{j=0}^{k} C_{k}^{j} f(n-1, r-k+j)\\\text {接着我们再来分析}n=1\text {的情况}\\f(n, r)=\sum_{j=0}^{k} C_{k}^{j} f(n-1,(r+j) \% k) \\f(1, r)=\left(r==0 ? 2: C_{k}^{r}\right)\end{array} i=0Cnkik+r=i=0j=0wCwj×Cnkwik+rw+j=j=0wCwji=0Cnkwik+rw+j  w=kj=0kCkji=0C(n1)kik+rk+j  f(n,r)=i=0Cnkik+rf(n,r)=j=0kCkjf(n1,rk+j)接着我们再来分析n=1的情况f(n,r)=j=0kCkjf(n1,(r+j)%k)f(1,r)=(r==0?2:Ckr)
那么这道题目就水落石出了,先用杨辉三角预处理一遍,预处理一遍组合数,在去推 f f f 数组就好了。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,p,k,r,C[105][105];
int f[1005][1005];
int zuhe(int n,int r)
{if(n==1)return r==0?2:C[k][r];if(f[n][r])return f[n][r];int sum=0;for(int i=0;i<=k;i++)sum+=(LL)C[k][i]*zuhe(n-1,(r+i)%k)%p,sum%=p;return f[n][r]=sum%p;
}
int main()
{scanf("%d%d%d%d",&n,&p,&k,&r);for(int i=0;i<=k;i++)//杨辉三角预处理{C[i][0]=1;for(int j=1;j<=i;j++)C[i][j]=(C[i-1][j-1]+C[i-1][j])%p;}printf("%d\n",zuhe(n,r));return 0;
}

但是,你会发现这个代码 RE 了。所以我们需要使用一下矩阵快速幂优化,我就不多说了,上代码。

#include<bits/stdc++.h>
using namespace std;
int P,K,R;
long long N;
struct matrix
{int n,m,a[51][51];matrix(){memset(a,0,sizeof(a));}matrix operator * (const matrix &c)const{matrix res;res.n=n;res.m=c.m;for(int i=0;i<n;i++)for(int j=0;j<c.m;j++)for(int k=0;k<m;k++)res.a[i][j]=(res.a[i][j]+1LL*a[i][k]*c.a[k][j]%P)%P;return res;}
}a,b;
void Pow(matrix x,long long y)
{while(y){if(y&1)a=a*x;x=x*x;y>>=1;}
}
int main()
{cin>>N;scanf("%d%d%d",&P,&K,&R);N=1LL*N*K;a.n=1;a.m=K;a.a[0][0]=1;b.n=b.m=K;for(int i=0;i<K;i++){b.a[i][i]++;b.a[i][(i+1)%K]++;}Pow(b,N);printf("%d",a.a[0][R]);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dav_笔记11:SQL Tuning Overview-sql调优 之 4

开发高效的SQL语句 本节介绍了提高SQL语句效率的方法: ■验证优化程序统计信息 ■审查执行计划 ■重构SQL语句 ■重组索引 ■修改或禁用触发器和约束 ■重组数据 ■随着时间的推移维护执行计划 ■尽可能少地访问数据 验证优化程序统计信息 查询优化器在确定最佳执行…

每日一练,java06

这里写目录标题 题目1.局部变量能否和成员变量重名&#xff1f;2.下面哪个不属于HttpServletResponse接口完成的功能&#xff1f;3.以下代码结果是什么&#xff1f;4.实现或继承了Collection接口的是&#xff08;&#xff09;知识点局部变量与成员变量重名equals与HttpServletR…

5. 开发环境搭建

1. 概述 基于ubuntu20.04搭建开发环境 2. 开发环境安装 恒玄SDK编译&#xff0c;依赖gcc-arm的编译工具&#xff0c;编译工具由恒玄提供&#xff1b; 2.1 配置编译工具链的环境变量 修改~/.profile文件 source ~/.profile 2.2 安装依赖包 sudo apt install ccache sudo a…

Spring框架笔记详解

主要讲解了Spring框架的基本内容&#xff0c;可以当作笔记需要的时候查看&#xff01;&#xff01;&#xff01; 文章目录 前言Spring1、Spring简介1.1、Spring概述1.2、Spring家族1.3、Spring Framework1.3.1、Spring Framework特性1.3.2、Spring Framework五大功能模块 2、IO…

一刷代码随想录(回溯4)

递增子序列 题意&#xff1a; 给定一个整型数组, 你的任务是找到所有该数组的递增子序列&#xff0c;递增子序列的长度至少是2。 示例: 输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]] 说明: 给定数组的长度不会…

【最新】cuda和cudnn和显卡驱动的对应关系

NV官方文档Support Matrix — NVIDIA cuDNN v9.2.1 documentation下列的非常清楚&#xff0c;如图&#xff1a;

【SpringBoot】 4 Thymeleaf

官网 https://www.thymeleaf.org/ 介绍 Thymeleaf 是一个适用于 Web 和独立环境的现代服务器端 Java 模板引擎。 模板引擎&#xff1a;为了使用户界面和业务数据分离而产生的&#xff0c;它可以生成特定格式的文档&#xff0c;用于网站的模板引擎会生成一个标准的 html 文档…

目标检测损失计算部分(YOLO)

ComputeLoss 标准化坐标的增益张量 标准化坐标的增益张量&#xff08;gain tensor&#xff09;用于将归一化的目标转换为特定特征层的网格尺度&#xff0c;以便进行匹配和计算。 在目标检测模型中&#xff0c;输入图像被划分为多个网格&#xff0c;每个网格负责预测多个锚框…

【Git】Git小项目模型梳理

事情的起因是笔者正在做的项目&#xff0c;是一个小团队&#xff0c;团队成员不到5人&#xff0c;且项目处于第一个生产版本的创建过程中&#xff0c;为没有合适的Git模型而犹豫了很久&#xff0c;最终确定的模型和最初的也有不同。特此记录&#xff0c;主要是为了个人总结&…

捉虫笔记(1)之 WinDbg符号配置

WinDbg符号配置 1、WinDbg简单介绍 WinDbg 是微软的一款强大的调试工具&#xff0c;用于 Windows 平台的内核和用户模式调试。它提供了一系列强大的功能&#xff0c;包括内存和寄存器的查看、断点设置、堆栈跟踪、性能分析等。 WinDbg 的历史可以追溯到微软早期的调试工具&a…

[Unity] ShaderGraph实现不同贴图素材的同一材质球复用

无意间发现的ShaderGraph小技巧&#xff0c; 可以实现同一个ShaderGraph&#xff0c;同一个Material材质球&#xff0c; 但使用不同的Texture贴图&#xff0c;而Sprite显示不会相互覆盖。 具体实现方法如下&#xff1a; 声明Texture2D时&#xff0c;把名字命名成&#xff1a…

Spring Boot学习|Stopwatch 在 Spring Boot 中的使用

文章目录 什么是 Stopwatch&#xff1f;使用场景优点缺点注意事项使用步骤使用案例及结果可能面试题1. **理解与解释**2. **技术细节**3. **实际应用**4. **优缺点与替代方案**5. **面向框架的具体问题**6. **高级主题** 什么是 Stopwatch&#xff1f; Stopwatch 是由 Apache …

51单片机嵌入式开发:17、STC89C52的嵌入式 遥控器 控制步进电机 转速 和 转向 操作并 printf打印信息

51单片机嵌入式开发 STC89C52的嵌入式 遥控器 控制步进电机 转速 和 转向 操作并 printf打印信息 51单片机嵌入式开发STC89C52的嵌入式 遥控器 控制步进电机 转速 和 转向 操作并 printf打印信息1 概述2 硬件电路2.1 遥控器2.2 红外接收器电路2.3 STC89C52单片机电路2.4 数码管…

Qt 编译配置 Protobuf 详解

在Qt项目中使用Protobuf&#xff08;Protocol Buffers&#xff09;可以有效地处理数据序列化和反序列化。以下是如何在Qt项目中配置和编译Protobuf的详细步骤。 步骤 1: 安装Protobuf 首先&#xff0c;你需要在系统上安装Protobuf库。可以通过以下几种方式安装&#xff1a; …

skynet热更新之inject

游戏服务器的热更新是一种常见的需求&#xff0c;skynet可以通过inject的方式&#xff0c;来修改一个服务的消息处理函数&#xff0c;达到热更新的效果。 skynet内置服务debug_console skynet自带了一个调试控制台服务。inject注入代码需要先启动这个服务。 skynet.newservi…

【python】python大学排名数据抓取+可视化(源码+数据集+可视化+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Linux 4: Bash

1 Bash环境 1 命令执行的顺序 1 绝对路径、相对路径 2 alias 3 内置的builtin 4 $PATH找到的第一个命令 2 bash的登录信息&#xff0c;保存在哪里&#xff1f; 保存在/etc/issue. 3 bash的环境配置文件 1 如果是login shell&#xff0c;读以下&#xff0c;有优先级:如果…

uart开发调试

1. Uart基本框架 1.1概念 通信系统有两种方式&#xff0c;同步通信和异步通信. 同步通信的典型特征&#xff1a;通信双方公用同一个时钟&#xff0c;发送/接受速率完全一致&#xff0c;通信时需要带时钟信号传输. 异步通信的典型特征&#xff1a;通信双方各自具有独立的时钟…

MyBatis操作数据库 -- 动态SQL

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|Spring &#x1faf5; 与天斗其乐无穷 文章目录 1. 动态SQL<if>标签<trim>标签<where> 标签<set> 标签<foreach> 标签<include>标签注解方式 1. 动态SQL 动态sql能够实现不同条件下的sql拼接 …

jquery+bootstrap实现DOM转图片并下载

&#x1f34a;jquery实现DOM结构转图片并下载 版本介绍&#xff1a; Bootstrap v3.3.7jQuery v3.5.1domToImage.js 根据Bootstrap实现dialog上一步下一步多个弹窗交互进行大肆修改&#xff0c;完善了第二步生成图片的功能与更强的交互 1.、功能说明 重新设置bootstrap主题色 …