蓝桥杯 算法训练 数的划分 java

Java实现 蓝桥杯 算法训练 K好 算法训练 K好 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 如果一个自然N的K进制表示中任意的相邻的两位都不是相邻的字,那么我们就说这个是K好。求L位K进制中K好目。例如K = 4,L = 2的时候,所有K好为11、13、20、22、30、31、33 共7个。由于这个目很大,请你输出它对1000000007取模后的值。 输入格... 阅读详情

问题描述
  将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。
  例如:n=7,k=3,下面三种分法被认为是相同的。
  1,1,5; 1,5,1; 5,1,1;
  问有多少种不同的分法。
输入格式
  n,k
输出格式
  一个整数,即不同的分法
样例输入
7 3
样例输出
4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;}
数据规模和约定
  6<n<=200,2<=k<=6

动态规划题目,当前解可由上一步的结果得出。
分出一个1来,等同i-1分成j-1份,例如"5"分成3份,等同"4"分成2份每种状态再加1, 4(1 3 , 2 2),5(1 1 3 , 1 2 2);
加上i-j,例如3(1 1 1),6(2 2 2):5(1 1 3 , 1 2 2),8(2 2 4 , 2 3 3)
dp[i][j] = dp[i-1][j-1] + dp[i-j][j];

在这里插入图片描述

import java.util.*;
public class Main {
	public static void main(String args[]) {
		int[][] dp = new int[202][11];
		Scanner input = new Scanner(System.in);
		int n = input.nextInt();
		int k = input.nextInt();
		for(int i = 1;i <= n;i++) {
			for(int j = 1;j <= k;j++) {
				if(j > i)//当份数大于数字时直接跳过
					continue;
				if(j == 1 || j == i)
					dp[i][j] = 1;
				else if(j == 2)//分成两份时份数为数字除二
					dp[i][j] = i/2;
				else
					dp[i][j] = dp[i-1][j-1] + dp[i-j][j];
			}
		}
//		for(int i = 1;i <= n;i++) {
//			for(int j = 1;j <= k;j++) {
//				System.out.print(dp[i][j]+" ");
//			}
//			System.out.println();
//		}
		System.out.println(dp[n][k]);
	}
}
Java实现蓝桥杯VIP算法训练 纪念品分组 试题 算法训练 纪念品分组 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整。为了保证在尽量短的时 间内发完所有纪念品,乐乐希望分组的目最少。   你的任... 阅读详情

相关推荐

Java实现 蓝桥杯 算法训练 最大的算式

算法训练 最大的算式 时间限制:1.0s 内存限制:256.0MB 问题描述   题目很简单,给出N个字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻字之间都有一个符号。例如:   N=5,K=2,5个字分别为1、2、3、4、5,可以加成:   12(3+4+5)=24   1*(2+3)...

南 墙 1万+

Java实现 蓝桥杯VIP 算法训练 划分

【题目描述】 将整n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。 输出一个整,即不同的分法。 【输入】 两个整n,k(6<n≤200,2≤k≤6),中间用单个空格隔开。 【输出】 一个整,即不同的分法。 【输入样例】 7 3 【输出样例】 4 im...

南 墙 1万+

Java实现 蓝桥杯VIP 算法训练 邮票

算法训练 邮票 时间限制:1.0s 内存限制:512.0MB 问题描述   给定一个信封,有N(1≤N≤100)个位置可以贴邮票,每个位置只能贴一张邮票。我们现在有M(M<=100)种不同邮资的邮票,面值为X1,X2….Xm分(Xi是整,1≤Xi≤255),每种都有N张。 显然,信封上能贴的邮资最小值是min(X1, X2, …, Xm),最大值是 N*max(X1, X2, …,  ...

南 墙 1万+

蓝桥杯算法训练 划分java

问题描述   将整n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。   例如:n=7,k=3,下面三种分法被认为是相同的。   1,1,5; 1,5,1; 5,1,1;   问有多少种不同的分法。 输入格式   n,k 输出格式   一个整,即不同的分法 样例输入 7 3 样例输出 4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;} 据规模和约定   6<...

weixin_43824233的博客 546

划分 蓝桥杯java

将整n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种划分方案被认为是相同的。 1 1 5 1 5 1 5 1 1 问有多少种不同的分法。 输入描述 Input Description 输入:n,k (6<n<=200,2<=k<=6) 输出描述 Output Description 输出:一个整,即不同的分法。 样例输入 Sample Input 7 3 样例输出 Sample Output 4 据范围及提示 Data Siz

