首页 > 其他分享 >P9425 [蓝桥杯 2022 国 B] 2022

P9425 [蓝桥杯 2022 国 B] 2022

时间:2024-05-13 11:40:55浏览次数:26  
标签:... int 元素 P9425 蓝桥 划分 2022 dp

一、题目描述

将 \(2022\) 拆分成 \(10\) 个互不相同正整数之和,有多少种方案?

二、问题简析

令 \(dp[i][j]=\) \(i\) 的 \(j\) 划分的方案数(满足互不相同正整数)。有两种实现方式:

  • \(dp[i][j]\) 不含 \(1\)
    在 \(dp[i-j][j]\) 的基础上,每个元素 +1。有 \(j\) 个元素,每个元素 +1,即 \((i-j)+1\times j=i\)。
  • \(dp[i][j]\) 含 \(1\)
    我们要找到一个不含 \(1\) 的 dp,且划分为 \(j-1\),在它的基础上添加元素 \(1\)。首先,\(i\) 中拿出一个 \(1\),变成 \(i-1\)。仿照上例,在一个 dp 的基础上,每个元素都 +1,就得到了不含 \(1\) 的 dp。由 \((i-1)-1\times (j-1)=i-j\),得到 \(dp[i-j][j-1]\)。

综上所述,\(dp[i][j]=dp[i-j][j]+dp[i-j][j-1]\)。

三、代码

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

int n, k;
ll dp[2030][15]; // dp[i][j] -- i的j划分 

int main()
{
	#ifdef LOCAL
	freopen("test.in", "r", stdin);
	#endif
	
	cin >> n >> k;
	
	// 边界条件一:dp[0][1,2,...]=0
	// ...                             // 不允许0存在,所以0的所有划分都为0 
	
	// 边界条件二:dp[1,2,...][1]=1 
	for (int i = 1; i <= n; ++i)       // i的1划分,即自身 
		dp[i][1] = 1;
	
	for (int i = 1; i <= n; ++i)       // i=0已经在条件一中初始化 
	{
		for (int j = 2; j <= k; ++j)   // j=1已经在条件二中初始化 
		{
			if (i >= j)
				dp[i][j] = dp[i - j][j] + dp[i - j][j - 1];
			// if i < j, dp[i][j] = 0 (因为不能有0存在)
		}
	}
	
	cout << dp[n][k] << endl;
	
	return 0;
}

标签:...,int,元素,P9425,蓝桥,划分,2022,dp
From: https://www.cnblogs.com/hoyd/p/18188922

相关文章

  • EXP练手:CVE-2022-22963从编写到调试排错
    写什么?之前在使用Spring相关工具时候发现其中漏洞利用模块CVE-2022-22963需要手动利用(2023年的笔记,现在不确认工具是否更新了)GitHub-AabyssZG/SpringBoot-Scan:针对SpringBoot的开源渗透框架,以及Spring相关高危漏洞利用工具于是尝试编写这个exp,对编程不熟悉的可以看看我的Go......
  • 2022广东大学生攻防大赛WP
    MISC复合尝试导出http数据发现文件类型和文件名都被改过把pass.md改为pass.zip,发现打不开添加文件头解压得到Emklyusg=E2=80=82gni=E2=80=82bvvymlag=E2=80=82tsqic=E2=80=82colz=E2=80=82jx=moxvl=E2=80=82tiwhz=E2=80=82ebmee,=E2=80=82Zhjeoig=E2=80=82Krpvpi-Zgvlyv......
  • 第十二届蓝桥杯选拔赛 python
    第一题(难度系数2,18个计分点) 编程实现:输入一个正整数n,计算出n乘100的积。 输入描述:输入一个正整数n输出描述:输出n乘100的积 样例输入:2样例输出:200  第二题(难度系数3,20个计分点) 编程实现:给定一个正整数,判断这个正整......
  • P9425 [蓝桥杯 2023 国 B] AB 路线
    P9425[蓝桥杯2023国B]AB路线一、问题简析本题是一道\(BFS\)题。与普通的广搜题不同的是,本题中,格子可以多次访问。因此,vis数组不能只用二维,要进行升维。本题中,每个节点包含以下信息:structnode{pair<int,int>loc;//坐标charch;//......
  • 蓝桥杯-错误票据(两种写法stringstream和扣字符)
    某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能......
  • 蓝桥杯-递增三元组(三种解法,二分, 双指针, 前缀和)
    给定三个整数数组A=[A1,A2,…AN],B=[B1,B2,…BN],C=[C1,C2,…CN],请你统计有多少个三元组(i,j,k)满足:1≤i,j,k≤NAi<Bj<Ck输入格式第一行包含一个整数N。第二行包含N个整数A1,A2,…AN。第三行包含N个整数B1,B2,…BN。第四行包含N个整数C1,C2,…CN。输出格......
  • 蓝桥杯大赛单片机比赛经验总结
    蓝桥杯大赛单片机比赛经验总结适当的延时很重要,可以解决一些不正常现象ds1302读取的时间是BCD码,操作时间时换成10进制操作例:(shi/16)*10+shi%16每次只接受和发送一个字符,字符用单引号‘’字符串用双引号“”if(SBUF==‘a’)而不是if(SBUF=="a")总中......
  • 这些标识代表了WindowsServer2022SERVERDATACENTER 的不同版本和配置选项。让我逐一解
    这些标识代表了WindowsServer2022的不同版本和配置选项。让我逐一解释它们:WindowsServer2022SERVERSTANDARDCORE:这表示WindowsServer2022的标准版核心安装。它是一个精简的安装版本,只包含基本的操作系统组件和服务,没有图形用户界面。通常用于服务器部署,以减少资......
  • 蓝桥杯-波动数列
    观察这个数列:1302-11-2…这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。栋栋对这种数列很好奇,他想知道长度为n和为s而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢?输入格式共一行,包含四个整数n,s,a,b,含义如前面所述。输出......
  • Origin2022中文版绘制套娃式柱形图,大柱套小柱!
    柱形图是科研中常用的图表之一,为了同时展示分数据与总数据之间的趋势分布,我们可以采用大柱形图(总数据)嵌套小柱形图(分数据)的展示方式,使图表更清晰直观,下面给大家分享如何制作套娃式柱形图;操作步骤:1、先打开Origin2022软件,然后在Book1中输入如下示例数据:2、选中A-D列的数据:......