问题描述

  小明想知道,满足以下条件的正整数序列的数量:

  1. 第一项为 n;

  2. 第二项不超过 n;

  3. 从第三项开始,每一项小于前两项的差的绝对值。

  请计算,对于给定的 n,有多少种满足条件的序列。

输入格式

  输入一行包含一个整数 n。

输出格式

  输出一个整数,表示答案。答案可能很大,请输出答案除以10000的余数。

样例输入

4

样例输出

7

样例说明

  以下是满足条件的序列:

  4 1

  4 1 1

  4 1 2

  4 2

  4 2 1

  4 3

  4 4

评测用例规模与约定

  对于 20% 的评测用例,1 <= n <= 5;

  对于 50% 的评测用例,1 <= n <= 10;

  对于 80% 的评测用例,1 <= n <= 100;

  对于所有评测用例,1 <= n <= 1000。

 

package 第十三次模拟;

import java.util.Scanner;

public class Demo8序列 {
public static int n=0,count=0;
public static int [] []map ;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n =sc.nextInt();
sc.close();
map = new int [n+1][n+1];
for (int i = 1; i <=n; i++) {
map[i][i]=1;
map[i][0]=1;
map[0][i]=1;
}
for (int i = 1; i <=n; i++) {
count+=f(n,i);
count%=10000;
// System.out.println(count);
}
System.out.println(count);
// System.out.println(f(4,2)); }
public static int f(int x,int y){
if(map[x][y]!=0){
return map[x][y];
}
for (int i = Math.abs(x-y)-1; i>=0; i--) {
map[x][y]+=f(y,i);
}
map[x][y]%=10000;
// map[y][x]=map[x][y];
// System.out.println();
return map[x][y];
} }
package 第十三次模拟;

import java.util.Scanner;

public class 正整数序列 {
public static int n = 0, count = 0;
public static int[][] map; public static void main(String[] args) {
long start = System.currentTimeMillis();
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
sc.close();
map = new int[n + 2][n + 2];
for (int i = 1; i <= n; i++) {
map[i][i] = 1;
map[i][0] = 1;
map[0][i] = 1;
map[i][i - 1] = 1;
map[i - 1][i] = 1;
// map[i+1][i]=1;
// map[i][i+1]=1; // for (int j = i-1; j>=0; j--) {
// for (int j2 = Math.abs(i-n)-1; j2 >=0; j2--) {
// map[n][i]+=map[i][j2];
// }
// map[n][i]%=10000;
//// }
// System.out.println(map[n][i]);
// count+=map[n][i];
}
for (int i = 1; i <= n; i++) {
// System.out.print(n+" "+i+" "+map[n][i]+" ");
if (map[n][i] == 0) { for (int j2 = 0; j2 <= Math.abs(i - n) - 1; j2++) {
if (map[i][j2] == 0) {
f(i, j2);
// for (int j = 0; j<=Math.abs(i-j2)-1; j++) {
// map[i][j2]+=map[j2][j];
// }
// map[j2][i]=map[i][j2];
}
map[n][i] += map[i][j2];
// System.out.print(i+" "+j2+" ");
}
map[n][i] %= 10000;
}
// } // System.out.println(n+" "+i+" "+map[n][i]);
// System.out.println(map[n][i]);
count += map[n][i];
count %= 10000;
// if(map[i][n]==0)
map[i][n] = map[n][i];
// count+=f(n,i);
// count%=10000;
//// System.out.println(count);
}
System.out.println(count);
long end = System.currentTimeMillis();
System.out.println(end - start);
// System.out.println(f(4,2)); } public static int f(int x, int y) {
if (map[x][y] != 0) {
return map[x][y];
}
for (int i = Math.abs(x - y) - 1; i >= 0; i--) {
map[x][y] += f(y, i);
}
map[x][y] %= 10000;
// map[y][x]=map[x][y];
// System.out.println();
return map[x][y];
} }

