自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机组成原理————计算机运算方法精讲<2>补码精讲及两个关于补码的秒杀大法

对于真值0.1110,它的原码是0.1110,正数补码是本身不变,对于-0.1110我们可以知道原码1.1110然后利用秒杀技,最后的10照抄,小数点后的两个1取反,就可以直接得到补码1.0010,是不是非常好用呢?我们由1011变为0000可以通过减去自身得到,也可以加上0101来实现,加上0101的结果是10000,但由于计数器只有4位(16=2的4次),所以。我们可以在数值位前面加上符号位来表示,0表示正数,1表示负数,那么我们如何实现符号位的变化呢?,所以我们可以模(pow(2,4+1))

2025-04-14 22:22:32 545

原创 Mysql从入门到精通day5————子查询精讲

这里我们使用之前的文章已经创建过的图书借阅表和图书信息表,先查看两表中的图书id部分,结果如下图:下面的语句的意思是通过in关键字从图书借阅表中查询图书id,前提条件是这个id在图书信息表也出现过,然后返回图书id,图书名,作者,价格可以看出上图中的图书信息表中的id有4个,但是查询记录只有三条即两表的公共部分如图,内层查询两表的公共id外层返回查询到的记录为了使读者更直观了解比较运算符查询我们新建了两个表为图书归还表和管理员信息表然后我们插入数据包含姓名,年龄,部门查看插入的结果使用

2025-03-31 21:09:31 528

原创 计算机组成原理————计算机运算方法精讲<1>原码表示法

原码是机器数中最简单的一种表示形式,符号位为0表示正数,符号位为1表示负数,数值位是真值的绝对值,所以原码又称为带符号的绝对值表示。为了区别整数和小数,约定整数的符号位与数值位之间用逗号隔开;小数的符号位与数值位之间用小数点隔开我们都知道不管是原码还是补码他们都是机器数,是机器数就一定会受到硬件的限制即位数的限制,所以多余的位会自动舍去,这对我们后续理解补码非常重要,不指定字长的机器数是没有意义的。

2025-03-30 21:46:20 1173

原创 Mysql从入门到精通day4———触发器的神奇你真的懂吗?

触发器是由SOL的基本命令事件来触发某种事件的特定操作的,这些基本的命令由INSERT(插入),DELETE(删除),UPDATE(修改)等事件来触发某些特定操作,满足触发器的触发条件时,数据库系统就会自动执行触发器中定义的程序语句使操作间的一致性得到协调。

2025-03-27 09:41:04 470

原创 计算机组成原理———I\O系统精讲<1>

既可完成I/O通道要完成的I\O控制又可以完成码制变换,格式处理,数据块检错,纠错等操作。(2)输入输出过程穿插在CPU执行程序过程中进行,当I\O设备与主机交换信息时,CPU不得不停止各种运算,因此,,而不用再通过CPU,使CPU在I\O设备与主存交换信息时能继续完成自身的工作,资源利用率得到了进一步的提高。(3)每个I\O设备的逻辑控制电路与CPU的控制器构成不可分割的整体,彼此相互牵连,相互依赖,因此。,用来实现I\O设备与主机之间的信息交换,因此线路十分散乱,庞杂。,故提高了CPU的资源利用率。

2025-03-25 22:21:22 1023

原创 Mysql从入门到精通day3————记一次连接查询的武装渗透

*总结:左连接,左对右,左没右,右加NULL;右连接,右对左,右没左,左加NULL;简单点说就是左连接能列出左边关系所有的元组,右连接能列出右边关系所有的元组,我们的例子中左连接列出了借阅表(左表)的所有元组,而外连接列出了信息表(右表)的所有元组(我们要查询的列)**

2025-03-24 21:27:04 947

原创 计算机网络精讲day2———计算机网络的性能指标(下)

表示这样的链路可以容纳多少个比特,我们从量纲的角度考虑,时延的单位是秒,带宽的单位是比特每秒,两者相乘的量纲就是比特也就是时延带宽积的单位,我们假设链路的传播时延是20ms,带宽为10Mbit/s,则可以算出。这就表明,若发送端连续发送数据,则在发送的第一个比特即将到达终点时,发送端就已经发送了20万个比特,而这20万个比特都在链路上向前移动,因此链路的时延带宽积又称为以比特为单位的链路长度。发送时间=(数据长度)/(发送速率)=100乘pow(2,20)乘8/100乘pow(10,6)=8.39s。

