自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [笔试训练](三十二)094:素数回文095:活动安排096:合唱团

2.当前一个活动的结束时间晚于后一个活动的开始时间,活动重叠,ret不变,同时更新两个活动结束时间的较早值(最先结束的活动),好与再后一个活动比较。1.将同一个活动的开始时间和结束时间组成一个pair<LL,LL>,将pair排序后,逐个分情况讨论。3.当前一个活动的结束时间早于后一个活动的开始时间,活动不重叠,ret++。

2024-05-24 17:34:19 226

原创 [Linux] 进程控制(复习)

子进程刚被创建时,与父进程共享代码和数据,但当子进程需要进行进程程序替换时,也就意味着子进程需要对其数据和代码进行写入操作,这时便需要将父子进程共享的代码和数据进行写时拷贝,此后父子进程的代码和数据也就分离了,因此子进程进行程序替换后不会影响父进程的代码和数据。因此,对于子进程来说,父进程是不需要被标识的;进程程序替换之后,该进程对应的PCB、进程地址空间以及页表等数据结构都没有发生改变,只是进程在物理内存当中的数据和代码发生了改变,所以并没有创建新的进程,而且进程程序替换前后该进程的pid并没有改变。

2024-05-23 22:34:46 590

原创 [Linux] 进程概念(复习)

优先级实际上就是获取某种资源的先后顺序,而进程优先级实际上就是进程获取CPU资源分配的先后顺序,就是指进程的优先权(priority),优先权高的进程有优先执行的权力。

2024-05-22 22:36:55 772

原创 [笔试训练](三十一)091:小红的口罩092:春游093:数位染色

1)最后剩1人时,考虑多一只二人船或者三人船,或者和船上三人换两只二人船。2)最后剩2人时,考虑多一只二人船或者三人船,或者和船上三人换三只双人船。比较a/2和b/3的大小(即3*a和2*b的大小),计算每种船坐满的平均每人费用。1)最后剩1人时,考虑多一只二人船,或者和船上两人换一只三人船。状态表示:dp[i][j]表示前i个对象中挑选几个,总和是否等于j。1. 3*a<2*b时,尽量选二人船,不剩下人时,全选两人船。2. 3*a>=2*b时,尽量选三人船,不剩人时,全选三人船。

2024-05-22 21:57:41 323

原创 [笔试训练](三十)088:爱吃素089:相差不超过k的最多数090:最长公共子序列(一)

根据素数的性质a*b要为素数,a和b中必有一个1,所以只要判断不是1的那个是不是素数即可,由于数据量太大,判断素数时,x%i 时 i 只需遍历(2~sqrt(x))即可,不然会超时。状态表示:dp[i][j]表示字符串s1在 [0,i] 区间和字符串s2在 [0,j] 区间内所有子序列中,最长公共子序列的长度。填表:从左到右填(防止dp填表时越界,字符串起始位置应该从下标1开始)2.判断:窗口内最大-最小大于k。1.进窗口:right++3.出窗口:left++

2024-05-19 20:35:59 241

原创 [笔试训练](二十九)084:排序子序列085:消减整数086:最长上升子序列(二)

2.当H%(coin*2)==0时,才可放心让coin*2。1.尽可能多的让它减去2*coin。

2024-05-18 21:28:00 159

原创 [笔试训练](二十八)081:游游的重组偶数082:体操队形083:二叉树中的最大路径和

将整数x转化为字符串s,遍历s将偶数字符和最后一位交换即可(先将最后一位为偶数已符合的排除,防止交换后出现前导零的情况)3). 根节点要做的事情:整合左右⼦树的信息,得到经过根节点的最⼤路径和;1). 左⼦树收集:以左⼦树为起点的最⼤单链和;2). 右⼦树收集:以右⼦树为起点的最⼤单链和;4). 向上返回:以根节点为起点的最⼤单链和;递归/dfs/树形dp。

2024-05-18 14:23:21 120

原创 [笔试训练](二十七)078:kotori和气球079:走迷宫080:主持人调度

1)区间中开始时间大于等于堆中top(最小)的,用该区间的结束时间直接覆盖这个数。2)区间中开始时间小于堆中top(最小)的,直接插入该区间到堆中,多加一个主持人。2.建一个小根堆(只存放活动的结束时间),先放第一个区间。

2024-05-17 21:42:40 122

原创 [Linux] Shell和Linux权限

