自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

永远积极向上、永远热泪盈眶、永远豪情满怀、永远坦坦荡荡

你尽管努力、尽管奔跑、 剩下的交给天意!!!

  • 博客(213)
  • 资源 (7)
  • 收藏
  • 关注

原创 计算机网络中计算题笔记

一 、网络IP地址的计算一般问题会求得问题: 1. 网络地址2. 这个网段可分配IP地址范围3. 网段的广播地址题目一般会给IP地址:172.32.1.113172.32.1.113172.32.1.113 和子网掩码:255.255.254.0255.255.254.0255.255.254.01、网络地址是IP地址和子网掩码的二进制进行与操作就是网络地址1111 1111 1111 1111 1111 1111 11111到128的二进制数1: 0000 00012:

2021-02-04 19:01:10 33

原创 坚持学习、只是尽力维持不退步吧了

一、对自己学习过程中不足分析发现一个人坚持做一件事是非常难坚持下去的、 而我又想做下去只有不停写博客。得到大家的认可与支持。回想起上学每天都会做好几张卷子不知道咋坚持下来而我现在发现我是个非常浮躁的人,没有耐心、等待的人 。 学习一直过余表面不能分析非常透彻。 对问题需要分析流程图非常详细描述出来。 我文章描述性文字过少,有时候甚至没有说明对问题没有见解。自己最重要一个毛病是不背书, 这个需要改了二、写这篇文章的目的是为了考试而准备的。2021年前计划每天坚持写一张历年试卷(计算机网络

2021-02-04 00:32:46 80 1

原创 计算机网络题

1、网络协议主要要素为_________。【答案】语法、语义、同步。2、一座大楼内的一个计算机网络系统,属于________。【答案】LAN。3、随着电信和信息技术的发展,国际上出现了所谓“三网融合”的趋势,下列属于三网之一的是(ABC)A.传统电信网  B.计算机网C.有线电视网 D.卫星通信网4、通信系统必须具备的三个基本要素是( C )A、终端、电缆、计算机B、信号发生器、通信线路、信号接收设备C、信源、通信媒体、信宿D、终端、通信设施、接收设备5、计算机网络通信系统是(

2021-02-03 01:03:04 85

原创 并查集之LeetCode1579. 保证图可完全遍历

并查集之LeetCode1579. 保证图可完全遍历前言一,1579. 保证图可完全遍历二,解题思路三, 代码总结前言算法之并查集一,1579. 保证图可完全遍历Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边:类型 1:只能由 Alice 遍历。类型 2:只能由 Bob 遍历。类型 3:Alice 和 Bob 都可以遍历。给你一个数组 edges ,其中 edges[i] = [typei, ui, vi] 表示节点 ui 和 vi 之间存在类型为 typ

2021-01-28 20:14:27 41

原创 游戏服务器之登陆流程

游戏服务器之登陆流程前言一,游戏登录流程二, token的有效时间的设置前言token的有效时间问题一,游戏登录流程调用第三方平台接口(百度平台, 百度账号登录)回调自己服务的接口注册获取open_id和token再登录自己服务器 使用token登录二, token的有效时间的设置因为每次登录的时候游戏服务取根据token获取玩家的基本信息, 如果玩家的token一直没有变化就会有问题, token有效时间的设置是一个星期...

2021-01-26 03:10:36 75

原创 并查集之LeetCode959. 由斜杠划分区域

并查集之LeetCode959. 由斜杠划分区域前言一,959. 由斜杠划分区域二, 解题思路三, 代码总结前言算法之并查集一,959. 由斜杠划分区域在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。(请注意,反斜杠字符是转义的,因此 \ 用 “\” 表示。)。返回区域的数目。示例 1:输入:[" /","/ "]输出:2解释:2x2 网格如下:示例 2:输入:[" /"

2021-01-26 01:59:01 55 2

原创 并查集之LeetCode1319. 连通网络的操作次数

并查集之LeetCode1319. 连通网络的操作次数前言一、1319. 连通网络的操作次数二、解题思路三,代码总结前言算法之并查集一、1319. 连通网络的操作次数用以太网线缆将 n 台计算机连接成一个网络,计算机的编号从 0 到 n-1。线缆用 connections 表示,其中 connections[i] = [a, b] 连接了计算机 a 和 b。网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。给你这个计算机网络的初始布线 connections,

2021-01-23 16:23:50 46

原创 沉淀 算法知识图谱

2021-01-19 21:08:18 63

原创 等差数列之1726. 同积元组

并查集之684. 冗余连接前言一, 684. 冗余连接二, 解题思路三, 代码总结前言一, 684. 冗余连接在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N个节点

2021-01-18 00:14:19 38

原创 并查集之1584. 连接所有点的最小费用

并查集之1584. 连接所有点的最小费用前言一, 1584. 连接所有点的最小费用二, 解题思路***一共要分为两个步骤来做******第一次合并集合得了******第二次合并新的集合***三, 代码总结前言一, 1584. 连接所有点的最小费用给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示

2021-01-16 23:08:08 26

原创 并查集之面试题 17.07. 婴儿名字

并查集之面试题 17.07. 婴儿名字前言一, 面试题 17.07. 婴儿名字二,解题思路1, a和b是朋友, b和c是朋友,那a和c也是朋友。这就是典型并查集类型2, 字典序3,三, 代码总结前言并查集一, 面试题 17.07. 婴儿名字每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量。有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公布出来。给定两个列表,一个是名字及对应的频率,另一个是本质相同的名字对。设计一个算法打印出每个

2021-01-14 00:16:31 41

原创 5642. 大餐计数之哈希O(1)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档5642. 大餐计数之哈希前言一、5642. 大餐计数之哈希O(1)二、 程序1,会超时的哦2,利用目标2的幂技巧①, 这边为什么是22呢是因为2212^{21}221是最大值②,比如: 1和什么数相加是2的幂总结前言大餐计数之哈希O(1)一、5642. 大餐计数之哈希O(1)大餐 是指 恰好包含两道不同餐品 的一餐,其美味程度之和等于 2 的幂。你可以搭配 任意 两道餐品做一顿大餐。给你一个整数数组 deliciousn

2021-01-03 20:07:13 43

原创 timer计时器的理解与应用

计时器的使用场景一, 计时器正常有两种一, 计时器正常有两种update中检查是否超时timer计时器最近在项目中使用update作为计时器检查玩家登录是否超时,发现时间复杂度非常高,在map中的所有玩家都遍历一次时间复杂度就是O(N)O (N)O(N)使用timer计时器可以优化到O(1)O(1)O(1)比如检查玩家在3分钟内没有登录成功就剔出,在update中每各100ms就检查一次,而使用timer就三分钟的时候才会调用一次 时间复杂度就优化到O(1)了...

2020-12-30 21:42:05 49

原创 62. 不同路径之动态规划,排序组合

目录一, 62. 不同路径二, 解题思路1, 动态规划2,排列组合公式三, 解题程序四, 63. 不同路径 II五, 解题思路六, 解题程序七, 总结一, 62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3

2020-12-10 22:34:06 56

原创 842. 将数组拆分成斐波那契序列之深度遍历

文章目录一,842. 将数组拆分成斐波那契序列二, 解题思路三, 解题代码一,842. 将数组拆分成斐波那契序列给定一个数字字符串 S,比如 S = “123456579”,我们可以将它分成斐波那契式的序列 [123, 456, 579]。形式上,斐波那契式序列是一个非负整数列表 F,且满足:0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型);F.length >= 3;对于所有的0 <= i < F.length -

2020-12-08 21:34:50 33

原创 381. O(1) 时间插入、删除和获取随机元素 - 允许重复之哈希函数和随机数的动态数组

文章目录一, O(1) 时间插入、删除和获取随机元素 - 允许重复二, 解题思路1 ,插入和删除①, 插入和删除时间复杂度是O(1)O(1)O(1) , 提到时间复杂度为O(1)O(1)O(1) 基本就是使用哈希函数解决,然后有可能重复的数据的就要在添加在哈希中添加entry结构中添加计数count的字段 count等于0时就删除这个节点,出现相同就++count就可以的不需要申请内存了② , 哈希碰撞的解决2, 随机数 时间复杂度O(1)O(1)O(1)①, 插入②, 删除三, 解题程序四, 总结一,

2020-11-25 00:15:49 52

原创 1588. 所有奇数长度子数组的和之奇偶数问题

文章目录一, 所有奇数长度子数组的和二, 解题思路①, 暴力破解②,利用数学奇偶数的知识三,解题代码四,总结一, 所有奇数长度子数组的和给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。示例 1:输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7

2020-11-22 16:39:42 30

原创 面试题 17.10. 主要元素之摩尔投票法

文章目录一, 面试题 17.10. 主要元素二, 解题思路 摩尔算法 投票算法三, 解题程序总结一, 面试题 17.10. 主要元素数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1示例 3:输入:[2,2,1,1,1,2,2]输出:2说明:你有办法在时间复杂度为 O(N),空间复杂度为 O(1) 内完成吗?通过次数20,274提交次数34

2020-11-18 00:56:24 489

原创 406.根据身高重建队列

文章目录一,406.根据身高重建队列二, 解题思路分析1, 大致情况分为两种分别2, 身高相同的情况3, 身高不同的情况三,解题代码**C**四, 总结一,406.根据身高重建队列假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对 (h, k) 表示,其中 h 是这个人的身高,k 是应该排在这个人前面且身高大于或等于 h 的人数。 例如:[5,2] 表示前面应该有 2 个身高大于等于 5 的人,而 [5,0] 表示前面不应该存在身高大于等于 5 的人。编写一个算法,根据每个人的身高 h 重建这个

2020-11-17 23:15:32 74

原创 402.移掉K位数字

文章目录一, 移掉K位数字二, 解题思路1, 分析删除一个数字最大会影响到几位数字2, 对已经删除的数和已经没有数字('0')处理三, 解题程序四, 总结一, 移掉K位数字给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = “1432219”, k = 3输出: “1219”解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 12

2020-11-15 19:44:48 55

原创 面试题 17.21. 直方图的水量

一, 面试题 17.21. 直方图的水量给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6通过次数5,639提交次数9,120二, 解题思路对上矩阵的每个高度进行扫描计算面积 , 就得到每个层

2020-11-14 19:31:34 39

原创 1074. 元素和为目标值的子矩阵数量之哈希函数 + 前缀和

一, 元素和为目标值的子矩阵数量给出矩阵 matrix 和目标值 target,返回元素总和等于目标值的非空子矩阵的数量。子矩阵 x1, y1, x2, y2 是满足 x1 <= x <= x2 且 y1 <= y <= y2 的所有单元 matrix[x][y] 的集合。如果 (x1, y1, x2, y2) 和 (x1’, y1’, x2’, y2’) 两个子矩阵中部分坐标不同(如:x1 != x1’),那么这两个子矩阵也不同。示例 1:输入:matrix = [[0

2020-11-12 00:14:18 29

原创 电话号码的字母组合

一, 电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。通过次数189,825提交次数342,040排列组合 的方法 怎么计算分布的情况//最关键的步骤// 例子: 输出:

2020-11-02 23:10:07 35

原创 N数之和的问题

一, 三个数之和问题三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]一般我们是想到排列组合 列举有多少个组合如果需要再找个上面优化,需要排除一些重复的组合,找个怎么做呢!通

2020-11-01 21:38:30 33

原创 redis源码分析之bitops数据使用场景-缓存穿透,缓存击穿,缓存雪崩,统计数量汉明宽度

=====================================================redis源码学习系列文章: redis源码分析之sha1算法分析redis源码分析之字典源码分析redis源码分析之内存编码分析intset, ziplist编码分析redis源码分析之跳跃表 redis源码分析之内存淘汰策略的原理分析redis源码分析之对象系统源码分析string, list链表,hash哈希,set集合,zset有序集合redis源码分析之异步进程保存数据rdb文

2020-09-29 20:55:14 68

原创 redis源码分析之集群之一的槽的分配算法crc16原理分析

=====================================================redis源码学习系列文章: redis源码分析之sha1算法分析redis源码分析之字典源码分析redis源码分析之内存编码分析intset, ziplist编码分析redis源码分析之跳跃表 redis源码分析之内存淘汰策略的原理分析redis源码分析之对象系统源码分析string, list链表,hash哈希,set集合,zset有序集合redis源码分析之异步进程保存数据rdb文

2020-09-27 22:15:31 176

原创 redis源码之sentinel高可用架构分析-分布式一致性Raft算法

=====================================================redis源码学习系列文章: redis源码分析之sha1算法分析redis源码分析之字典源码分析redis源码分析之内存编码分析intset, ziplist编码分析redis源码分析之跳跃表 redis源码分析之内存淘汰策略的原理分析redis源码分析之对象系统源码分析string, list链表,hash哈希,set集合,zset有序集合redis源码分析之异步进程保存数据rdb文

2020-08-16 18:32:01 134

原创 物理内存管理之非连续内存分配

前言正文一,非连续内存分配的需求背景1, 连续分配的缺点分配给程序的物理内存必须连续存在外碎片和内碎片内存分配的动态修改困难内存利用率较低2,非连续分配的设计目标: 提高内存利用效率和概率灵活性允许一个程序的使用非连续的物理地址空间允许共享代码与数据支持动态加载和动态链接3,非连续分配需要解决的问题如何实现虚拟地址和物理地址的转换- 软件实现(灵活,开销大)- 硬件实现(够用,开销小)4, 非连续分配的硬件负责机制如何选择非连续分配中的内存分块大小段式存

2020-07-12 22:36:30 168

原创 计算机物理内存管理之连续内存分配

前言正文一, 计算机体系结构和内存层次1,计算机系统结构计算机系统体系结构2, 内存层次3, 操作系统的内存管理方式操作系统中采用的内存管理方式重定位(relocation)分段(segmentation)分页(paging)虚拟存储(virtual memeory)目前多数系统(如linux)采用按页式虚拟存储实现高度依赖硬件与计算机存储架构紧耦合MMU(内存管理单元):处理CPU存储访问请求的硬件二, 地址空间和地址生成1, 地址空间的定

2020-07-12 22:27:11 247 1

原创 加载系统的流程, 中断,异常和系统调用

一, 启动流程计算机体系结构启动时的计算机内存和磁盘分布图CS:IP = 0XF000:FFF0 (CS:代码段寄存器; IP:指令指针寄存器)系统处于实模式 (刚刚通电情况下)PC = 16 * CS + IP20位地址空间:1MB (可用)BIOS固件提供功能:基本输入输出的程序系统设置信息开机后自检程序系统自启动程序等流程:BIOS:BIOS将加载程序从磁盘的引导扇区(512字节)加载到0X7C00地址处, 跳转到CS:IP = 0000:7C0

2020-07-12 22:08:36 117

原创 初级排序算法- 1,选择排序 2, 插入排序 3, 希尔排序 4, 归并排序 5, 快速排序 6, 堆排序

前言正文一, 选择排序选择排序是排序中最简单的排序算法,它的操作是这样的: 首先找到数组中最小那个的元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。它在不断地选择剩余元素之中的最小者。命题A: 对于长度为N的数组,选择排序需要大约(N^2)/2次比较和N次交换证明: 可以通过身份的排序轨迹来证明这一点。我们用一张N*N的表格来表示排序的轨迹(上图),其中每个

2020-07-06 22:22:24 804

原创 STL源码之序列式容器list

前言STL中list链表即双向链表又是循环链表正文一, STL源码之序列式容器list的节点和内置内存申请alloc节点的设计1, 使用两个指针 父节点指针和下一个节点的指针template <class T>struct __list_node { typedef void* void_pointer; void_pointer next; void_pointer prev; T data; //数据};2, 内置的内存分配器是链表结构 使用需要一个节点的

2020-06-30 20:20:08 168

原创 STL源码解析之内存分配器alloc

前言正文一, C++中的对象new的流程在C++中 new是调用::operator new (); //分配内存的在调用赋值函数 construct();释放的流程destroy() ::operator delete ; //释放内存 //初始化对象的值 template <class T1, class T2> inline void construct(T1*p, const T2& value) { new (p) T

2020-06-25 14:38:06 132

原创 STL源码之模版语法实现

C++中模版语法解1, 模版参数做特殊化设计#include <iostream>template<class T, class O>class ctest_class{public: ctest_class() { std::cout << "I, O" << std::endl; } // static int m_data;};//特殊化处理template<class T>class ctest_cla

2020-06-21 23:34:36 107

原创 德州扑克之赛事

一, 赛事赛事几个重要东西报名费奖励圈一场赛事需要的时间停止报名赛事结束条件赛事有很多人打一场赛事 , 而每个人都需要交一定报名费。参加赛事,当是赛事报名费这个就不需要讲解什么了第二个:奖励圈 (这里就需要促进玩家玩我们的赛事, 就需要一个保守奖励,不管报的人数是二个人是 5个人都是需要发送这个最低的奖励的,)第三个:一场赛事需要的时间是,赛事中级别控制的 每个级别规定多少分钟后就进入下一个等级, 每个等级的前注都是不同等级越大就越大的, 所以控制每个等级时间就可以控制赛事的时间了

2020-06-13 19:51:40 93

原创 背包模块之武器

一, 背包模块的设计背包模块在游戏中始终贯穿整个游戏,背包模块设计的好坏影响到整个游戏。是物品类的设计的里面需要包含哪些属性id配置表id物品的等级物品是否被那个hero使用 hero_id物品是否改造过物品的改造花费的那一个物品的数量物品的数量其中物品的属性可以通过配置表id查询配置表得到物品的类型二,物品之武器的模块物品之武器模块通常有的功能武器升级武器改造物品出售武器合并武器分解武器,hero和武器排行榜相连接这里拿武器升级来说 武器升级, 需要花费金币

2020-06-13 19:03:22 89

原创 protobuf的序列化和反序列化的分析

1, protobuf序列化分析protobuf的文件 格式syntax = "proto2";message test_proto{ optional int32 proto1 = 1; optional int32 proto2 = 2; optional int32 proto3 = 3; optional int32 ...

2020-04-12 02:56:19 327 1

原创 core文件处理和进程查询

一,core的信号core的信号处理方式:终止进程+产生core文件设置生成core:ulimit -c unlimited取消生成core:ulimit-c 0gdb调试使用bag设置core文件格式:/proc/sys/kernel/core_pattern 文件不能vi,可以用后面的套路 ,使用root权限 echo &amp;amp;quot;core-%e-%p-%t&amp;amp;quot; &amp;amp;gt; /proc/sys/kernel/c

2020-02-06 13:05:37 560

原创 CPU的占有率计算

一, 周期(时间片)我们这里以4GHz就是CPU的频率我们了解频率单位Hz 是频率的单位。频率是指电脉冲,交流电波形,电磁波,声波和机械的振动周期循环时,1秒钟重复的次数。1Hz代表每秒钟周期震动1次,60Hz代表每秒周期震动60次。Hz是个很小的单位,通常在其前面加上k(千),M(百万),G(十亿),T(万亿)等数量级单位。KHz,千赫兹,是频率,也可以说是采样率,一般都是44.1...

2020-01-14 22:06:45 426

原创 数据结构之B树和B+树基本概念

前言正文一, B树1, B树的基本性质B树,又称多路平衡查找树,B树中所有结点的孩子结点数的最大值称为B树的阶,通常用m表示。一棵m阶B树或为空树,或为满足如下特性的m叉树;树中每个结点至多有m颗子树(即至多含有m-1个关键字)。若根结点不是终端结点,则至少有两颗子树。除根结点外的所有非叶结点至少有[m/2]颗子树(即至少含有[m/2] - 1个关键字)。2, B树的高度(磁盘...

2020-01-03 04:03:51 242

android, ffmpeg , rmtp, 播放器 , 直播

android平台的音视频的同步, rtmp的直播, 秒开视频, 掉包情况分析

2017-12-27

企业级的链表

linux链表的设计原理解析,现在常用链表的设计原理,是看linux源码的入门材料的选择后期我将linux数据结构设计的

2017-09-10

学习ffmpeg

ffmpeg

2017-07-20

Android_DrawLayout框架

android 的Draw

2017-07-03

C语言实战与提高

C语言实战与提高

2017-08-11

QT基站查询

QT基站查询

2017-07-02

Mysql数据库文件

mysql安装资料

2017-07-02

空空如也

空空如也

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

TA关注的人 TA的粉丝

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