2025-03-23 13:15:20 851

原创 计算机网络精讲day1——计算机网络的性能指标(上)

概念1:比特英文全称是binary digit,意思是一个二进制数字,因此一个比特就是二进制数字中的1或0,比特也是信息论中使用的信息量单位。概念2:速率网络中的速率指的是数据的传送速率,也称为数据率或比特率,是网络中最重要的一个性能指标,单位是bit/s(比特每秒),也可以写成b/s或bps。重点1:高数据率的单位转换其中1尧比特等于10的24次方比特,其余表格中每行的大单位都等于同一行小单位的10的3次方倍,依次类推比如4*pow(10,10)bit/s我们就可以记作40Gbit/s我们在生活中

2025-03-21 22:17:28 1225

原创 十四届蓝桥杯省赛真题解析(中)————E,F,G题讲解

这道题的本质是线性DP,我们观察发现下一个数的第一位和上一个数的最后一位是相同的,所以我们可以取出当前数的第一位X和最后一位Y,然后我们规定DP[i]就是以i为数字最后一位的最长接龙数列长度,那么只会存在DP[0]到DP[9],而我们如果选择当前数字接入队列,那么由于上一个数字的结尾也为X,状态转移方程就可以写为DP[x]+1即长度加1,如果不选当前数字,那么就还是以Y结尾状态就还是DP[i],所以状态转移方程就为。下期预告:H,I,J题讲解。

2025-03-16 22:47:27 700

原创 不像人做的题————十四届蓝桥杯省赛真题解析(上)A,B,C,D题解析

有235个这样的合法子序列。

2025-03-15 17:52:08 5809 7

原创 交互式调度算法学不会?————一文学懂(RR(时间片轮转调度算法),优先级调度算法,多级反馈队列调度算法)保姆式解析

那么有没有一种算法可以综合他们的优点呢?由此我们引入多级反馈队列调度算法。

2025-03-14 22:34:33 1184

原创 操作系统学不会?————一文速通(FCFS,SJF/SPF,SRTN,HRRN算法)保姆级解析

2时刻p2到达,p2运行4ms,运行时间小于p1剩余的5ms,于是抢占处理机,4时刻p3到达,p3运行1ms小于p1剩余的5ms和p2剩余的2ms,于是抢占处理机,到达5时刻。

2025-03-13 18:11:14 560 1

原创 干货分享————人机化快速排序算法

注意本道题的规模已经达到了1e5我们采用冒泡,选择,排序都会超时只能采用快排或者归并,也可以使用sort函数,这里我们采用快排的方法。

2025-03-13 10:38:12 299

原创 数据结构你真的学懂了吗————312植树节带你学懂神奇的01Trie树

01Trie树是一种二叉树,也是一种特殊的字典树,每个叶子结点对应一个二进制数,通过根出发到该叶子节点的路径来存储数据并进行查询操作,深度小的表示高位,深度大的表示低位。

2025-03-12 23:41:04 1231

原创 逆天寻祖算法———倍增法求LCA(最近公共祖先)模板分享

本质上是一个dp,类似于之前讲过的ST表,fa[i][j]表示i号节点,往上走2的j次方所到的结点,当dep[i]-pow(2,j)>=1时fa[i][j]有效(假设根节点深度为1)这个fa数组可以用dfs实现,我们看下面例子:由此我们可以得到fa数组的状态转移方程:然后我们采用贪心的思想,查询LCA(x,y)时,假设X深度更深,然后从大到小枚举j,当fa[x][j]的深度不超过y的深度时,x才能往上跳,也就是说要让x往上跳,但是不能超过y,又要尽可能接近y,跳到两者的深度相等即dep[x]=dep[y]

2025-03-11 21:48:15 607

原创 算法分享———进制转换通用算法

我们采用一个求数位和函数来分别求二进制下和四进制下的数位和,再枚举1到2024中的所有数,如果在二进制和四进制下数位和相等,计数器加1。先将N进制转10进制,再将10进制转m进制,套用模板1和模板2。

