<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LX15588的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LX15588</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LX15588]]></copyright><item><title><![CDATA[Java 活动选择 （超简短代码）]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/123386020</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/123386020</guid><author>LX15588</author><pubDate>Wed, 09 Mar 2022 20:07:15 +0800</pubDate><description><![CDATA[题目描述

学校在最近几天有nn个活动，这些活动都需要使用学校的大礼堂，在同一时间，礼堂只能被一个活动使用。由于有些活动时间上有冲突，学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。

现在给出nn个活动使用礼堂的起始时间begin\_ibegin_i和结束时间end\_i(begin\_i &lt; end\_i)end_i(begin_i&lt;end_i)，请你帮助办公室人员安排一些活动来使用礼堂，要求安排的活动尽量多。

输入

第一行一个整数n(n≤1000)n(n≤1000)；

接..]]></description><category></category></item><item><title><![CDATA[导弹拦截Java]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122994733</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122994733</guid><author>LX15588</author><pubDate>Fri, 18 Feb 2022 01:14:16 +0800</pubDate><description><![CDATA[1260：【例9.4】拦截导弹(Noip1999)

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 4063 通过数: 1477

【题目描述】
某国为了防御敌国的导弹袭击，发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷：虽然它的第一发炮弹能够到达任意的高度，但是以后每一发炮弹都不能高于前一发的高度。某天，雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段，所以只有一套系统，因此有可能不能拦截所有的导弹。

输入导弹依次飞来的高度（雷达给出的高度数据是不大于30000的正整数..]]></description><category></category></item><item><title><![CDATA[【Java分糖果】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122933663</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122933663</guid><author>LX15588</author><pubDate>Mon, 14 Feb 2022 22:48:03 +0800</pubDate><description><![CDATA[题目描述：
有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果，然后进行下面的游戏：

每个小朋友都把自己的糖果分一半给左手边的孩子。

一轮分糖后，拥有奇数颗糖的孩子由老师补给1个糖果，从而变成偶数。

反复进行这个游戏，直到所有小朋友的糖果数都相同为止。

你的任务是预测在已知的初始糖果情形下，老师一共需要补发多少个糖果。

【格式要求】

程序首先读入一个整数N(2&lt;N&lt;100)，表示小朋友的人数。
接着是一行用空格分开的N个偶数（每个偶数不大于1000，不小于2）
要求程序输出一个]]></description><category></category></item><item><title><![CDATA[1320：【例6.2】均分纸牌(Noip2002)]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122914974</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122914974</guid><author>LX15588</author><pubDate>Sun, 13 Feb 2022 21:59:06 +0800</pubDate><description><![CDATA[【题目描述】


有n堆纸牌，编号分别为1，2，…,n1，2，…,n。每堆上有若干张，但纸牌总数必为nn的倍数。可以在任一堆上取若干张纸牌，然后移动。

移牌规则为：在编号为11的堆上取的纸牌，只能移到编号为22的堆上；在编号为nn的堆上取的纸牌，只能移到编号为n−1n−1的堆上；其他堆上取的纸牌，可以移到相邻左边或右边的堆上。

现在要求找出一种移动方法，用最少的移动次数使每堆上纸牌数都一样多。

例如n=4n=4，44堆纸牌数分别为：①　9　②　8　③　17　④　6

移动3次可达到目的...]]></description><category></category></item><item><title><![CDATA[【Java数字金字塔】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122887627</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122887627</guid><author>LX15588</author><pubDate>Fri, 11 Feb 2022 19:59:13 +0800</pubDate><description><![CDATA[观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径，使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。



在上面的样例中,从1313到88到2626到1515到2424的路径产生了最大的和8686。

从大佬哪找的图解：数字金字塔（动态规划）_yanyanwenmeng的博客-优快云博客_数字金字塔动态规划



```Java


import java.util.Scanner;

public class Main {
    public stat.]]></description><category></category></item><item><title><![CDATA[1319：【例6.1】排队接水]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122871256</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122871256</guid><author>LX15588</author><pubDate>Thu, 10 Feb 2022 23:12:48 +0800</pubDate><description><![CDATA[时间限制: 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个空格。


【输出】


有两行，...]]></description><category></category></item><item><title><![CDATA[Java实现马走日]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122850495</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122850495</guid><author>LX15588</author><pubDate>Wed, 09 Feb 2022 21:47:40 +0800</pubDate><description><![CDATA[【题目描述】


马在中国象棋以日字形规则移动。

请编写一段程序，给定n×m大小的棋盘，以及马的初始位置(x，y)，要求不能重复经过棋盘上的同一个点，计算马可以有多少途径遍历棋盘上的所有点。


【输入】


第一行为整数T(T &lt; 10)，表示测试数据组数。

每一组测试数据包含一行，为四个整数，分别为棋盘的大小以及初始位置坐标n,m,x,y。(0≤x≤n-1,0≤y≤m-1, m &lt; 10, n &lt; 10)。


【输出】


每组测试数据包含一行，为一个整数，表示马能遍历棋盘的途径]]></description><category></category></item><item><title><![CDATA[【Java 快速排序】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122737807</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122737807</guid><author>LX15588</author><pubDate>Fri, 28 Jan 2022 23:02:15 +0800</pubDate><description><![CDATA[这是一个从网上找到的图解。

先设置一个基准数，这个基准数可以是任意位置的，这里我们选择第一个数为基准数，即6，然后进行一个类似归并的操作分成左子组和右子组 然后分别再对两边进行同样的操作。

```Java


import java.util.Arrays;
import java.util.Scanner;

public class Quick {
   
    /*
    数组元素i与j交换位置
     */
    public static void exch(Comparable[..]]></description><category></category></item><item><title><![CDATA[【Java 组合输出 （两种形式）】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122724332</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122724332</guid><author>LX15588</author><pubDate>Thu, 27 Jan 2022 22:10:51 +0800</pubDate><description><![CDATA[【题目描述】


排列与组合是常用的数学方法，其中组合就是从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&lt;n&lt;21，1≤r≤n)。


【输出】


所有的...]]></description><category></category></item><item><title><![CDATA[【Java 分解因数】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122710376</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122710376</guid><author>LX15588</author><pubDate>Wed, 26 Jan 2022 23:28:44 +0800</pubDate><description><![CDATA[【题目描述】


给出一个正整数aa，要求分解成若干个正整数的乘积，即a=a1×a2×a3×...×ana=a1×a2×a3×...×an，并且1&lt;a1≤a2≤a3≤...≤an1&lt;a1≤a2≤a3≤...≤an，问这样的分解的种数有多少。注意到a=aa=a也是一种分解。


【输入】


第1行是测试数据的组数nn，后面跟着nn行输入。每组测试数据占11行，包括一个正整数a(1&lt;a&lt;32768)a(1&lt;a&lt;32768)。


【输出】


nn行，每行输出对应一个输入。]]></description><category></category></item><item><title><![CDATA[【Pell数列 Java】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122710143</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122710143</guid><author>LX15588</author><pubDate>Wed, 26 Jan 2022 23:02:06 +0800</pubDate><description><![CDATA[【题目描述】


Pell数列a1,a2,a3,...a1,a2,a3,...的定义是这样的，a1=1,a2=2,...,an=2an−1+an−2(n&gt;2)a1=1,a2=2,...,an=2an−1+an−2(n&gt;2)。

给出一个正整数kk，要求Pell数列的第kk项模上3276732767是多少。


【输入】


第1行是测试数据的组数nn，后面跟着nn行输入。每组测试数据占11行，包括一个正整数k(1≤k&lt;1000000)k(1≤k&lt;1000000)。...]]></description><category></category></item><item><title><![CDATA[【逆序对，归并排序解法】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122693238</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122693238</guid><author>LX15588</author><pubDate>Tue, 25 Jan 2022 22:36:34 +0800</pubDate><description><![CDATA[【题目描述】

给定一个序列a1,a2,…,an，如果存在i&lt;j并且ai&gt;aj，那么我们称之为逆序对，求逆序对的数目。

【输入】

第一行为n,表示序列长度，接下来的n行，第i+1行表示序列中的第i个数。

【输出】

所有逆序对总数。

用for循环暴力求解

```Java


import java.util.Scanner;
public class Main {
    public static class Main {
        public static void mai]]></description><category></category></item><item><title><![CDATA[【Java逆序对】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122693057</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122693057</guid><author>LX15588</author><pubDate>Tue, 25 Jan 2022 22:33:57 +0800</pubDate><description><![CDATA[【题目描述】

给定一个序列a1,a2,…,an，如果存在i&lt;j并且ai&gt;aj，那么我们称之为逆序对，求逆序对的数目。

【输入】

第一行为n,表示序列长度，接下来的n行，第i+1行表示序列中的第i个数。

【输出】

所有逆序对总数。

用for循环暴力求解

```Java


import java.util.Scanner;
public class Main {
        public static void main(String[] args) {
            ]]></description><category></category></item><item><title><![CDATA[【Java 和为给定的数】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122675486</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122675486</guid><author>LX15588</author><pubDate>Mon, 24 Jan 2022 21:33:14 +0800</pubDate><description><![CDATA[【题目描述】


给出若干个整数，询问其中是否有一对数的和等于给定的数。


【输入】


第一行是整数n(0 &lt; n ≤ 100,000)，表示有n个整数。

第二行是n个整数。整数的范围是在00到108108之间。

第三行是一个整数m（0≤m≤230)m（0≤m≤230)，表示需要得到的和。


【输出】


若存在和为m的数对，输出两个整数，小的在前，大的在后，中间用单个空格隔开。若有多个数对满足条件，选择数对中较小的数更小的。若找不到符合要求的数对，输出一行No。


【输入样例】


4
]]></description><category></category></item><item><title><![CDATA[【Java放苹果】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122675380</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122675380</guid><author>LX15588</author><pubDate>Mon, 24 Jan 2022 21:31:15 +0800</pubDate><description><![CDATA[【题目描述】


把M个同样的苹果放在N个同样的盘子里，允许有的盘子空着不放，问共有多少种不同的分法？（用K表示）5，1，1和1，5，1 是同一种分法。


【输入】


第一行是测试数据的数目t（0&lt;=t&lt;=20）。以下每行均包含二个整数M和N，以空格分开。1&lt;=M，N&lt;=10。


【输出】


对输入的每组数据M和N，用一行输出相应的K。


【输入样例】


1
7 3

【输出样例】


8

设f(m,n) 为m个苹果，n个盘子的放法数目，则先对n作讨论，

 当n...]]></description><category></category></item><item><title><![CDATA[【归并排序】]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122627370</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122627370</guid><author>LX15588</author><pubDate>Fri, 21 Jan 2022 18:43:14 +0800</pubDate><description><![CDATA[基本思想：将待排序元素分成大小大致相同的2个子集合，分别对2个子集合进行排序，最终将排好序的子集合合并成为所要求的排好序的集合。

本质上采用的分治法。

网上找到一个图。





```Java


public 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]; ...]]></description><category></category></item><item><title><![CDATA[插入排序改良希尔排序]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122627112</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122627112</guid><author>LX15588</author><pubDate>Fri, 21 Jan 2022 18:33:06 +0800</pubDate><description><![CDATA[首先先来简单的插入排序这是基础。

```Java


public 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&lt;arr.length;i++){
            int key =arr[i];
            for ( j = i-1; j &gt;=]]></description><category></category></item><item><title><![CDATA[学习真的是一件很枯燥的事情。]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122611078</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122611078</guid><author>LX15588</author><pubDate>Thu, 20 Jan 2022 22:19:23 +0800</pubDate><description><![CDATA[要记住，你的人生都会因为你现在的努力而时刻的发生改变。从日出开始，到日落结束，你认为这一天没有荒废，那这就是充满意义的一天。

  在假期中保持一个良好的学习状态，和在学习过程中集中注意力是很困难的，在学校的时候，也许一小时的学习时间能顶上家里2小时甚至是三小时的时间。每天保持一个良好的学习习惯更是很困难。老师也曾点醒过我，让我好好学习，我也明白假期其实是一个很好的学习时间段，因为没有压力，时间更是可以自己把控。虽然每天都有学习，但是并不能让自己满意，也许我应该让自己时刻警醒着，努力克服这些困难...]]></description><category></category></item><item><title><![CDATA[过河卒问题]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122610855</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122610855</guid><author>LX15588</author><pubDate>Thu, 20 Jan 2022 21:59:08 +0800</pubDate><description><![CDATA[棋盘上 A点有一个过河卒，需要走到目标 B 点。卒行走的规则：可以向下、或者向右。同时在棋盘上 C 点有一个对方的马，该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。

棋盘用坐标表示，A 点 (0, 0)(0,0)、B 点 (n, m)(n,m)，同样马的位置坐标是需要给出的。


现在要求你计算出卒从 A 点能够到达 B 点的路径的条数，假设马的位置是固定不动的，并不是卒走一步马走一步。

输入格式
一行四个正整数，分别表示 B 点坐标和马的坐标。

输出格式
一个整数，]]></description><category></category></item><item><title><![CDATA[1312：【例3.4】昆虫繁殖]]></title><link>https://blog.youkuaiyun.com/LX15588/article/details/122589683</link><guid>https://blog.youkuaiyun.com/LX15588/article/details/122589683</guid><author>LX15588</author><pubDate>Wed, 19 Jan 2022 21:05:26 +0800</pubDate><description><![CDATA[科学家在热带森林中发现了一种特殊的昆虫，这种昆虫的繁殖能力很强。每对成虫过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

这是一道很经典的递推题.]]></description><category></category></item></channel></rss>