
【ybt】【基算 递推 课过 例3】数的划分
发布日期:2021-05-06 16:01:25
浏览次数:23
分类:技术文章
本文共 710 字,大约阅读时间需要 2 分钟。
数的划分
题目链接:
题目描述

解题思路
设 f i , j f_{ {i},{j}} fi,j 表示将 i i i 分成 j j j 份的情况数。
显然,当 i = j i=j i=j 时 f ( i ) ( j ) f(i)(j) f(i)(j) 是只有一种情况的,也就是为 1 1 1 。 如果 j > i j>i j>i ,连 1 1 1 一份都不够,那么肯定是不合法的,为 0 0 0。 考虑正常情况:- 如果我们在原序列的情况下在后面加一个 1 1 1 ,那么原总数则为 i − 1 i-1 i−1 ,原份数为 j − 1 j-1 j−1。
- 如果我们在原序列的基础上每个数加 1 1 1 ,那么原总数为 i − j i-j i−j ,原份数为 j j j。
那么递推式为:
f i , j = f i − 1 , j − 1 + f i − j , j f_{ {i},{j}}=f_{ {i-1},{j-1}}+f_{ {i-j},{j}} fi,j=fi−1,j−1+fi−j,jcode
#include#include using namespace std;int n,m;int f[210][10];int main(){ cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(i==j) f[i][j]=1; else if(j>i) f[i][j]=0; else f[i][j]=f[i-1][j-1]+f[i-j][j]; } cout<
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月17日 10时10分57秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
vimscript学习笔记(二)预备知识
2019-03-05
Android数据库
2019-03-05
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
2019-03-05
keil左侧文件调整方法
2019-03-05
STM8 GPIO模式
2019-03-05
omnet++
2019-03-05
23种设计模式一:单例模式
2019-03-05
Qt中的析构函数
2019-03-05
C语言实现dijkstra(adjacence matrix)
2019-03-05
C语言学习从初级到精通的疯狂实战教程-徐新帅-专题视频课程
2019-03-05
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
2019-03-05
NAT工作原理
2019-03-05
Processes, threads and goroutines
2019-03-05
c++中的10种常见继承
2019-03-05
wxpython的Hello,World代码探索
2019-03-05
【数字图像处理】OpenCV3 学习笔记
2019-03-05
【单片机开发】智能小车工程(经验总结)
2019-03-05
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
2019-03-05
KeepAlived介绍、配置示例、KeepAlived配置IPVS、调用脚本进行监控
2019-03-05