2025-03-11 08:36:28 357

原创 素数你真的会筛吗————神奇的欧拉筛法

我们只需要利用欧拉筛法找出所有的素数并且保证素数的一半也是素数,然后我们用一个bool型数组维护,满足条件返回1,否则为0,表示好数个数,最后利用前缀和求出区间中的好数个数即可。1我们不考虑,2是质数放入primes中,然后2跟primes里的数相乘,即2乘2=4,筛掉4,2是4的因子停下,直接枚举下一个i,下一个i=3,3是质数放入primes中,然后2乘3=6,不用管,然后枚举6,筛掉12,枚举7,加入primes,然后筛掉14,枚举8筛掉16,由于。必要时int要换成long long。

2025-03-10 17:28:00 695

原创 简单又好上分的算法———前缀和妙解四道算法题

那么我需要的是搬到每一个可能的位置num的费用,然后求出它们的最小值 而搬到位置num的费用=前面的石头搬到该位置的费用(pex)+后面的石头搬到该位置的费用(nex) 前面的石头搬到该位置的费用=前面的石头搬到前一个位置的费用+前面石头的总质量*前一个位置与后一个位置的位移,,以此类推(我需要两个列表分别存储pre与nex)如果统计L和Q的个数会很麻烦,为此我们采用一种巧妙的方式,将L和Q用一对相反数来表示,如果某一段区间和为0,则这段区间就为平衡串,然后我们再枚举所有平衡串,找出最长的即可。

2025-03-09 21:43:59 1144

原创 算法分享——迪杰斯特拉的堆优化版本

迪杰斯特拉算法是一种高效的处理非负边权的“单源最短路”问题的算法,即存在一个源点,让我们求出所有点到源点的最短距离,是图论中最重要的算法,需要注意的是,弗洛伊德算法可以看成由多个源点构成的迪杰斯特拉算法。1.算法的基本思想是贪心,即由于我们每次更新距离的时候都是和之前的路径比较过才将点入队的,所以同一个点不可能走两次,即第一次走得到的时候得到的距离一定是最短距离。1.int d[N];准备一个整型数组,d[i]表示点i距离源点的最短距离。4.定义结点结构体,按照边权降序,在优先队列中边权最小的作为堆顶。

2025-03-05 11:51:23 731

原创 算法分享——一文搞懂Kruskal算法

我们的基本模板还是不发生变化,与第一类问题不同的是,我们不再记录最大边权,而是用sum记录路径的长度,cnt记录点的个数,我们都知道最小生成树的边数等于顶点数减1且所有点连通,所以我们用cnt判断,cnt初始值为0,如果到达n-1我们就输出路径长度,否则图不连通,执行相应操作。与普里姆算法不同,它的时间复杂度为O(eloge)(e为网中的边数),所以,适合于求边稀疏的图的最小生成树。2.MST的最大边权是所有生成树中最小的,这也是Kruskal算法的贪心原理,即保证每次找到的边都是剩余较大边中最小的一个。

2025-03-04 13:01:56 793

原创 Mysql从入门到精通day2————数据表操作

如图,我们选择wangjiahui2数据库,在tb_admin数据表中,增加email字段,并修改user字段类型为varchar(40)再用desc查看表结构发现已经改变。在wangjiahui2数据库中创建tb_admin数据表,其中包含id,user,password,createtime等字段(列)如图所示,我们修改tb_admin表的名称为guangjun1并且查看表结构发现同原来的表结构一致。如图我们查看(一)中创建好的tb_admin结构,显示有4列。5.添加主键,删除主键,添加唯一索引。

2025-03-03 09:36:05 726

原创 算法精讲——一文速通KMP算法解决字符串模式匹配问题

S[i]时,j不会移动到1重新开始匹配,而是移动到nex[j]=3继续匹配,则接下来i=6,j=3,有P[j+1]=S[i],成功匹配,则i,j继续后移,直到i=8,j=6完成一次匹配,P在S中第一次出现的位置为i-j+1=3。KMP算法是一种字符串匹配算法,用于匹配模式串P在文本串S中出现的所有位置,例如S=‘ababac’,P=‘aba’,那么出现的所有位置是是1,3。1.做好准备工作,定义好模式串数组,文本串数组,next数组。将原本的O(n2)的匹配算法的复杂度降低成O(n)

