自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (2)
  • 收藏
  • 关注

原创 VMWare下Linux系统NAT模式能连接网络但无法上网

今天花了将近8个小时纠结在这个问题上,历经从CentOS换到Ubuntu,从各种改配置改DNS重启网关。最后仍然是看见那个"网络已连接",主机也能PING通虚拟机,但就是从里面PING不通外面。最后我无意间发现“服务”里的NAT服务总是时不时会自动关闭,沿着这个猜想去网上一搜,发现果然是沙比锐捷客户端会定时去关闭NAT服务,具体为什么我也不懂。但是我把客户端一断,用手机热点一连,Linux立马就能上网了。最后只想说一句,法克锐捷!没办法,学习Linux的时候就老实地用热点吧。...

2021-09-14 00:31:10 337

原创 DES算法与四种加密模式的C++代码实现

本文主要是对《信息安全技术》的DES算法实验作业的一些总结,不会着重地介绍算法原理,而会在算法实现过程中给出自己的理解(因为有些部分我也不知道正确与否,如有错误请指教)。文章中出现的原理介绍和配图,均参考自其它博客,相关链接将在文中给出。另外,文中的代码都是根据内容截取的,若想查看完整代码,请参考DES - github一、DES算法简介(参考自DES算法实例详解) DE...

2019-10-17 03:12:10 2674 3

原创 模板类出现undefined reference或无法解析的外部符号错误

今天使用模板类创建双向循环链表时碰到了一个大坑。按照一般思维,将类的声明放在.h文件中,将函数功能的实现及定义放在.cpp文件中。代码编写完成后调试,却碰到了undefined reference to...(在VS中报错无法解析的外部符号...)在网上查了半天才知道,原来是模板类的问题。对于普通的类,即使声明和定义分别位于.h和.cpp文件,在main.cpp中只需要把类的头文件用#incl...

2019-04-21 15:35:43 895

原创 蓝桥杯历届试题 PREV1 - 核桃的数量

历届试题 核桃的数量  时间限制:1.0s   内存限制:256.0MB   问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1. 各组的核桃数量必须相同2. 各组内必须能平分核桃(当然是不能打碎的)3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个...

2019-01-26 10:58:51 203

原创 蓝桥杯 小计算器

问题描述  模拟程序型计算器,依次输入指令,可能包含的指令有  1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数  2. 运算指令:'ADD','SUB','MUL','DIV','MOD',分别表示加减乘,除法取商,除法取余  3. 进制转换指令:'CHANGE K',将当前进制转换为K进制(2≤K≤36)  4. 输出指令:'EQUAL',以当...

2018-11-09 01:06:55 1658

原创 图的二着色问题

问题描述:对于给定的图G,如果存在一种用两种颜色对顶点着色的方案,使得图中任意一条边所连接的两个顶点着不同颜色,则称图G是可二着色的。实验任务:对于给定的图G,计算G是否可二着色数据输入:第1行有2个正整数m, n,表示给定图G有n个顶点和m条边,顶点编号1,2,...,n。接下来m行中,每行有两个正整数u,v,表示图G的一条边(u,v)结果输出:可二着色输出"Yes",否则输出"No...

2018-10-09 00:05:56 3606

原创 AVL树的构造、插入和删除(C++)

昨天搞了一个晚上,可算是把AVL树的概念搞明白。而后又参阅了大量的博客和书籍,终于是自己搞了一套代码(期间各种BUG搞得我欲仙欲死= =、)虽然考研可能不要求实现,但还是写点东西,就算是自己总结一下吧。AVL树是一种BST(二叉搜索树),但是AVL是需要保持平衡的,即若AVL非空,那么它上面每一结点的左、右子树高度之差的绝对值不超过1,即 ,其中hl - hr记做平衡因子bf定义部分:...

2018-09-29 14:12:24 3259 2

原创 构造二叉排序树(BST)+二叉排序树的删除

主要是删除操作二叉排序树的删除1. 删除叶结点,直接删除2. 删除结点p只有左子树或右子树,让其子树替代该结点p即可3. 删除结点p既有左子树又有右子树,以该结点p为根,查找中序遍历下第一个结点t,使这个结点t替换p结点(val覆盖即可),再递归一次删除这个结点t即可#include <iostream>#include <string>using na...