Shell的运行原理我们都知道Windows以图形化界面为交互方式,而Linux以命令行界面为交互方式。Windows和Linux的交互方式虽然不同,但本质上是一样的,图形化界面和命令行界面都是为了让用户进行相关操作,而图形化界面和命令行界面就是我们所说的“外壳程序”。Linux严格意义上说是一个操作系统,我们称之为“核心(kernel)”,但我们一般用户不能直接使用kernel,而是通过kernel的“外壳程序”,也就是所谓的Shell,来与kernel沟通。

2024-05-17 17:00:06 720

原创 [笔试训练](二十六)075:小红的ABC076:不相邻取数077:空调遥控

题目:题解:最短子串长度(大于1)只有为2和为3两种可能如:cc、cbc,只要遍历枚举一遍字符串即可。

2024-05-17 13:41:29 205

原创 [笔试训练](二十五)072:笨小孩073:主持人调度074:分割等和子集

题目:题解:1.哈希记录每个字符出现的次数,记录出现次数最多和最少的字符,得出差值2.判断质数函数。

2024-05-16 17:04:42 162

原创 [笔试训练](二十四)070:判断是不是平衡二叉树071:最大子矩阵072:小葱的01串

题目:题解:递归:对于左右子树,为平衡二叉树时,返回树高度,不为平衡二叉树时,返回-1。

2024-05-16 10:57:11 211

原创 [笔试训练](二十三)067:打怪068:字符串分类069:城市群数量

2.dfs中遍历每个城市 j ,当在矩阵m中有m[i][j]=1(即有相连关系时),则继续dfs向深搜索。2.每个字符串依次存入去重容器 unordered_set 中。3.dfs的同时将搜索过的城市用bool数组vis标记下。1.将每个没有标记过的城市 i 进行一次dfs。3.容器中的元素个数即为字符串的种类数。2.杀死一只怪物,玩家要抗几次攻击。*3.杀死一只怪物,玩家掉多少血。1.一只怪物能抗几次攻击。4.玩家能杀死多少怪物。1.将字符串进行排序。

2024-05-15 18:24:11 305

原创 [笔试训练](二十二)064:添加字符065:数组变换066:装箱问题

将数组排序后由大到小遍历,取相邻两个。将较小的值不断乘以2,如果某次结果等于较大的值,则符合条件继续向后取相邻两个数,如果不断乘以2最后只会大于较大的值时,则整个数组不符合条件。两字符串的字符数量差n-m,长字符串可从 [0,n-m] 位置作为起始下标。枚举所有A,B字符串可能的对应位置,得出对应位置不同字符数量的最小情况。

2024-05-14 22:50:57 200

原创 [笔试训练](二十一)061:爱丽丝的人偶062:集合063:最长回文子序列

题解1.两数组排序后,通过下标同时从两数组开头向后比较遍历小的输出。:dp[i][j]表示在区间 [i,j] 中最长回文子序列的长度。题解2.直接遍历一遍两个数组,同时插入set容器。填表方向为:从下往上,从左往右。

2024-05-14 11:30:38 149

原创 [笔试训练](二十)058:经此一役小红所向无敌059:连续子数组最大和060:非对称之美

简单模拟:优化:尽量和先算出含有互砍的回合数,不要用下面的循环模拟每一个回合,时间复杂度会很大。3.填表:初始化dp[0]=a[0], 向后遍历数组,同时维护记录连续子数组最大和。2.状态转移方程:dp[i]=max(dp[i-1]+a[i], a[i])1.状态表示:dp[i],以 i 位置结尾时,所有子数组的最大和。2.当字符串中的字符均相同时,不符合上面的规律,

2024-05-13 17:55:41 292

原创 [Linux] 入门指令详解

上面说到 -f 是强制性删除,-r 是递归式删除,这两个结合在一起就是递归式强制性删除,千万不要执行以下指令,因为在Linux当中没有类似回收站的东西也没有撤销删除的功能,删除指令一旦执行则是不可逆的。4)网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup。2)-a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

2024-05-13 11:35:07 1816

原创 [笔试训练](十九)055:小易的升级之路056:礼物的最大价值 057:对称之美

left 和 right 分别从字符串数组s的两端开始向中间遍历,当字符串 s[left] 和 s[right] 存在相同字符时,符合回文串的规则,则 left++,right-- 再次判断。状态 dp[i][j] 可由状态 dp[i-1][j] 和 dp[i][j-1] 转化而来,取二者最大值再加上棋盘该位置的礼物值。创建dp表时,多加一行多加一列初始化为0,dp表从下标为1开始填表(棋盘是从下标为0开始)以符合状态转移方程的推导。dp[i][j]:走到位置 [i][j] 时,礼物的最大价值。