2025-02-27 21:51:35 608

原创 Mysql从入门到精通day1————数据库基本操作

如图所示,我们已经创建过一个小写的wangjiahui2的数据库,我们用大写检查是否存在同名数据库,发现存在,我们可以看出出现了warning的警告,此时系统发现同名数据库,不再创建同名数据库。:把performanca_schema的复杂度降低,使DBA(数据库管理员)能更好的阅读库里的内容,让DBA更好的了解DB(数据库)的运行情况。:存储服务器中所有数据库的信息,如数据库名,数据库表,访问权限,数据库表数据类型,数据库索引信息。格式:CREATE DATABASE 要创建的数据库名称。

2025-02-27 20:17:09 1347

原创 数据库精讲<1>——关系数据库的规范化

第二范式的关键是每个实体(记录行)可以被唯一的区分,即实体的属性完全依赖于主关键字,即不能存在仅依赖于关键字一部分的属性,如果存在那么该属性和主关键字的这一部分应该被分离出来形成一个新的实体,新实体与原实体是一对多的关系。员工编码是关键字段,部门编码是非关键字段,部门经理也是非关键字段,但是部门编码又能决定部门经理,即部门经理和员工编码存在传递函数依赖,所以不满足第三范式,但是满足第二范式。(员工编码,岗位)———>(决定)(姓名,年龄,学历,基本工资,绩效工资,奖金)

2025-02-25 13:10:26 694

原创 算法分享———并查集巧解图的连通性问题

如图所示,7找根时会去找5的根,5找根时会去找1的根,1会去找3的根,3找根时发现指向自己即自己就是根所以直接返回3,3就是根,同理4找2,2指向自己,即2就是根,最后发现4的根是2,7的根是3,根不同说明4和7不连通,这就是并查集的原理,通过判断根是否相同来判断图是否连通,读者可深入体会。在并查集中,所有的操作都在根上,假如我要使得x和y两个点合并,只需要将root(x)指向root(y),或使得root(y)指向root(x)..找根的方法:如果当前点不是根,就返回父亲的根,否则就是自己。

2025-02-24 19:09:30 689

原创 算法分享——树形DP之最大独立集问题

最大独立集问题就是求出树中不相关联的最大的顶点集合,基本转移方程是不选父节点,子节点可选可不选,选了父节点则不能选子节点,基本实现策略是深度优先遍历进行计算。最大独立集包含的点数为7。

2025-02-23 22:00:09 149

原创 算法分享——LCS模型及其应用

图中即为一条回溯路径,从右下角开始,行标为j,列标为i,如果a[i]==b[j]走对角,否则往左或者往上(取两个方向的较大值)走,注意回溯在dp数组进行,但是vector容器中存放的是A和B中的元素,由于是回溯得到的序列所以输出要采用reverse逆向容器反转以后输出的才是公共子序列。在求解LCS时,设dp[i][j]表示A[1~i]序列和B[1~j]序列中(不规定结尾)的最长公共子序列的长度,其状态转移方程为。题目通常为给定两个公共子序列A和B,求他们的最长公共子序列。

2025-02-23 21:58:51 242

原创 算法分享——弗洛伊德算法暴力破解多源最短路问题

由于需要循环来遍历中转点,起点和终点所以需要使用三层循环,时间复杂都是O(n3),复杂度很高,所以通常用来处理n<=500即图中的点的数量小于500的情况,这也是使用弗洛伊德算法的一个提示。我们只需要准备一个二维动态,规划数组dp[i][j]表示考虑到当前情况从点i到点j的最短距离,然后给数组初始化为无穷再不断更新最短距离。//无向图的初始化,w为两点间的边权。2.需要注意自己到自己的距离始终为0,初始化要注意dp[i][i]=0。1到2的最短距离是1,1到3的最短距离是3,2到3的最短距离是2。

2025-02-23 21:54:06 489

原创 操作系统考研真题的C++代码实现——CPU的闲置率