2018-09-28 21:57:24 505

原创 构造中序线索二叉树

主要是利用二叉树的空指针域,若为空,使左指针指向前驱,并标记ltag为1;使右指针指向后驱,并标记rtag为1;要注意的是构造结束后,此时pre指向最后一个结点,此时需记得pre->right = nullptr, pre->rtag = 1。否则这棵树的右子树无法遍历;这样使得这些指针域不至于浪费,并能够加快查找结点前驱和后继的速度。#include <iostr...

2018-09-28 14:41:26 2107 1

原创 LeetCode领扣 #107 二叉树的层次遍历II(Binary-Tree-Level-Order-Traversal-II)

给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]] 思路:有丶复杂,但本质还是...

2018-09-27 20:12:37 195

原创 LeetCode领扣 #104 二叉树的最大深度(Maximum-Depth-Of-Binary-Tree)

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 思路:经典算法。二叉树深度= max(左子树深度,右子树深度) + 1,...

2018-09-27 19:44:16 153

原创 LeetCode领扣 #101 对称二叉树(Symmetric Tree)

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解...

2018-09-27 19:32:25 183

原创 LeetCode领扣 #100 相同的树(Same Tree)

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 ...

2018-09-27 19:25:15 130

原创 使用邻接矩阵+Dijkstra算法求解单源最短路径问题

Dijkstra算法是求解有向非负带权图中某一结点到其它结点的最短路径算法。这个算法和Prim算法求解最小生成树有点相似,它也是先有一个初始顶点,然后查找最小带权路径。不同的是,Prim需要更新最小生成树的结点,不断将结点更新到VT中,然后更新low_cost[]数组,是VT中的各结点到V-VT中的各结点的最小路径。而Dijkstra算法更新的dist[]数组,仅仅是源点到其他点的最短路径...

2018-09-14 13:31:48 1984

原创 用克鲁斯卡尔(Kruskal)算法构造最小生成树(最小支撑树)

Kruskal算法和Prim算法相比,就是Kruskal算法从边出发,不断寻找当前未添加进Et的、且权值最小的边,若添加后不形成环,则添加成功;否则跳过,继续尝试添加下一条边。最后,判断边的数量arcnum是否是点的数量vexnum-1,若是则最小生成树构造成功,否则失败。Prim算法与顶点相关时间复杂度O(|V|²),所以适合顶点少边多的图;Kruskal反之,算法与边相关,时间复杂度为...

2018-09-14 01:40:27 10844 4

原创 用邻接矩阵+普里姆(Prim)算法构造最小生成树(最小支撑树)

首先什么是最小生成树(我的教材称为最小支撑树)?它是一个图的极小连通子图。那什么是图?什么是极小连通子图?图是一种数据结构,由顶点集合V(非空)和边集合E构成,记为G=(V,E)。G即Graph图,V即Vertex顶点,E即Edge边。连通图可以理解为能够一笔画出来的图。而极小连通子图则是包含一个连通图的所有顶点(假设有n个),却只有(n-1)条边(这些边仍然属于E)的子图,并且这个子图仍然是...

2018-09-12 11:24:58 6764 1

原创 二叉树后序中序遍历序列确定前序问题

任务:给定一颗有n个结点的二叉树,结点的编号是1,2,3,...,n。已知二叉树结点编号的后序和中序列表,试设计一个算法,确定该二叉树结点编号的前序列表。输入:第1行有1个正整数n,表示给定的二叉树有n个结点。接下来的两行中,第1行是二叉树结点的后序遍历列表,第2行是二叉树结点的中序遍历列表输出:二叉树的前序遍历列表 测试输入:53 4 5 2 13 4 1 5 2...

2018-09-10 15:30:55 455

原创 子树问题

任务:对于给定的二叉树,计算二叉树各结点自己为根时子树的结点数,并按前序输出输入:第1行有1正整数n,表示给定的二叉树有n个顶点,编号为1,2,3,...n。接下来n行中,每行有3个整数a,b,c,分别表示编号为a的结点的左儿子编号为b,右儿子编号为c,为0表示没有儿子。各结点信息按照层序列表的顺序给出输出:将计算出的以二叉树各结点为根的子树的结点数按照前序列表输出 输入样例:...

