自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Java 活动选择 (超简短代码)

题目描述学校在最近几天有nn个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。现在给出nn个活动使用礼堂的起始时间begin\_ibegin_i和结束时间end\_i(begin\_i < end\_i)end_i(begin_i<end_i),请你帮助办公室人员安排一些活动来使用礼堂,要求安排的活动尽量多。输入第一行一个整数n(n≤1000)n(n≤1000);接..

2022-03-09 20:07:15 569

原创 导弹拦截Java

1260:【例9.4】拦截导弹(Noip1999)时间限制: 1000 ms 内存限制: 65536 KB提交数: 4063 通过数: 1477【题目描述】某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数..

2022-02-18 01:14:16 291

原创 【Java分糖果】

题目描述:有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。【格式要求】程序首先读入一个整数N(2<N<100),表示小朋友的人数。接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)要求程序输出一个

2022-02-14 22:48:03 598

原创 1320:【例6.2】均分纸牌(Noip2002)

【题目描述】有n堆纸牌,编号分别为1,2,…,n1,2,…,n。每堆上有若干张,但纸牌总数必为nn的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为11的堆上取的纸牌,只能移到编号为22的堆上;在编号为nn的堆上取的纸牌,只能移到编号为n−1n−1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如n=4n=4,44堆纸牌数分别为:① 9 ② 8 ③ 17 ④ 6移动3次可达到目的...

2022-02-13 21:59:06 304

原创 【Java数字金字塔】

