<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lz318318的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lz318318</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lz318318]]></copyright><item><title><![CDATA[迷宫问题 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145576601</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145576601</guid><author>Lz318318</author><pubDate>Tue, 11 Feb 2025 17:54:49 +0800</pubDate><description><![CDATA[一组数据，输入数据第1行为两个正整数m和n，m表示迷宫高度，n表示迷宫宽度，m<100,n<100；第3为两个整数，分别表示终点的行列位置；其后为m行数据，每行n个整数，表示迷宫对应位置的状态，0表示通路，1表示障碍。其中三元组中的(i,j)表示迷宫中的一个坐标，d表示走到下一坐标的方向，d=1表示向右走，d=2为向下走，d=3为向左走，d=4为向上走。以一个m*n的长方阵表示迷宫，0和1分别表示迷宫的通路和障碍。设计一个程序，对任意设定的迷宫，求出一条从入口到出口的通路，或得出没有通路的结论。]]></description><category></category></item><item><title><![CDATA[输出螺旋方阵]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145488744</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145488744</guid><author>Lz318318</author><pubDate>Fri, 07 Feb 2025 10:12:52 +0800</pubDate><description><![CDATA[题目：输出螺旋方阵 问题描述 螺旋方阵是指一个呈螺旋状的矩阵，它的数字由第一行开始到右边不断变大，向下变 大，向左变大，向上变大，下面是一个5*5阶的螺旋方阵。输入螺旋方阵的阶数N，按行 输出该螺旋方阵。printf中的格式字符%md，m指定输出最小宽度，m<0为左对齐。按行输出N阶螺旋方阵的元素，每个元素最小宽度4个字符，左对齐。输入一个正整数N(1<N<=10)。]]></description><category></category></item><item><title><![CDATA[判断堆栈出栈序列是否有效 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145339891</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145339891</guid><author>Lz318318</author><pubDate>Fri, 24 Jan 2025 13:09:09 +0800</pubDate><description><![CDATA[如果以序列“1,2,3,4”作为一个栈（初始为空）的输入，那么可得到输出序列“1,2,3,4”或“4,3,2,1”或“2,3,1,4”等等，但是肯定得不到输出序列“4,1,2,3”或“3,1,2,4”等等。请编写一个程序，判断能否通过一个栈得到给定的输出序列。每组数据由两行构成，第一行只有一个整数n（<10），表示序列长度，同时表示栈的输入序列为“1,2,3,…第二行为n个整数，表示需要判断的出栈序列，整数之间以空格分隔。输出一个yes或no（表示能否通过栈得到该序列）。根据栈的后进先出特性进行判断。]]></description><category></category></item><item><title><![CDATA[最长重复子串长度]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145327639</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145327639</guid><author>Lz318318</author><pubDate>Thu, 23 Jan 2025 18:04:23 +0800</pubDate><description><![CDATA[给定一个字符串，找出其中最长的重复出现的子串的长度。例如，对于字符串 “abababc”，最长的重复出现的子串是 “ab”，长度为 2；对于字符串 “aaaa”，最长的重复出现的子串是 “aaaa”，长度为 4。这是我让豆包AI出的题，做的可能不完全正确，希望大家指正。每组数据为一个字符串，字符串长度不超过 100。输出每组字符串中最长重复出现子串的长度。题目一：最长重复子串长度。]]></description><category></category></item><item><title><![CDATA[中心对称的字符串 ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145295344</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145295344</guid><author>Lz318318</author><pubDate>Wed, 22 Jan 2025 09:22:10 +0800</pubDate><description><![CDATA[对于有n个字符的字符串，设计算法判断字符串是否中心对称。例如，xyzzyx和xyzyx都是中心对称的字符串。每组数据有2行：第一行为整数n，表示字符的个数，n小于100；第二行为n个字符组成的字符串。判断这个字符串是否是中心对称的，是输出“YES”，不是输出“NO”。这道题是比较简单的，有一个疏漏是，我觉得不用输入字符串的个数n。]]></description><category></category></item><item><title><![CDATA[报数出列问题 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145288725</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145288725</guid><author>Lz318318</author><pubDate>Tue, 21 Jan 2025 18:40:41 +0800</pubDate><description><![CDATA[报数出列问题。]]></description><category></category></item><item><title><![CDATA[有序表的合并去重]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145266830</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145266830</guid><author>Lz318318</author><pubDate>Mon, 20 Jan 2025 17:42:51 +0800</pubDate><description><![CDATA[第一行输入两个正整数a,b，分别表示第一个线性表L1和第二个线性表L2的长度；第2行依次输入L1中单调增的a个正整数；第3行依次输入L2中单调增的b个正整数。正整数均小于10000。共有1行，最终合并并去重后的结果，每个数字之间有一个空格。，每个线性表中数据元素的值为单调增的正整数（中数据元素的值仍为单调递增，且无重复元素。个），各线性表内部无重复元素。]]></description><category></category></item><item><title><![CDATA[链表去重 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145212967</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145212967</guid><author>Lz318318</author><pubDate>Fri, 17 Jan 2025 19:04:43 +0800</pubDate><description><![CDATA[测试样例：输入样例100100 5输出样例1399999 7 -1。]]></description><category></category></item><item><title><![CDATA[一元稀疏多项式计算器]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/145124711</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/145124711</guid><author>Lz318318</author><pubDate>Mon, 13 Jan 2025 21:55:59 +0800</pubDate><description><![CDATA[每组数据有3行构成，第1行为3个正整数n，m，t， n表示第一个多项式的项数，m表示第二个多项式的项数，t表示运算类型，0为加法，1为减法，每组数据的第2行包含2n个整数，每两个整数分别表示第一个多项式每一项的系数和指数；第3行包含2m个整数，每两个整数分别表示第二个多项式每一项的系数和指数。您提供的代码实现了一元稀疏多项式的加减运算，但存在一些逻辑错误和潜在的问题。： 虽然代码在最后释放了动态分配的内存，但更推荐使用现代 C++ 的容器（如。这道题的思路：借鉴归并算法，将两个多项式合并成一个多项式。]]></description><category></category></item><item><title><![CDATA[判断有向图中是否有环]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144827523</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144827523</guid><author>Lz318318</author><pubDate>Mon, 30 Dec 2024 15:38:30 +0800</pubDate><description><![CDATA[题目：判断有向图中是否有环问题描述判断有向图中是否有环。输入格式输入数据第一行是一个正整数，表示n个有向图，其余数据分成n组，每组第一个为一个整数，表示图中的顶点个数n，顶点数不超过100，之后为有向图的邻接矩阵。输出格式输出结果为一行，如果有环，则输出1，如果无环，则输出0。按顺序输出这n个有向图的判断结果，前后结果的输出不加空格。样例输入320 10 030 1 10 0 00 0 040 1 0 00 0 0 10 0 0 11 0 0 0样例输出001。]]></description><category></category></item><item><title><![CDATA[图的深度优先遍历]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144819925</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144819925</guid><author>Lz318318</author><pubDate>Mon, 30 Dec 2024 11:37:48 +0800</pubDate><description><![CDATA[已知无向图的邻接矩阵，以该矩阵为基础，给出深度优先搜索遍历序列，并且给出该无向图的连通分量的个数。在遍历时，当有多个点可选时，优先选择编号小的顶点。（即从顶点1开始进行遍历）第一行输出为无向图的深度优先搜索遍历序列，输出为顶点编号，顶点编号之间用空格隔开；第二行为无向图的连通分量的个数。第一行是1个正整数，为顶点个数n（n]]></description><category></category></item><item><title><![CDATA[图的广度优先遍历 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144813340</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144813340</guid><author>Lz318318</author><pubDate>Mon, 30 Dec 2024 00:19:54 +0800</pubDate><description><![CDATA[已知无向图的邻接矩阵，以该矩阵为基础，给出广度优先搜索遍历序列，并且给出该无向图的连通分量的个数。在遍历时，当有多个点可选时，优先选择编号小的顶点。（即从顶点1开始进行遍历）第一行输出为无向图的广度优先搜索遍历序列，输出为顶点编号，顶点编号之间用空格隔开；第二行为无向图的连通分量的个数。第一行是1个正整数，为顶点个数n（n]]></description><category></category></item><item><title><![CDATA[高铁网络 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144811194</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144811194</guid><author>Lz318318</author><pubDate>Sun, 29 Dec 2024 21:42:58 +0800</pubDate><description><![CDATA[国家建设高铁网络，网络由一些连接城市的高铁线路构成。现有高铁建设情况可列为一张统计表，表中列出了每一条高铁线路直接连接的两个城市。国家的建设目标是全国每两个城市之间都可以实现高铁交通（但不一定有直接的高铁线路相连，只要能间接通过高铁线路可达即可）。测试用例的第1行给出两个正整数，分别是城市数目N(]]></description><category></category></item><item><title><![CDATA[输出快速排序递归算法隐含递归树的后序遍历序列]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144810111</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144810111</guid><author>Lz318318</author><pubDate>Sun, 29 Dec 2024 20:47:18 +0800</pubDate><description><![CDATA[注意：快速排序递归结束条件为递归的子表中仅剩一个元素，这个元素在本题得到后序遍历序列需要保存。快速排序递归算法隐含一棵由关键字生成的二叉树（递归树），输出该隐含二叉树的后序遍历序列。这道题我们首先需要知道的是快速排序的结果是中序遍历序列，我们可以在递归过程中保存每次的枢轴位置，即对应二叉树的根节点。输入数据第一行为1个正整数n，表示关键字个数。第2行为n个整数表示n个关键字。在快速排序的过程中输出隐含二叉树的后序遍历序列，不用生成二叉树。在一行上输出由关键字隐含的二叉树的后序遍历序列。]]></description><category></category></item><item><title><![CDATA[输出完全二叉树的某一层 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144647554</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144647554</guid><author>Lz318318</author><pubDate>Sun, 22 Dec 2024 15:52:29 +0800</pubDate><description><![CDATA[每组数据第一行输入一个结点数n(1<=n<=1000)，第二行将树中的这n个节点依次输入（每个结点存储的数据是一个数字），n个结点编号方式是层间从上到下、层内从左到右依次编号；考察完全二叉树：设双亲结点位置为i（下标从1开始），在数组中存储，左孩子结点位置为2*i，右孩子位置为2*i+1。该完全二叉树的第一层是1，第二层是2 3，第三层是4；题目要求输出第二层，则输出2 3。对一棵完全二叉树，输出某一深度的所有节点，有则输出这些节点，无则输出EMPTY。，用while(1)循环，当输入n=0时结束循环。]]></description><category></category></item><item><title><![CDATA[二叉树扩展先序遍历转中序遍历 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144643127</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144643127</guid><author>Lz318318</author><pubDate>Sun, 22 Dec 2024 10:54:41 +0800</pubDate><description><![CDATA[编一个程序，读入用户输入的一串扩展先序遍历字符串，根据此字符串建立一个二叉树（以指针方式存储）。例如如下的扩展先序遍历字符串： ABC##DE#G##F### 其中“#”表示的是空格，空格字符代表空树。建立起此二叉树以后，再对二叉树进行中序遍历，输出遍历结果。输出将输入字符串建立二叉树后中序遍历的序列，每个字符后面都有一个空格。每个输出结果占一行。根据给定的扩展先序遍历序列，建立对应的二叉树，然后对所得的二叉树进行中序遍历输出结果即可。输入包括1行字符串，长度不超过100。]]></description><category></category></item><item><title><![CDATA[二叉树的不同形态 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144637177</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144637177</guid><author>Lz318318</author><pubDate>Sat, 21 Dec 2024 22:34:56 +0800</pubDate><description><![CDATA[思路：不断递归，取出更深层的层次遍历序列以及先序遍历序列，再次递归，在递归过程中将根节点保存到先序序列和后序序列中。需要注意的是，先序序列的顺序为根左右，因此先将根保存到先序序列中，再递归左子树、右子树；给定二叉树T（树深度H<=10，深度从1开始，结点个数N<1024，结点编号1~N）的层次遍历序列和中序遍历序列，输出T从左向右叶子结点以及二叉树先序和后序遍历序列。输入共三行：第一行是整数n，表示二叉树中的结点数目；输出三行，分别是：从左向右的叶子结点，先序遍历序列，后序遍历序列。结点编号用空格隔开。]]></description><category></category></item><item><title><![CDATA[二叉树遍历 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144636024</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144636024</guid><author>Lz318318</author><pubDate>Sat, 21 Dec 2024 21:08:04 +0800</pubDate><description><![CDATA[使用递归函数，可以想到，根据先序序列以及中序序列将根节点找出。在中序序列中，根节点前的序列是树的左子树的中序遍历学列，并依此从先序序列中找出左子树的先序序列（右子树的遍历序列同理），将新的到的先序以及中序序列作为参数传入递归函数，重复上述操作，直到只剩下1个元素，输出该元素，结束循环。在递归函数中，每次将左右子树遍历序列递归后，将根节点打印。输入数据有两行，为两个字符串，其长度n均小于等于26。第一行为先序遍历序列，第二行为中序遍历序列。给定一棵二叉树的先序遍历和中序遍历序列，求其后序遍历序列。]]></description><category></category></item><item><title><![CDATA[Huffman编码 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144621917</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144621917</guid><author>Lz318318</author><pubDate>Fri, 20 Dec 2024 23:38:04 +0800</pubDate><description><![CDATA[需要注意的是Select函数，在HT前k个元素中选择出两个最小值算法，这个比较简单，但是有一些小点需要注意，比如先要给s1、s2赋值，我首先考虑的是s1=s2=1，但是运行时出现了一些问题；然后我尝试了s1=1，s2=2，也不能得到正确结果；最后利用了HT中未用到的0号位置，s1=s2=0，最终得到正确答案。代码中构建Huffman树参考了 严蔚敏《数据结构(C语言版 第2版)》 中构建Huffman树部分，其他的代码读者可以参考注释。一组数据，第１行为ｎ的值，第２行为ｎ个整数，表示字符的出现频度。]]></description><category></category></item><item><title><![CDATA[约瑟夫环 XDOJ]]></title><link>https://blog.youkuaiyun.com/Lz318318/article/details/144494345</link><guid>https://blog.youkuaiyun.com/Lz318318/article/details/144494345</guid><author>Lz318318</author><pubDate>Sun, 15 Dec 2024 22:59:11 +0800</pubDate><description><![CDATA[编号为1,2,...,n的n个人按顺时针方向围坐一圈，每人持有一个密码（正整数）。现在给定一个随机数m>0，从编号为1的人开始，按顺时针方向1开始顺序报数，报到m时停止。报m的人出圈，同时留下他的密码作为新的m值，从他在顺时针方向上的下一个人开始，重新从1开始报数，如此下去，直至所有的人全部出圈为止。输入数据第一行为两个正整数n和m，分别表示人的个数及初始随机数，每组数据的第二行为n个整数，表示每个人持有的密码。代码使用了带头结点的链表，头节点中的数据域中保存了链表的数据数量。使用不带头节点的循环链表。]]></description><category></category></item></channel></rss>