2018-09-10 13:11:06 306

原创 多叉树最近公共祖先问题(LCA)

任务:设计一个算法,对于给定的树中两结点,返回它们的最近公共祖先输入:第1行有一个正整数n,表示给定的树有n个结点。结点编号为1,2,3,...,n,编号为1的顶点是树根。接下来n行中,第i+1行描述了第i个结点的儿子情况。每行的第一个正整数k表示该结点有k个儿子,其后k个数中,每一个数表示其儿子结点的编号。当k=0时表示该结点为叶节点。输入的第n+2行是一个正整数m,表示要计算最近公共祖...

2018-09-10 12:17:38 4614

原创 层序列表问题(二叉树的层次遍历)

问题描述:对树中结点按层序列表是指先列树根,然后从左到右一次列出所有深度为1的节点,再从做到右地列出深度为2的节点,等等。层序列表问题要求对一颗给定的二叉树按层序列表。数据输入:第一行为一个整数n,表示给定的二叉树有n个顶点。接下来的n行中,每行有3个整数a,b,c 分别表示编号为a的节点的左儿子b和右儿子c。0表示结点为空。51 4 24 3 02 5 03 0 05 0 0...

2018-09-10 10:32:55 448

原创 链表解决约瑟夫环(Josephus)问题

这里存储的出列的序列,如果只想要最后一人输出res[n-1]就好了#include <iostream>#include <list>using namespace std;void Josephus(int n, int m, int res[]){ if( n<=0 || m<=0 ) return; list<int&gt...

2018-09-10 09:10:15 426

原创 猴子分桃问题

任务:动物园里的n只猴子编号为1,2,3,...,n,依次排成一队等待分桃。分桃规则是每只猴子可分得m个桃子,但必须排队领取。饲养员依次拿出1,2,3,...,k个桃子放入筐中,由队首猴子领取。当取到k个桃子放入筐中后,下一次又重新从1个桃子开始取。当筐中桃子数加上队首猴子已取得的桃子数不超过m时,队首猴子可以全部取出筐中的桃子。取得桃子总数不足m个猴子,继续到队尾排队等候,当筐中桃子数加上队首猴...

2018-09-09 18:40:42 1376

原创 双栈模拟队列

栈是先进后出,队列是先进先出,因此若想用栈保存数据(stack1)获得正确的顺序,就要把栈的顺序反过来。可以把stack1中的数据逐个弹出至另外一个栈(stack2),这样就可以达到正确的队列顺序了值得注意的是,似乎在出队后需要将stack2的再逐个弹回stack1,实际上不用。在下一次出队时若stack2非空,直接从stack2去弹出;否则,再将stack1的元素全部弹出至stack2,然后...

2018-09-09 14:10:23 524

原创 多栈模拟问题

任务:模拟当前系统中各栈的工作转态输入:第1行是一个正整数n,表示n个栈操作。接下来n行,每行一个栈操作指令。"PUSH A B"表示将正整数B压入编号为A的栈顶,"POP A"表示弹出并输出栈A的栈顶元素,为栈为空则输出0不是什么特别难的算法,就随便写写了,关键在于栈的编号不是顺序的,而且也没有范围,所以考虑使用map来存储#include <iostream>#in...

2018-09-09 11:51:36 221

原创 单柱汉诺塔翻转问题

在一个塔座上有一叠大小不等的共n 个圆盘。各圆盘从小到大编号为1,2,……,n。初始时,这些圆盘自下而上散乱地叠在一起。现要求按照以下翻转规则,经若干次翻转,将塔座上的这一叠圆盘排好序,即按自底向上,从大到小的顺序叠置。 翻转规则:每次可以将最顶上的若干圆盘翻转,即按其相反的次序叠置。 例如,在下面的 3个圆盘叠置状态中,中间状态是在左边状态中第3 个圆盘以上所有圆盘翻转后得到的,相应翻...

2018-09-09 11:02:06 340

原创 车皮编序问题

