题解-数的拆分

CSP-J 2020 题解 文章目录T1.优秀的拆分题目描述思路代码T2.直播获奖题目描述思路代码T3.表达式 T1.优秀的拆分 题目描述 一般来说,一个正整数可以拆分成若干个正整数的和。 例如,1=1,10=1+2+3+4 等。对于正整数 n 的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,n 被分解为了若干个不同的 2 的正整数次幂。注意,一个数 x 能被表示成 2 的正整数次幂,当且仅当 x 能通过正整数个 2 相乘在一起得到。 例如,10=8+2=23+21 是一个优秀的拆分。但是,7=4+2+1=22+21+. 阅读详情

题目描述

将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。

例如:n=7,k=3,下面三种分法被认为是相同的。

1,1,5;
1,5,1;
5,1,1;

问有多少种不同的分法。

输入输出格式

输入格式:
n,k (6<n <=200,2 <=k<=6)

输出格式:
11个整数,即不同的分法。

输入输出样例
输入样例#1
7 3
输出样例#1
4

说明

四种分法为
1,1,5;
1,2,4;
1,3,3;
2,2,3.

解析部分

思路

利用DP,把i平均分成j份,从中再找出数字规律,(如i,j的关系),即可。

解析

我们用dp[i][j]来表示i有几个数,j来表示分成几份,dp[i][j]就表示i个数被分成j份。显然,当i=j时,只有一种情况;当i<j时,就不可能有情况。得dp[0][0]=1;那么第二种情况题目中说了的,他们不可能i<j,因此,这可以省略。
最后,我们来想如果这k个数中不含1时,(如2,2,3),我们就必须将每个数都减1,就成了1,1,2,这时和为4,不够为7,因此,我们还要将地i-1里面j-1的数,用来相加,但是,第j个数必须为1,得dp[i-1][j-1].
综上所述,得转移态方程:dp[i][j]=dp[i-j][j]+dp[i-1][j-1];
这样,可以简化程序。

代码部分

#include <bits/stdc++.h>
using namespace std;
int n,k;
int dp[10
小学生信息与未来 2022 题解 小学生信息与未来2022题解 阅读详情

相关推荐

2020 CSP-J/NOIP-J复赛真题精选万字长文题解(有代码,行行代码有注释)——秒杀T1 优秀的拆分,T2 直播获奖,T3 表达式,T4方格取数

一篇NOIP/CSP-J2020的万字精选题解,全方面地为题目进行了完全详尽、清晰明了的解析,给正在学习信息学的读者提高编程水平,在各大信息学赛事中更好地“秒杀”所有题目。

lixuean0408的博客 2529

题解:洛谷 P8225 「Wdoi-5」天才⑨与天才拆分

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。,希望你能帮帮她,告诉她能不能把。琪露诺定义一个十进制正整数为「阶天才数」,当且仅当该整数的。个询问,每个询问有两个整数。本文分享的必刷题目是从。#入门# #语法基础#

团爸讲算法 228

获取一个整数n,将其拆成k个整数,求其所有可能的拆法(Python)

此时还剩下n-k-1没有被安排,那么就开始判断列表2中存储的每个列表是否满足上述特点,同理,将满足的进行+1并存储在列表1中,然后再清空列表2。判断每个元素的值+1之后是否依旧满足上述的特点,如果是则将其+1,并将产生的新列表存储在列表2中,然后清空列表1。我们也可以很轻松的知道当n-k为偶数时,最后所有可能的拆法是存储在列表1中的,否则就存储在列表2中。就这样,周而复始,循环往复,直到n-k全部被安排掉了为止。获取一个整数n,将其拆成k个整数(很显而易见,k

2301_79070589的博客 351

CentOS7无网环境实战:MySQL8.0完整离线安装与避坑指南(附依赖包下载)

本文详细介绍了在CentOS7无网环境下MySQL8.0的完整离线安装流程,包括依赖包获取、系统预处理、MySQL二进制安装、服务配置与优化等关键步骤。特别针对离线安装的特殊需求,提供了从依赖包下载到服务调优的全链路解决方案,帮助用户在企业内网或隔离环境中高效部署MySQL数据库。

bush的博客 175

最新Win10离线安装.NET Framework 3.5的方法(附离线包2022/3/22)

win10 .net framework 3.5离线安装

别告诉我有Bug 27万+

【侯俊霞全网最全收集--PLC1200/200SMART(88+93课时) 第1章】

第1章:零基础快速入门西门子S7-1200

问就ycy的博客 2038

华为OD机考双机位C卷 - 文件存储系统的排序(Java & Python & JS & GO & C++ & C)

华为OD机考双机位C卷 - 文件存储系统的排序, 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 780

07RK3568 I2S主模式 FPGA

RK3568与fpga通过i2s0连接,fpga连接音频芯片ES8388,RK为i2s主模式。调试时发现可正常采集来自fpga的数据。不可发送数据至fpga。由于i2s后连接fpga这里用了Rockchip的dummy-codec,一个虚拟的编解码器。

qq_39451352的博客 303

《QGIS快速入门与应用基础》230:添加图例工具

本文系统讲解QGIS图例制作的核心方法与优化技巧。首先强调图例与地图框的绑定逻辑,提出三种绑定状态及适用场景。详细拆解三种图例添加方法:布局工具栏一键添加法(新手首选)、菜单栏添加法和右键快捷创建法,并给出单地图框和多地图框两种典型场景的规范技巧。重点解决新手常见的图例杂乱、样式不规范、内容脱节等问题,帮助用户从基础图例制作进阶到符合行业标准的专业图例设计。通过分步操作图示和实用技巧,使读者能够快速掌握图例创建的核心流程与优化方法。

LuckyHanMo的博客 549

Plecs电力电子仿真专业教程-第一季 补充课程 Plecs的安装教程与软件下载

PLECS4.1.64免安装版本–点我下载 Plecs.Standalone-3.7.2版本--关注加私信给我可以提供下载链接 补充课程 Plecs的安装教程与软件下载 详细介绍Plecs软件的安装过程

1万+

通信原理 | python调制识别数据及代码

数据集包含了从-20dB 到+18dB 总共 20 个信噪比(步长为 2)下的 11 种调制信号, 包括 AM-DSB、 AM-SSB 和 WBFM 三种模拟调制信号,以及 BPSK、 QPSK、 8PSK、 CPFSK、 GFSK、 PAM4、 QAM16 和 QAM64 八种数字调制信号。其中信号的中心频率为 200KHz,采样频率为 1Msamp/s,且每个信噪比下每种调制信号包含 1000 个信号。其中每个信号包含 IQ 两路数据,且每一路数据都包含有 128 个采样点。

若北辰 1758

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 题解-引爆炸弹
下一篇: 题解-分组背包
Cancelleds
博客等级 码龄8年 1110粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值