观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从1313到88到2626到1515到2424的路径产生了最大的和8686。从大佬哪找的图解:数字金字塔(动态规划)_yanyanwenmeng的博客-CSDN博客_数字金字塔动态规划```Javaimport java.util.Scanner;public class Main { public stat.

2022-02-11 19:59:13 1152

原创 1319:【例6.1】排队接水

时间限制: 1000 ms 内存限制: 65536 KB提交数: 21845 通过数: 10034【题目描述】有nn个人在一个水龙头前排队接水,假如每个人接水的时间为TiTi,请编程找出这nn个人排队的一种顺序,使得nn个人的平均等待时间最小。【输入】共两行,第一行为n(1≤n≤1000)n(1≤n≤1000);第二行分别表示第11个人到第nn个人每人的接水时间T1,T2,…,TnT1,T2,…,Tn,每个数据之间有11个空格。【输出】有两行,...

2022-02-10 23:12:48 513

原创 Java实现马走日

【题目描述】马在中国象棋以日字形规则移动。请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。【输入】第一行为整数T(T < 10),表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y。(0≤x≤n-1,0≤y≤m-1, m < 10, n < 10)。【输出】每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径

2022-02-09 21:47:40 517

原创 【Java 快速排序】

这是一个从网上找到的图解。先设置一个基准数,这个基准数可以是任意位置的,这里我们选择第一个数为基准数,即6,然后进行一个类似归并的操作分成左子组和右子组 然后分别再对两边进行同样的操作。```Javaimport java.util.Arrays;import java.util.Scanner;public class Quick { /* 数组元素i与j交换位置 */ public static void exch(Comparable[..

2022-01-28 23:02:15 929

原创 【Java 组合输出 (两种形式)】

【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5【输入】一行两个自然数n、r(1<n<21,1≤r≤n)。【输出】所有的...

2022-01-27 22:10:51 1025

原创 【Java 分解因数】

【题目描述】给出一个正整数aa,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×ana=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an1<a1≤a2≤a3≤...≤an,问这样的分解的种数有多少。注意到a=aa=a也是一种分解。【输入】第1行是测试数据的组数nn,后面跟着nn行输入。每组测试数据占11行,包括一个正整数a(1<a<32768)a(1<a<32768)。【输出】nn行,每行输出对应一个输入。

2022-01-26 23:28:44 292

原创 【Pell数列 Java】

【题目描述】Pell数列a1,a2,a3,...a1,a2,a3,...的定义是这样的,a1=1,a2=2,...,an=2an−1+an−2(n>2)a1=1,a2=2,...,an=2an−1+an−2(n>2)。给出一个正整数kk,要求Pell数列的第kk项模上3276732767是多少。【输入】第1行是测试数据的组数nn,后面跟着nn行输入。每组测试数据占11行,包括一个正整数k(1≤k<1000000)k(1≤k<1000000)。...

2022-01-26 23:02:06 209

原创 【逆序对,归并排序解法】

【题目描述】给定一个序列a1,a2,…,an,如果存在i<j并且ai>aj,那么我们称之为逆序对,求逆序对的数目。【输入】第一行为n,表示序列长度,接下来的n行,第i+1行表示序列中的第i个数。【输出】所有逆序对总数。用for循环暴力求解```Javaimport java.util.Scanner;public class Main { public static class Main { public static void mai

2022-01-25 22:36:34 656

原创 【Java逆序对】

【题目描述】给定一个序列a1,a2,…,an,如果存在i<j并且ai>aj,那么我们称之为逆序对,求逆序对的数目。【输入】第一行为n,表示序列长度,接下来的n行,第i+1行表示序列中的第i个数。【输出】所有逆序对总数。用for循环暴力求解```Javaimport java.util.Scanner;public class Main { public static void main(String[] args) {

2022-01-25 22:33:57 505

原创 【Java 和为给定的数】

【题目描述】给出若干个整数,询问其中是否有一对数的和等于给定的数。【输入】第一行是整数n(0 < n ≤ 100,000),表示有n个整数。第二行是n个整数。整数的范围是在00到108108之间。第三行是一个整数m(0≤m≤230)m(0≤m≤230),表示需要得到的和。【输出】若存在和为m的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。若有多个数对满足条件,选择数对中较小的数更小的。若找不到符合要求的数对,输出一行No。【输入样例】4

2022-01-24 21:33:14 635

原创 【Java放苹果】

【题目描述】把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。【输入】第一行是测试数据的数目t(0<=t<=20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。【输出】对输入的每组数据M和N,用一行输出相应的K。【输入样例】17 3【输出样例】8设f(m,n) 为m个苹果,n个盘子的放法数目,则先对n作讨论, 当n...

2022-01-24 21:31:15 243

原创 【归并排序】

基本思想:将待排序元素分成大小大致相同的2个子集合,分别对2个子集合进行排序,最终将排好序的子集合合并成为所要求的排好序的集合。本质上采用的分治法。网上找到一个图。```Javapublic class Main { public static void main(String[] args) { int[] arr = {2,5,654,47,85,455,344,47,9,82}; //测试数据 int[] tmp = new int[arr.length]; ...

2022-01-21 18:43:14 505

原创 插入排序改良希尔排序

首先先来简单的插入排序这是基础。```Javapublic class Main { public static void main(String[] args) { int [] arr = {3,8,7,11,2,9,5,6}; int j ; for(int i =1;i<arr.length;i++){ int key =arr[i]; for ( j = i-1; j >=

2022-01-21 18:33:06 330

原创 学习真的是一件很枯燥的事情。

要记住,你的人生都会因为你现在的努力而时刻的发生改变。从日出开始,到日落结束,你认为这一天没有荒废,那这就是充满意义的一天。 在假期中保持一个良好的学习状态,和在学习过程中集中注意力是很困难的,在学校的时候,也许一小时的学习时间能顶上家里2小时甚至是三小时的时间。每天保持一个良好的学习习惯更是很困难。老师也曾点醒过我,让我好好学习,我也明白假期其实是一个很好的学习时间段,因为没有压力,时间更是可以自己把控。虽然每天都有学习,但是并不能让自己满意,也许我应该让自己时刻警醒着,努力克服这些困难...

2022-01-20 22:19:23 1485 1

原创 过河卒问题

棋盘上 A点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A 点 (0, 0)(0,0)、B 点 (n, m)(n,m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。输入格式一行四个正整数,分别表示 B 点坐标和马的坐标。输出格式一个整数,

2022-01-20 21:59:08 190

原创 1312:【例3.4】昆虫繁殖

科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过xx个月产yy对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过xx个月产卵),问过zz个月以后,共有成虫多少对?0≤x≤20,1≤y≤20,X≤z≤500≤x≤20,1≤y≤20,X≤z≤50。【输入】x,y,zx,y,z的数值。【输出】过zz个月以后,共有成虫对数。【输入样例】1 2 8【输出样例】37这是一道很经典的递推题.

2022-01-19 21:05:26 503

原创 【Java 分数线】

世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m×150%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。【输入】第一行,两个整数n,m(5≤n≤5000,3≤m≤n)n,m

2022-01-17 22:46:38 235

原创 菲波那契数列(2)

【题目描述】菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。【输入】第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 1000000)。【输出】n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。```Javaimport java.util.Sca

2022-01-17 22:12:36 325

原创 Biginterger 解决多边形对角线点数问题

题目描述对于一个N个定点的凸多边形,他的任何三条对角线都不会交于一点。请求楚图形中对角线交点的个数。例如,6边形:N边形的对角线条数为:n(n-3)/2因为每一个交点对应两条对角线,而两条对角线又对应着一个四边形.于是焦点个数就对应四边形的个数.问题转化成由凸n边形的n个顶点取4个顶点可组成多少个四边形的问题,故最多共有n(n-1)(n-2)(n-3)/24个交点..ONE 代表基本常量1```Javaimport java.math.BigInteger;import jav

2022-01-16 21:53:52 543

原创 【Java 1211:判断元素是否存在】

有一个集合M是这样生成的:(1) 已知k是集合M的元素; (2) 如果y是M的元素,那么,2y+1和3y+1都是M的元素;(3) 除了上述二种情况外,没有别的数能够成为M的一个元素。问题:任意给定k和x,请判断x是否是M的元素。这里的k是无符号整数,x 不大于 100000,如果是,则输出YES,否则,输出NO。【输入】输入整数 k 和 x, 逗号间隔。【输出】如果是,则输出 YES,否则,输出NO。这道题,主要是递归判断。```Javaimport java.util.S

2022-01-14 21:37:12 230

原创 [Java String的常用方法]

int length():返回字符串的长度: return value .length int length():返回字符串的长度: return value .length boolean isEmpty():判断是否是空字符串: return value.length== 0 String toL owerCase():使用默认语言环境,将String中的所有字符转换为小写 String toUpperCase():使用默认语言环境,将String中的所有字符转换为大写 String trim

2022-01-13 23:02:32 112

原创 【Java成绩排序】

public class Main { public static void main(String[] args) { String a ="avc"; char ss =a.charAt(0); System.out.println(ss); String a1 = a.replace('a','m'); char [] c ={'c','d','e','f','a'}; String c1 = n.

2022-01-13 22:53:16 1537

原创 【1309:【例1.6】回文数(Noip1999)】一本通Java

若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87,STEP1: 87+78= 165 STEP2: 165+561= 726STEP3: 726+627=1353 STEP4:1353+3531=4884在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。写一个程序,给定一个N(2<N<=10或N=16)进制数 M.

2022-01-12 20:02:59 502

原创 [Java 一道简单的排序题]

在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。第一行有两个整数,分别是学生的人数n(1≤n≤100)n(1≤n≤100),和求第k名学生的k(1≤k≤n)k(1≤k≤n)。其后有nn行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。其实这道题就是复习一下,排序输出。```Javaimport java.util.Scanner;public class Main { public static void

2022-01-12 19:36:01 606

原创 【Java 用数组实现大数据加法】

首先我们需要先理解,当两个数相加的时候得出的结果的数值长度,不会超过最长的那个数的2位,也就是最多就是超一位,例如9999+9999=19998,因为这里存在这一个上限,导致的。其次我们还需要注意两个数长度不一致时的相加,产生的数组下标越界问题,后来发现采用三目运算符可以规避这个问题。代码如下''' Javaimport java.util.Scanner;public class Main { public static void main(String[] args) {

2022-01-11 23:06:49 1353

原创 【Java实现爬楼梯问题】

例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。这道题其实是斐波那契数列。可以不需要暴力求解,因为每一次都需要走一个或两个阶梯,由此可以得出在爬最后一个楼梯的时候有两种方式,要么是走一级,要么是走两级。例如我们走到第8个楼梯,只需要找到第7和第6个分别有多少种方法,然后再进行相加最后得出的结果就是第8个楼梯总共的走法。我们可以再接着进行拆分。最后可以得出F(n) = F(n-1)+F(n-2) (n>=3)。``

2022-01-11 18:49:35 1606

原创 数组实现BigInteger乘法

import java.util.*;public class Main { public static void main(String[] args) { int[][] number =new int[10000][10000]; Scanner sc = new Scanner(System.in); String x=sc.nextLine(); String y=sc.nextLine(); cha.

2022-01-10 18:34:52 728

原创 简单的BigIngeter的乘法

import java.math.BigInteger;import java.util.Scanner;public class Main1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); BigInteger a =sc.nextBigInteger(); BigInteger b =sc.nextBigInteger(); .

2022-01-10 18:27:24 261

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除