2024-05-13 09:06:45 261

原创 [笔试训练](十八)052:字符串压缩053:chika和蜜柑054:01背包

ii. 选择第 i 个物品:那么我就只能去前 i - 1 个物品中,挑选总体积不超过 j - v[i] 的物品。此时 dp[i][j] = dp[i - 1][j - v[i]] + w[i]。此时dp[i][j] = dp[i - 1][j];综上,状态转移⽅程为: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - v[i]] + w[i])dp[i][j] 表⽰从前 i 个物品中挑选,总体积不超过 j 的情况下,最⼤重量是多少。

2024-05-10 21:45:53 429

原创 [笔试训练](十七)049:小乐乐改数字050:十字爆破051:比那名局的桃子

由题意得,我们是要枚举有⼤⼩为k的⼦数组,并且求出这段⼦数组中快乐值和羞耻度之和。因此,可以利⽤滑动窗⼝的思想,⽤两个变量维护⼤⼩为k的窗⼝的总和,并且不断更新即可。把输入的数字当成字符串,按字符一个一个读,边读边按条件改成字符0或1。简单模拟,记得在输入时,提前把每一行、每一列的和存储起来。

2024-05-10 14:54:25 157

原创 [笔试训练](十六)

根据题意模拟就行,注意不要有前导0的情况。

2024-05-08 19:29:07 202

原创 [笔试训练](十五)

题目:题解:简单题,开根号之后判断左右两个数哪个离得近。

2024-05-08 10:53:38 160

原创 [Linux] git工具的安装和使用

git是一个代码托管平台,它的创始人是大名鼎鼎的 Linux 之父: 林纳斯·托瓦兹,git的诞生可以使我们对已提交的代码历史版本进行回溯,这是一个十分重要的功能,除了查看历史版本外,git还支持代码合并和打标签等诸多使用功能;简言之,有了 git 以后,我们可以随时随地的对代码进行管理。

2024-05-08 08:10:24 847

原创 [笔试训练](十四)

将原数组改造一下,将相邻大小关系,变成相邻下标关系。动态规划:力扣《打家劫舍》拓展~排序后,每次取第二大的数。

2024-05-07 08:19:34 236

原创 [笔试训练](十三)

【代码】[笔试训练](十三)

2024-05-06 09:22:33 302

原创 [笔试训练](十二)

2.等量关系:两个头节点遍历双头链表的全部节点是等价的,所以两个头节点同时开始向后遍历到结尾后,到另一个头节点继续遍历,最终会在公共相交节点相遇(此时刚好均遍历完全部节点)。1.计数:从两个头节点遍历一遍计算长度差,长的链表先走len步再同时向后遍历当两节点相同时,到达第一个公共节点。用哈希记录好第二个字符串中的字符,再遍历一遍第一个字符串,只将没有记录的字符加在结果字符串上。简单线性dp:维护i位置之前,⼀共有多少个"s","sh",然后更新"shy"的个数。

2024-05-04 07:42:59 357

原创 [笔试训练](十一)

题目:题解:枚举:依次枚举1号礼包的数量,根据剩下的苹果桃子数量,计算出2号礼包的数量,计算每种组合的价值,记录下最大价值。

2024-05-03 01:47:09 2

原创 [笔试训练](十)

题目:题解:1.中心扩展算法:每个字符都可以尝试作为中心点看,会出现两种情况:可能是类似 aba 的字符串,也可能是类似 abba 的情况只需要分别计算出以一个和两个字符作为中心点的子串,取出较大的长度即可从left到right开始向两边扩散、比较,如果相等则继续扩散比较如果不相等则剪枝,不用再继续扩散比较计算每次比较的回文子串长度,取最大。

2024-04-28 14:55:58 842

原创 [笔试训练](九)

2.状态转移方程(根据最后一步划分情况):到i台阶,可从i-1台阶跳一格到i台阶,也可从i-2台阶跳两个格到i台阶,两种情况相加即可得到dp[i]。将输入的数字,每次模上10,从个位开始取每一位数,把数变成字符依次加到字符串ret上,同时标记好每加3个数字,就加一个逗号,最后将ret倒序输出。空间优化:参考斐波那契数列Fib[n]=Fib[n-1]+Fib[n-2],可借助a,b,c向右滚动实现c=a+b求到i台阶一共多少种方式。1.状态表示:dp[i]表示:到达i号台阶的时候,一共有多少种方式。