数据结构栈的应用,依然是深搜,参考了别人的代码,但是关于out栈还是有点不太理解 #include <iostream>#include <stack>using namespace std;int n; //火车数量 int num; //调度方案数template <class T>void initStack(stack&l...

2018-09-09 00:47:18 458

原创 迷宫问题/n*m方格阵电路布线问题

啊,被FDU无住宿无补贴劝退了,985终究一场梦,只好拿起自己学校的教材了我们这本教材比较经典的就是电路布线问题了,估计和这方面成果不错有点关系。其实我今天仔细看了看发现这不就是迷宫的路径搜索问题吗......主要的思想还是深度优先搜索、回溯法......参考了教材上的做法以后,发现其实思路都差不多,只不过我和它的标记和存储方法不同。我的做法是,初始化时用-2标记障碍点,用-1标记可布...

2018-09-08 13:18:19 1074

原创 CCF 201412-2 Z字形扫描

问题描述试题编号: 201412-2 试题名称: Z字形扫描 时间限制: 2.0s 内存限制: 256.0MB 问题描述: 问题描述   在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:   对于下面的4×4的矩阵,   1 5 3 ...

2018-09-04 16:51:47 169

原创 CCF 201512-3 画图

问题描述试题编号: 201512-3 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。   ..____.____..____.....

2018-09-04 11:48:06 156

原创 CCF模拟试题 201609-3 炉石传说

试题编号:201609-3试题名称:炉石传说时间限制:1.0s内存限制:256.0MB问题描述:问题描述  《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:  * 玩家会控制一些角色,每个角色有自己的生...

2018-06-11 19:12:25 314

原创 CCF模拟试题 201803-2 碰撞的小球

试题编号:201803-2试题名称:碰撞的小球时间限制:1.0s内存限制:256.0MB问题描述:问题描述  数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。  当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。  当两个小球撞...

2018-06-05 14:41:23 1573 1

原创 JAVA(杂记四) -- 类与对象

东西太多,先写在代码里了,以后有时间整理import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Employee e1 = new Employee("lyy", 38...

2018-05-31 22:58:22 162

原创 JAVA(杂记三) -- 循环与数组

   循环首先,C/C++块作用域在JAVA依然适用,但是不允许在嵌套的块中重复定义变量while(...){    int n = 10;    //    ...    for(...)    {        //    ...        int n = 1;    //    C/C++可以,内层变量将覆盖外层,但JAVA不允许        //    ...   ...

2018-05-31 21:26:10 140

原创 JAVA(杂记二) -- 字符串

String字符串类型,注意首字母的大写S,因为String包装在类中,而JAVA默认类名首字母大写,方法名首字母小写,之后再使用驼峰法若有String str = "abcdjkl",注意不同于C++,不能使用str[i]访问单个字符,可以使用char ch = str.charAt(index)获取单个字符,其中index是下标若只声明了字符串变量,如String str,则此时str为nul...

2018-05-31 12:50:47 194

原创 JAVA(杂记一)

    最后还是迫于现实(实习项目)要学JAVA(#——# 其实我想学学C#),好吧废话就不多说了    JAVA的8种基本类型:    1.  整型       byte(1字节,-128~127)   short(2字节,-32768~32767)    int(4字节,-2147483648~2147473647,20亿左右)    long(8字节,-9223372036854775808...

2018-05-31 12:00:29 171

原创 PAT乙级1009 说反话 (20)

1009. 说反话 (20)时间限制 400 ms内存限制 65536 kB代码长度限制 8000 B判题程序 Standard 作者 CHEN, Yue给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符

2018-01-12 18:02:06 216

原创 PAT乙级1005 继续(3n+1)猜想 (25)

PAT乙级1005  继续(3n+1)猜想 (25)时间限制 400 ms内存限制 65536 kB代码长度限制 8000 B判题程序 Standard 作者 CHEN, Yue卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候

2018-01-12 16:27:23 189

原创 17.05.20 总结

1

2017-05-20 10:58:10 251

原创 17.05.15小总结

用scanf()输入一个带空格的最多20个字符的字符串为 scanf("%20[^n]",str);用printf()输出一个保留n位小数的double型变量x为 printf("%.*lf",n,x);

2017-05-15 19:35:04 189

空空如也

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

TA关注的人

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