cout << "P2:" << "计算" << p2time1 << "ms" <<"\t" << "I/O操作" << p2io << "ms" <<"\t" << "计算" << p2time2 << "ms" << endl;cout << "P1:" << "计算" << p1time1 << "ms"<<"\t" << "I/O操作" << p1io << "ms" << "\t"<<"计算" << p1time2 << "ms" << endl;

2025-02-23 11:44:23 1194

原创 计算机组成原理———存储器精讲<12>高速缓冲存储器(1)

命中率与cache的容量和块长有关,块不能太大也不能太小,块太大cache内的总块数就会变少,如果大的块中只有一部分信息对CPU有用就会浪费其他的空间,块也不能太小,否则存储信息过少还得从主存当中调取命中率也会降低,一般来讲cache的容量与命中率呈正相关。读操作上面已介绍过,下面来看写操作,读操作中cache与主存的信息是一致的,写操作可能会导致不一致。缓存共有C块,主存共有M块,主存块的数量大于缓存,且主存的容量也要远大于缓存,所以M远大于C,即主存中的块只有部分被缓存到了cache当中而不是全部。

2025-02-19 21:33:10 885

原创 操作系统精讲4——记录型信号量解决(读者—写者问题)

读者1先上处理机,在执行读文件之前已经执行了P(W),V(W)操作所以W的值没变还是1,然后写者1执行P(W),W的值变为0,由于读者1已经执行了P(rw)但是并没有执行V(rw)所以rw的值为0,写者1会被阻塞在P(rw),此时读者2上处理机,由于W==0,所以读者2会被阻塞在P(W),因此写者1和读者2都被阻塞,当读者1读完后会执行V(rw)唤醒写者1,写者1结束后执行V(W)唤醒读者2。写进程执行时W的值为0,读进程会被阻塞在P(W),直到写进程结束释放W,读进程才能被唤醒,所以读写可以互斥访问。

2025-02-18 21:01:25 1334 2

原创 操作系统精讲3——信号量机制实现进程同步,进程互斥以及前驱关系

我们来简要分析一下,P1进程上处理机,即S1先执行,如果此时切换到进程2,执行P(a),而a的初值为0,所以P2进程阻塞,S2无法执行,只有当S1执行完,执行V(a)操作,a的值变为1,S2才能运行,S3同理,但是S2,S3是互不影响的,因为他们由a,b两个独立的信号量控制,而a,b的值又是由进程P1控制的。如上图所示,如果P1先使用处理机执行代码1,代码2,然后执行V操作,释放资源,S的值变为1,然后P2再使用处理机,先执行P操作,S为1不会被阻塞,然后执行代码4。下面再来看一下进程同步的实现。

2025-02-17 22:21:20 390

原创 计算机组成原理——存储器精讲<11>CPU与存储器连接详解(连接原理,连接步骤,电流流向,进制转换,电路分析,例题讲解)

如图所示,我们用两片1K*8位的芯片,这样两个芯片同时工作就可以满足存储器2K存储单元的需求,那么问题又来了,如果两个芯片同时工作,两个芯片各自都有八位数据线,那它们就会同时读出或写入16位的数据,这显然会超出我们的需求,需求是2k×8位,那么我们就应该让这两个芯片分开单独工作,如果分开工作要满足2k的存储需求,1k的存储单元需要10根地址线,2k是1k的两倍即2的11次方,那么2k就需要11根地址线,而我们的芯片只有10根地址线,因此,我们增加一根A10的地址线,这样就可以满足2k的存储需求。

2025-02-11 12:54:23 1501

原创 操作系统———信号量机制介绍

现有的打印机资源数为1则初始S=1,p0先执行wait操作申请资源S自减1,S变为0,如果此时再有进程想访问打印机资源,先执行wait原语发现S=0则会卡在while循环中等待,只有当p0进程使用完打印机后执行signal原语将资源释放回收给系统后S的值增加1,又有可用资源,p1或者其他进程才能使用打印机,wait原语相当于把双标志检查法中的检查和上锁操作封装在了一起,避免了并发异步导致的问题。第八步:此时p3还没有执行完,p3执行完signal原语,系统回收资源,打印机资源又重新变为2。

2025-02-10 17:42:15 924

原创 操作系统———进程同步精讲<1>软硬件同步机制实现进程互斥及Peterson算法原理详解