Java实现蓝桥杯模拟正整数序列的数量的更多相关文章

  1. Java实现蓝桥杯模拟递增的数

    问题描述 一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数. 给定正整数 n,请问在整数 1 至 n 中有多少个数 ...

  2. Java实现蓝桥杯模拟组织晚会

    问题描述 小明要组织一台晚会,总共准备了 n 个节目.然后晚会的时间有限,他只能最终选择其中的 m 个节目. 这 n 个节目是按照小明设想的顺序给定的,顺序不能改变. 小明发现,观众对于晚上的喜欢程度 ...

  3. Java实现蓝桥杯模拟空地长草

    问题描述 小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1. 小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地. 这些草长得很快,每个月,草都会向外长出一 ...

  4. Java实现蓝桥杯模拟元音单词的验证

    问题描述 小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音 ...

  5. Java实现蓝桥杯模拟存储转换

    问题描述 在计算机存储中,15.125GB是多少MB? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分. pac ...

  6. Java实现蓝桥杯模拟约数的个数

    问题描述 1200000有多少个约数(只计算正约数). 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分. pac ...

  7. Java实现蓝桥杯模拟递增三元组

    问题描述 在数列 a[1], a[2], -, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a ...

  8. Java实现蓝桥杯模拟带九9的数的个数

    问题描述 在1至2019中,有多少个数的数位中包含数字9? 注意,有的数中的数位中包含多个9,这个数只算一次.例如,1999这个数包含数字9,在计算只是算一个数. 答案提交 这是一道结果填空的题,你只 ...

  9. Java实现蓝桥杯模拟树的叶结点数量

    问题描述 一棵包含有2019个结点的树,最多包含多少个叶结点? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分. ...

随机推荐

  1. .net core grpc单元测试 - 服务器端

    前言 gRPC凭借其严谨的接口定义.高效的传输效率.多样的调用方式等优点,在微服务开发方面占据了一席之地.dotnet core正式支持gRPC也有一段时间了,官方文档也对如何使用gRPC进行了比较详 ...

  2. [CodeForces 344C Rational Resistance]YY,证明

    题意:给若干个阻值为1的电阻,要得到阻值为a/b的电阻最少需要多少个. 思路:令a=mb+n,则a/b=m+n/b=m+1/(b/n),令f(a,b)表示得到a/b的电阻的答案,由f(a,b)=f(b ...

  3. 第六次java上机作业

    .编写一个简单程序,要求数组长度为5,静态赋值10,,,,,在控制台输出该数组的值. package mm; public class Test { public static void main(S ...

  4. SpringBatch异常To use the default BatchConfigurer the context must contain no more thanone DataSource

    SpringBoot整合SpringBatch项目,已将代码开源至github,访问地址:https://github.com/cmlbeliever/SpringBatch 欢迎star or fo ...

  5. iOS中的系统目录(Documents、tmp、Library)、RunLoop的一些知识点

    学习内容 欢迎关注我的iOS学习总结--每天学一点iOS:https://github.com/practiceqian/one-day-one-iOS-summary 实现轮播图需要注意的地方 需要 ...

  6. ES6新增API

    1.Object.assign(a,b,c) a.b均为对象,意思是把b对象的属性添加到a上面去.如果a中已经定义了某个属性,b也定义了的话就会覆盖a的,就是后面覆盖前面的,后面生命的有效.是 一种浅 ...

  7. 【雕爷学编程】Arduino动手做(64)---RGB全彩LED模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  8. React实践:自定义html特性不显示

    发现React中自定义的html特性在render后是不现实,而且getAttribute方法也只能获取到undefined. 后来去stackoverflow提问,网友回答说: It depends ...

  9. 3.3 Go浮点型

    1.Go浮点型 Go 语言提供了两种精度的浮点数,float32 和 float64,编译器默认声明为float64 小数类型就是存放小数的,如1.2 0.005 -2.32 package main ...

  10. poj1904 完美匹配+Tarjan

      King's Quest Time Limit: 15000MS   Memory Limit: 65536K Total Submissions: 9460   Accepted: 3497 C ...