crashzzzllq的博客 469

java蓝桥杯练习 划分

java蓝桥杯练习 划分 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   将整n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。   例如:n=7,k=3,下面三种分法被认为是相同的。   1,1,5; 1,5,1; 5,1,1;   问有多少种不同的分法。 输入格式   n,k 输出格式   一个整,即不同的分法 样例输入 7 3 样例输出 4 {四种...

kobe_cb的博客 302

蓝桥杯java划分

把6划分成 5+1 4+2,4+1+1 3+3,3+2+1,3+1+1+1 2+2+2,2+2+1+1,2+1+1+1+1 1+1+1+1+1+1 打印出所有的划分。 是固定的,会比较简单。 public class Main { public static void f(int n,int[] a,int k){ int i; if(n for(i=n;i S

trh_csdn的博客 577

Java 蓝桥杯 算法训练 VIP试题 划分

参考:发飙的蜗牛这位博主的递归方法 将整n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。 输入格式   n,k 输出格式   一个整,即不同的分法 样例输入 7 3 样例输出 4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;} 据规模和约定   6<n<=200,2<=k<=6    想法:要划分k份,划分一份中能取的字 从划x(

weixin_43270917的博客 424

蓝桥杯vip答案java_Java实现 蓝桥杯VIP 算法训练 划分

【题目描述】将整n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。 输出一个整,即不同的分法。【输入】两个整n,k(6【输出】一个整,即不同的分法。【输入样例】7 3【输出样例】4还有一种动态规划写法,见下import java.util.ArrayList; impo...

weixin_32175667的博客 125

第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-675 划分

第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-675 划分 前言 关于学的疑问 算法训练 划分 C语言 C++语言 Java语言 Python语言 总结 第六届——第十三届省赛题解 第六届——第十二届国赛题解

红目香薰 215

蓝桥杯 算法训练 划分

算法训练 划分   时间限制:1.0s   内存限制:256.0MB 问题描述   将整n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。   例如:n=7,k=3,下面三种分法被认为是相同的。   1,1,5; 1,5,1; 5,1,1;   问有多少种不同的分法。 输入格式   n,k 输出格式   一个整,即不同的

Pason_PC的博客 1441

试题 算法训练 划分 java

划分出来的东西看成两类,一类没有1,一类有1,比如dp[7][3],如果有1就相当于在dp[6][2]的每类后面追加一个1,如果没有1就把分出来的类里的每个减一,这样如果有1就会减成0,此时就加上dp[7-4][3]的结果就是都没有1时的种。 import java.util.Scanner; public class _4 { static int[][] dp=new int[205][205]; public static void main(String[] args) {

tinkk的博客 296

Java实现 蓝桥杯VIP 算法训练

算法训练 对 时间限制:1.0s 内存限制:512.0MB 问题描述   编写一个程序,该程序从用户读入一个整,然后列出所有的对,每个对的乘积即为该。   输入格式:输入只有一行,即一个整。   输出格式:输出有若干行,每一行是一个乘法式子。(注意:运算符号与字之间有一个空格) 输入输出样例 样例输入 32 样例输出 1 * 32 = 32 2 * 16 = 32 4 * 8 =...

南 墙 1万+

Java实现 蓝桥杯VIP 算法训练 水仙花

这道题有两个方法,第一个就相对来说通俗易懂 第二个可以用到Java的一些方法 public class 水仙花1 { public static void main(String[] args) { int g,s,b; for(int i=100;i<1000;i++){ g=i/1%10;//个位字 s=i/10%10;//十位字 b=i/100...

南 墙 1万+

Java实现 蓝桥杯VIP 算法训练 麦森

算法训练 麦森 时间限制:1.0s 内存限制:256.0MB 问题描述   形如2P-1的素称为麦森,这时P一定也是个素。但反过来不一定,即如果P是个素,2P-1不一定也是素。到1998年底,人们已找到了37个麦森。最大的一个是P=3021377,它有909526位。麦森有许多重要应用,它与完全密切相关。   任务:从文件中输入P(1000<P<3100000),...

南 墙 1万+
上一篇: 蓝桥杯 算法训练 装箱问题 java
下一篇: 蓝桥杯 算法训练 FBI树 java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值