【挖坑】某场组队训练找到的想要挖一挖的东西

随手去新生的组队训练发现一个东西,显然是打表题但是突然兴致一上来想证一证,毕竟训练也打表未免太无聊了

背景:递推式

f(l,r)= sum(l,r)+ f(l+1,r) + f(l,r-1)

f(i,i)= a[i]

一些粗糙的推论

考虑贡献函数g(n,m)表示长度为f(1,n)中第m位的数的贡献次数

易得g(n,1)= n,g(n,n-i+1)= g(n,i)

这个性质很眼熟,继续观察可以发现还有:往下推一层贡献是左右各少一格的区间贡献,再多一次

g(n,m)= g(n-1,m-1)+ g(n-1,m)+1

过分了,这就是组合数递推公式后面再+1啊。。。

所以这整个贡献就跟组合数有关

(其实,感觉很多贡献题都跟组合数有关,但是打表AC完就不知其所以然了,感觉很可惜,不去弄明白的话还是会折在出题人手里半小时-1小时左右的样子,没有掌握那种推导的方法)

然而。。然而。。我不知道组合数递推公式是怎么证出来的。。。

但是发现g(n,m)= C(n,m)+ C(n,m-1)- 1

这道题就已经可以粗糙的AC了。。。

但是还是不知道这题的正解是跟什么有关。。。

等空下来去学习一下组合数的证明过程吧。。。

挖坑防忘。。

 

转载于:https://www.cnblogs.com/QAQorz/p/11316391.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
08-10
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
学校要从 n 个人中选出 m 个人组队参赛,这种组合数问题可以使用组合数公式来求解。组合数公式表示为C(n, m),表示从n个元素中选出m个元素的组合数。 组合数公式可以通过递归或动态规划的方式来计算。以下是一个使用递归方式计算组合数的示例代码: ```cpp #include <iostream> using namespace std; int combination(int n, int m) { if (m == 0 || n == m) { return 1; } else { return combination(n - 1, m - 1) + combination(n - 1, m); } } int main() { int n, m; cout << "请输入总人数 n:"; cin >> n; cout << "请输入选取人数 m:"; cin >> m; int result = combination(n, m); cout << "从 " << n << " 个人中选取 " << m << " 个人的组合数为:" << result << endl; return 0; } ``` 在这个示例代码中,`combination()`函数使用递归方式计算组合数。当m等于0或n等于m时,返回1,表示已经选取完毕或没有可选的元素了。否则,根据组合数的性质,将问题拆分为两个子问题:选取第n个元素和不选取第n个元素。递归地计算这两个子问题,并将结果相加。 在主函数中,首先输入总人数n和选取人数m。然后调用`combination()`函数计算组合数,并输出结果。 请注意,递归方式计算组合数的效率较低,当n和m较大时可能会出现栈溢出等问题。为了提高效率,可以使用动态规划等更高效的算法来计算组合数。 希望能够帮助到您!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值