2024-04-27 13:52:56 350

原创 [笔试训练](八)

题目:题解:求最小公倍数公式:lcm(a,b)=a*b/gcd(a,b),gcd(a,b)为a,b之间的最小公因数,递归求最小公因数。

2024-04-26 19:47:51 318

原创 [笔试训练](七)

1.枚举:排序后,将可能的三角形边长组合列出来,可以看出来,当枚举的几个例子满足后,其他几个例子同样满足,可以省去这些例子的判定。边遍历边记下遇到的数字串,数字串中断时,更新ret为至今最长的字符串。

2024-04-26 16:21:03 191

原创 [笔试训练](六)

题目:题解:由于相加超过10要进位,因此需要从从后往前将每个数相加得到tmp,超过10时,该位只放tmp%10后的结果,同时将tmp/=10,进入下一位的相加中。

2024-04-25 10:02:53 236

原创 [笔试训练](五)

题目:题解:组成一个you需要一个o且能得2分,而组成相邻字母oo需要两个o,只能得1分。优先考虑组成尽可能多的you,再考虑剩下的o,放一起。

2024-04-24 10:35:38 246

原创 [笔试训练](四)

题目:题解:1.创建一个数组fib[],保存范围内的所有斐波那契数,再求离N最近的斐波那契数。2.创建3个数a,b,c,依次先后滚动,可得出所有的斐波那契数,当N落在b,c之间时,停止滚动,再求N离b,c哪个近。

2024-04-23 14:30:00 200

原创 [笔试训练](三)

题目:题解:该复合词中有空格,因此相当于以空格为分割依次输入多个字符串,字符串第一个字符为要大写并提出的字符。

2024-04-23 08:18:46 313

原创 [笔试训练](二)

题目:题解:使用向上取整函数ceil(),(记得添加头文件#include)

2024-04-22 17:07:38 421

原创 [笔试训练](一)

题目:题解:遍历L到R之间的每个数i,将i转化为字符串s,遍历s的每个字符,出现一次'2',次数增加一次。

2024-04-22 14:33:45 204

原创 【C++】AVL树的两单旋和两双旋

如果在一棵原本是平衡的AVL树中插入一个新节点,可能造成不平衡,此时必须调整树的结构,使之平衡化。根据节点插入位置的不同,AVL树的旋转分为四种。

2024-03-20 00:26:55 898

原创 [LeetCode]143.重排链表

143. 重排链表 - 力扣(LeetCode)

2024-02-28 19:43:59 467 1

原创 链表常用技巧和操作总结

1.定义好前后指针,不用担心会断开。

2024-02-27 21:57:17 337

大学《计算机网络》课程期末试题

大学《计算机网络》课程期末试题,大学生期末考试,用于期末考前复习。 1.什么是计算机网络? 计算机网络(Computer Network)是利用通信线路和通信设备,把分布在不同地理位置的具有独立功能的多台计算机、终端及其附属设备互相连接,按照网络协议进行数据通信,由功能完善的网络软件,实现资源共享和网络通信的计算机系统的集合。 2.计算机网络的主要功能是什么? 计算机网络其主要功能是实现资源共享和数据通信。资源共享就是共享网络上的硬件资源、软件资源和信息资源。数据通信是指计算机网络中的计算机与计算机之间或计算机与终端之间,可以快速可靠地相互传递各种信息,如数据、程序、文件、图形、图像、声音、视频流等。计算机网络除了上述功能之外,还可以提高系统的可用性,提高系统的可靠性,实现分布式处理,提高性能价格比。

2023-10-31

C语言实现通讯录(动态内存版)

1.通讯录中保存人的信息:名字、年龄、性别、电话、住址 2.通讯录的功能: -可以动态的增长占用的内存空间 -通讯录信息可以保存到文件,也可以从文件中加载。 -增加联系人 -删除指定联系人 -修改指定联系人 -查找指定联系人 -显示所有联系人的信息 -按名字排序功能 需要创建3个文件: Test.c - 测试通讯录 Contact.h - 函数和类型的声明 Contact.c - 函数的实现 知识点: C语言输入输出、循环语句、子函数设计、数组、结构体、指针,动态内存规划、排序等知识点

2023-10-29

空空如也

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

TA关注的人

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