上图是进程间的通信——管道通信,显而易见只有当写进程向管道中写入数据后读进程才能读取数据即写进程必须发生在读进程之前,管道为空的时候读进程是无法进行的,结合前面所学我们知道进程具有异步性,异步性是指各并发执行的进程以各自独立的,不可预知的速度向前推进,在管道通信中,读进程和写进程并发运行,并发必然导致异步性,因此读数据和写数据两个操作的先后顺序是不确定的,实际应用中写操作又必须发生在读操作之前,为了解决这种异步问题,产生了进程同步的概念。互斥,亦称间接制约关系。(即漫画中的共用卫生间)。

2025-02-08 21:28:53 1268

原创 计算机存储原理———存储器精讲<10>动态RAM刷新

而在这128行之间,行与行的刷新间隔为15.6微秒,即每隔15.6微秒刷新下一行,在每一行的15.6微秒内进行集中刷新,及先进行读写维持,把刷新放到最后,REF即为刷新时间,可以把这段时间放到15.6的任意一个时刻,有人会说如果不把刷新时间放到最后会不会影响读写实际上并不会因为刷新只是对信息的复制并不会影响读写,只是在这段时间内读写操作暂停,刷新结束后还可以正常进行读写,这样的话,每段15.6微秒的间隔只会存在一个0.5微秒的死区,等待时间大大减少,而如果将这段刷新安排在CPU对指令的译码阶段。

2025-02-07 12:29:01 479

原创 计算机组成原理———存储器精讲<9>典型单管动态RAM芯片4116讲解

延续上面的行列信号,还是0列和63行导通(图中行列与一般情况相反)数据从DIn输入,沿I/O设备,第0列线到达读放大器右端若要写入1,则经过读放大器到达左侧变为0,电容器应为无电状态,这正好与读操作0~63行电容器无电时经过读放大器读出1相一致,即读写一致,我们可以这样理解,写入1时0~63行电容无电,64~127行电容有电,与读操作电容器的对应状态相一致。

2025-02-05 23:20:44 266

原创 计算机组成原理———存储器精讲<8>典型三管动态RAM芯片Intel1003讲解

行地址信号00000,第0行被选中,列地址信号00001,第一列被选中,交叉点即图中的蓝色方格的基本电路被选中,输入信号经过读写控制电路沿写数据线写入到蓝色单元(不经过读数据线),注意图中红线走的是方格左边的写数据线,不能走右边的读数据线。值得特别注意的是图中的三角部分是刷新器,它的主要作用是重现或者恢复电容器中的信息,因为电容器会漏电,信息会丢失。本文主要介绍的是典型三管动态RAM芯片Intel1003芯片的读写操作是怎么完成的。

2025-02-05 23:19:02 245

原创 计算机组成原理———存储器精讲<7>动态RAM

如上图,信息保存在电容Cg上,T1,T2,T3是控制管,如果读选择线有效,T2会导通,如果写选择线有效,T3导通,可以通过T3向电容器Cg进行充放电操作而写入0或1,上面介绍的是三管动态RAM,还有下面的单管动态RAM。字线是控制线,读出时,字线上的高电平使T导通,若Cs有电荷,经T管在数据线上产生电流,视为读出1,若Cs无电荷,则数据线上无电流,可视为读出0,读操作结束时,Cs的电荷已释放完毕,故是破坏性操作,必须再生。

2025-02-05 16:10:40 275

原创 计算机组成原理———存储器精讲<6>典型静态RAM芯片Intel2114芯片讲解

如上图所示,若行地址线信号为全0,00000对应10进制数0,所以第一行被选中,第一行的64列为有效信号,若列信号传入的也是全0,则对应的十进制数也为0,即每组中的第0列上的基本单元电路被选中,即图中的0,16,32,48这4个基本单元电路被选中,达到同时取出四位的目的,再通过读写电路完成读操作,WE是读写控制线,,CS是片选线,此时是读操作,CS为低电平,WE为高电平,若进行写操作,CS为低电平,WE也为低电平,写入信息被送入读写电路写入0,16,32,48这4个单元中。

2025-02-05 16:09:00 465

空空如也

空空如也

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

TA关注的人

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