自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 牛客真题编程——day20

编译环境:c++1、顺时针打印数字矩阵描述:给定一个数字矩阵,请设计一个算法从左上角开始顺时针打印矩阵元素输入描述:输入第一行是两个数字,分别代表行数M和列数N;接下来是M行,每行N个数字,表示这个矩阵的所有元素;当读到M=-1,N=-1时,输入终止。算法思想:根据题目要求,要将数字矩阵进行顺时针输出。首先将二维数组存储下来,顺序遍历二维数组,依次从左到右,从右上到右下,从右下到左下,从左下到左上四个小循环。需要计算这样循环的次数,很明显取决于m,n中小的那个,找到对应关系为大循

2022-02-12 17:28:10 742

原创 位与信息&整数笔记

机器运算的基础知识:1、 二进制因为:a.开关电路特性;b.运算模式简单;c.抗干扰性;d.匹配布尔代数,而成为电子计算机使用的数制。二进制、十六进制、十进制三者之间的相互转换(底权公式、幂次拼接等等),十六进制的加减运算会被运用到内存地址的运算。2、位运算与逻辑运算:注意位运算是将参数展开成位向量,然后按位进行运算,得到的结果依然是位向量;逻辑运算对于操作数只判断是否非 0 只判断是否非 0,为 0 则假,非 0 则真。结果要么为 0x00(假),要么为 0x01(真)。3、移位运算:

2022-02-11 23:12:06 241

原创 python数据爬取入门——day19

58同城二手房批量图片爬取网址:天津二手房网,天津房产网,天津二手房买卖出售交易信息-天津58同城需求分析:通过此需求来练习简单的反反爬策略,模拟浏览器批量发送请求,处理获得的图片数据。基本的编码流程:1、指定url1)首先根据要求,获取需要爬取数据的url​然后进行UA伪装,获取一个浏览器标识(User-Agent),以谷歌为例:右键选择检查(快捷:fn+F12),选择network,随意选择一个请求都可以查看到​2)请求参数的处理参数为url,data(请求需要.

2022-02-11 22:59:11 414

原创 汇编进阶笔记

1、压栈与弹栈是非常重要的机器操作:栈的特点:向下增长,栈顶地址最小;压栈就是 1)拉开抽屉(esp 减小要压入数据的字节数)2)放入数据(高位数据放入高地址,低位数据放入低地址)。弹栈就是:1)拿出数据(字节数取决于 pop 后缀或者目的寄存器,同时高地址数据放入目的寄存器高位);2)关上抽屉(esp 增加对应字节数)2、基本与特殊的运算操作指令需要记住名称和具体操作,尤其是操作的顺序(例如减法是后面减前面,结果放入后面);3、最重要的四个条件码:1)CF: 将运算看做“无

2022-02-10 21:25:05 293

原创 牛客真题编程——day18

编译环境:c++1、表达式合法判断描述:写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。)可以看到一个合法的表达式,左括号和右括号必须相互对应。给定一个表达式A,请返回一个bool值,代表它是否合法。算法思想:题目没有给出明确的描述,不考虑左右括号的顺序问题也能通过测试,所以只需要判断大中小左右括号的个数是否匹配即可,左括号自加1,右括号自减掉,如果最后计数为0,则合法。代码部分实现:2、删除重复字符描

2022-02-10 21:11:07 241

原创 Yen 对 Bellman-Ford 算法的改进题解

假设对于 Bellman-Ford 算法按照如下顺序进行松弛操作。为此,我们首先给输入的图???? = (????, ????)上所有点任意指定一个顺序????1, ????2, … , ????|????|,于是 E 上所有的边就可以分为两类 Ef= {(vi, vj) : i < j} and Eb = {(vi, vj) : i > j},进而形成G的两个子图???????? = (????, ????????) 和 ???????? = (????, ????????)。注意,这里假

2022-02-09 23:31:20 470

原创 牛客真题编程——day17

编译环境:c++1、投篮游戏描述:有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?算法思想:题目思路其实很简单,只需要将整个过程模拟出来即可,还有题目好像没有说明球的编号i是从1开始的,输出结果时需要注意。我的bug是在输入n球个的时候,输入和处理放

2022-02-09 23:16:53 218

原创 牛客真题编程——day16

编译环境:c++1、山寨金闪闪描述:金闪闪死后,红A拿到了王之财宝,里面有n个武器,长度各不相同。红A发现,拿其中三件武器首尾相接,组成一个三角形,进行召唤仪式,就可以召唤出一个山寨金闪闪。(例如,三件武器长度为10、15、20,可以召唤成功。若长度为10、11、30,首尾相接无法组成三角形,召唤失败。)红A于是开了一个金闪闪专卖店。他把王之财宝排成一排,每个客人会随机抽取到一个区间[l,r],客人可以选取区间里的三件武器进行召唤(客人都很聪慧,如果能找出来合适的武器,一定不会放过)。召唤结束后

2022-02-08 22:08:21 358

原创 编译与调试的命令方法

1. .c 文件的编译:从.c 到.i: gcc -E hello.c -o hello.i从.i 到.s gcc -S hello.i -o hello.s从.s 到.o gcc -c hello.s -o hello.o从.o 到.out gcc hello.o -o hello.out(或者不加 out)注意:区分大小写!2. 单纯汇编文件的编译:方法1 中的编译指令是从.c 文件开始的,如果不是从.c 开始,那么缺乏 main 函数,gcc 就会报错。单纯汇编文件都是...

2022-02-08 20:21:00 226

原创 算法讨论题解析

1、以广度优先搜索来对图的边进行分类深度优先搜索将图中的边分类为树边、后向边、前向边和横向边。广度优先搜索也可以用来进行这种分类。具体来说,广度优先搜索将从源结点可以到达的边划分为同样的 4 种类型。a.证明在对无向图进行的广度优先搜索中,下面的性质成立:1.不存在后向边,也不存在前向边。2.对于每条树边(u, v),我们有 v.d = u.d + 1。3.对于每条横向边(u, v),我么有 v.d = u.d 或 v.d = u.d + 1。b.证明在对有向图进行广度优先搜索时,下

2022-02-07 21:23:08 416

原创 牛客真题编程——day15

编译环境:c++1、ZJ3 编程题2描述有一个仅包含’a’和’b’两种字符的字符串s,长度为n,每次操作可以把一个字符做一次转换(把一个’a’设置为’b’,或者把一个’b’置成’a’);但是操作的次数有上限m,问在有限的操作数范围内,能够得到最大连续的相同字符的子串的长度是多少。算法思想:运用滑动窗口的思想,首先对字符串进行遍历,先取得一个子序列中最多含有(m个a/m个b),也就是让子序列中a或者b的操作次数刚好临界m时。然后滑动窗口,只有当再次满足a个数和b的个数都大于m,且其中一个字

2022-02-07 21:09:10 1938

原创 Windows环境下mysql安装配置2021

1、首先进入MySQL :: Download MySQL Community Server官网,下载安装包解压缩到一个指定的目录这里解压缩指定到了D盘,并记录下安装路径2、设置my.ini文件将下面的内容复制到创建的my文件中basedir=自己的mysql目录datadir=mysql的data存储的目录[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:\mysql\mysql-8.0.25-winx

2022-02-06 20:27:43 340

原创 牛客真题编程——day14

编程环境:c++1、字符串价值描述:有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值例如: 字符串"abacaba",里面包括4个'a',2个'b',1个'c',于是这个字符串的价值为4 * 4 + 2 * 2 + 1 * 1 = 21牛牛有一个字符串s,并且允许你从s中移除最多k个字符,你的目标是让得到的字符串的价值最小。算法思想:根据题目要求,要想使得移除固定字符个数后,字符串的价值最小,那么每次移除的都应该是当前的字符串中出

2022-02-06 20:05:49 344

原创 牛客真题编程——day13

编程环境:c++1、搭积木描述小明有一袋子长方形的积木,如果一个积木A的长和宽都不大于另外一个积木B的长和宽,则积木A可以搭在积木B的上面。好奇的小明特别想知道这一袋子积木最多可以搭多少层,你能帮他想想办法吗?定义每一个长方形的长 L 和宽 W ,袋子里面长方形的个数为 n 。假如袋子里共有5个积木分别为 (2, 2), (2, 4), (3, 3), (2, 5), (4, 5), 则不难判断这些积木最多可以搭成4层, 因为(2, 2) < (2, 4) < (2, 5)

2022-02-05 23:33:34 321

原创 牛客真题编程——day12

编译环境:c++1、路灯描述:一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai ,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要使这个d最小,请找到这个最小的d。算法思想:题目要求找到最小的路灯照亮范围,其实就是对输入的乱序路灯位置进行排序,找到相邻路灯间的最大间距即可,还需考虑边界,取最大值输出。注意题目有多组输入且输出保留两位小数。代码部分实现:2、小易的升级之路描述小易经常沉迷于网络

2022-02-04 20:29:15 195

原创 牛客真题编程——day11

编译环境:c++1、裁剪网格纸描述度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。算法思想:题目想要满足包含所有的点的情况下,最小面积的裁剪,其实就是求x方向和y方向上最大的长度,然后取大值作为正方形的边长即可得到最小的正方形。代码部分实现:2、编码描述:

2022-01-30 01:23:35 142

原创 牛客真题编程——day10

编译环境:c++1、生成格雷码描述在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。算法思想:根据格雷码的特性,不难发现,N位格雷码就是在N-1位生成的格雷码的前面加上1位的0或者1,并且个数为2的N个:前2的N-1个和后2的N-1个的第N-1位对称,都是N-1位生成的格雷码,即将N-1位生成的格雷码+0/1正逆序输出即可。据此设

2022-01-29 00:40:42 190

原创 windows环境下的Nivacat安装使用

1、登录官网https://www.navicat.com.cn/download/navicat-premium下载安装包运行Navicat安装包,进入安装界面下一步我同意,下一步可以修改为自己喜欢的安装路径,我这里选择为D盘目录下,下一步下一步一直默认,安装完成2、Navicat的简单测试创建数据库创建表...

2022-01-27 20:35:17 2006

原创 牛客真题编程——day9

编译环境:c++1、微信红包描述春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组 gifts 及它的大小 n ,请返回所求红包的金额。若没有金额超过总数的一半,返回0。算法思想: 题目要求算法尽可能高效,这里定义了一个结果的结构体,红包金额满足 1≤gifti≤100000 之间,所以声明一个结构体数组,记录下N个红包的金...

2022-01-27 20:30:30 295

原创 并发控制&NoSQL 和 New 数据库

并发控制1、数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性?数据库时共享资源,通常有多个事务同时执行。当多个事务同时并发地存取时就会产生同时读/写同一个数据。若对并发操作不加以控制就可能导致存取不正确的数据,破坏事务的一致性。并发控制保证了事务的一致性和隔离性2、并发操作会产生哪几类数据的不一致?用什么方法可以避免1)丢失修改,两个事务对同一个数据同时进行修改,那么就会有一个事务的操作被另一个事务的修改覆盖掉。2)不可重复读,一个事务读了某一数据以后,另一个事务对其进行了

2022-01-26 19:58:55 1219

原创 牛客真题编程——day8

编译环境:c++1、最大间隔描述给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 - ai }(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?输入描述:第一行,一个正整数n(1<=n<=100),序列长度;接下来n个小于1000的正整数,表示一个递增序列。算法思想:这道题的思路很简单,题目已经规定好了递增序列,所以只需要存储下前N-1项的最大的后一

2022-01-26 19:49:23 111

原创 数据恢复技术

1、事务的概念及事务的4个特性:(ACID)原子性,事务是数据库中的逻辑工作单元,里面的操作要么全做,要么不做一致性,事务执行结果必须是一个事务从一个一致性状态转到另一个一致性状态隔离性,一个事务的执行不能受其他事务的影响持久性,一旦一个事务完成提交了,那么对数据库的改变是永久的,恢复技术能保证事务的哪些特性:保证了事务的原子性和隔离性和持续性2、 故障种类(数据库的高可用性技术)(备份、恢复!复制、分区、主库(master)、从库(standby),cluster,da

2022-01-25 20:33:39 2994

原创 牛客真题编程——day7

编译环境:c++1、小招喵跑步描述:小招喵喜欢在数轴上跑来跑去,假设它现在站在点n处,它只会3种走法,分别是:1.数轴上向前走一步,即n=n+12.数轴上向后走一步,即n=n-13.数轴上使劲跳跃到当前点的两倍,即n=2*n现在小招喵在原点,即n=0,它想去点x处,快帮小招喵算算最快的走法需要多少步?算法思想:最优路线可以转化为从终点到起点的最快走法。一开始直接让奇数位置-1,偶数位置/2了,但实际上还需要考虑比如当n回到7和3时,采用策略1和策略2会有不同的步数,这里需要三..

2022-01-25 20:20:55 315

原创 数据库设计

1、数据库设计概述数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。2、数据库设计的基本步骤需求分析(建立数据字典)概念结构设计(E-R 图建立,应用需求抽象为信息世界的结构)逻辑结构设计(E-R 图转成相应的数据模型,在基本表基础上构建外模式)物理结构设计(选择物理存储安排,建立索引,构建内模式)数据库实施数据库运行和维护(

2022-01-24 21:29:28 290

原创 牛客真题编程——day6

编译环境:c++1、附加题描述:存在n+1个房间,每个房间依次为房间1 2 3...i,每个房间都存在一个传送门,i房间的传送门可以把人传送到房间pi(1<=pi<=i),现在路人甲从房间1开始出发(当前房间1即第一次访问),每次移动他有两种移动策略:A. 如果访问过当前房间 i 偶数次,那么下一次移动到房间i+1;B. 如果访问过当前房间 i 奇数次,那么移动到房间pi;现在路人甲想知道移动到房间n+1一共需要多少次移动;算法思想:题目有两个规则:访问奇数...

2022-01-24 21:23:37 710

原创 关系数据理论&数据库编程

关系数据理论1、规范化一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。1)函数依赖①属性闭包:由一个/多个属性直接或间接推导出的属性集合②阿姆斯特朗公理:自反律:若Y⊆X⊆U,则X→Y为F所蕴含。增广律:若X→Y为F所蕴含,且Z⊆U,则XZ→YZ为F所蕴含。传递律:若X→Y及Y→Z为F所蕴含,则X→Z为F 所蕴含。③求等价的最少的函数依赖集2)第二范式(2NF)若 R∈1NF,且每一个非主属性完全函数依赖于任何一

2022-01-23 21:25:13 81

原创 牛客真题编程——day5

编译环境:c++1、马戏团描述:搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到, 马戏团正打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演。考虑到安全因素,要求叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等。 团长想要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题。小王觉得这个问题很简单,于是统计了参与最高罗汉塔表演的所有团员的身高体重,并且很快找到叠最高罗汉塔的人

2022-01-23 21:14:40 2702

原创 Excel数据爬取

1、获取浏览器UserAgent标识以火狐为例:1)右键检查/快捷键fn+F122)进入后点击网络,随意选择一条方法,即可查看火狐浏览器的UserAgent2、新建Excel,点击数据——自网站——高级1)表格数据网址(以全国城市房价为例)1处输入读取数据的网址,2处设置相应时间(伪装成用户访问),3处复制步骤1中的UserAgent,(如果没有UserAgent,直接键入)注意:爬取的数据应该为文本或者二进制信息,无法爬取图片或者pdf中的文本信息。..

2022-01-23 17:17:48 2271

原创 数据库安全性控制

1、数据库安全性定义保护数据库以防止不合法使用所造成的的数据泄露、更改或破坏2、存在的不安全的因素非授权用户对数据库的恶意存取和破坏数据库中重要或敏感的数据被泄露安全环境的脆弱性3、数据库安全性控制用户身份鉴别存取控制自主存取控制,用户对不同数据库队友有不同的存取权限强制存取控制,每一个数据库对象被标以一定的密级,只有具有合法许可证的用户才能存取视图机制审计数据加密4、审计审计功能是用户对数据库执行操作时,将这些操作自动记录到数据库的审计日志中

2022-01-22 20:59:34 1409

原创 牛客真题编程——day4

编译环境:c++1、交叉线描述:大M布置给小M一个题目:首先给出n个在横坐标上的点,然后连续的用半圆连接他们:首先连接第一个点与第二点(以第一个点和第二点作为半圆的直径)。然后连接第二个第三个点,直到第n个点。现在需要判定这些半圆是否相交了,在端点处相交不算半圆相交。如下图所示。输入描述:输入的第一行包含一个整数T (1 ≤ T ≤ 10)表示有T组样例。每组样例的第一行是一个整数n (1≤n≤1000)。接下来的一行输入有n个用空格隔开的不同的整数a1,a2,...,an (-

2022-01-22 20:51:24 489

原创 数据库标准语言SQL

1、删除(drop 、delete )Drop : 删除数据库对象Delete: 删除数据2、修改(alter 、 update)Alter:改数据库对象Update:改数据1、schema1.定义模式CREATE SCHEMA<模式名> AUTHORIZATION<用户名>Create user <用户名> identified by <用户密码>;2.删除模式DROP SCHEMA<模式名><C

2022-01-21 21:28:00 226

原创 牛客真题编程——day3

编程环境:java1、序列找数描述从非负整数序列 0, 1, 2, ..., n中给出包含其中n个数的子序列,请找出未出现在该子序列中的那个数。算法思想:根据题目要求,先根据n构造一个0...n的数组,然后依次输入子序列的值,在父数组中标记出来。循环遍历父数组,没有被标记的即为未出现在子序列的数,打印输出即可。代码部分实现:代码优化:这种方法运用了三个循环函数,虽然思路简易,但是占用了大量的内存。经过学习,其实可以巧妙转化为对子序列和父序列分别利用等差序列求累加和,差值即

2022-01-21 21:16:32 309

原创 关系数据库

1、关系数据结构及形式化定义基本概念:候选码(key):某一属性组的值能唯一地标识一个元组,而其自己不能,则称该属性组为候选码(candidate key)主码:若一个关系有多个候选码,则选定其中一个为主码(primary key),主只可以有一个!主属性(prime attribute):候选码的诸属性称为(主属性)非主属性:不包含在任何候选码中的属性全码(all key):关系模式的所有属性是这个关系模式的候选码;代理键(id,序列号、序号,系统自动生成,自增长)2、

2022-01-20 21:02:03 480

原创 牛客真题编程——day2

编程环境:java1、回合制游戏描述你在玩一个回合制角色扮演的游戏。现在你在准备一个策略,以便在最短的回合内击败敌方角色。在战斗开始时,敌人拥有HP格血量。当血量小于等于0时,敌人死去。一个缺乏经验的玩家可能简单地尝试每个回合都攻击。但是你知道辅助技能的重要性。在你的每个回合开始时你可以选择以下两个动作之一:聚力或者攻击。 聚力会提高你下个回合攻击的伤害。 攻击会对敌人造成一定量的伤害。如果你上个回合使用了聚力,那这次攻击会对敌人造成buffedAttack点伤害。否则,会造成...

2022-01-20 20:57:14 1800

原创 数据库系统概述

基本概念:数据:描述事物的符号记录数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合DBMS:数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统Dbms 的体系结构:3 层数据独立性包括物理独立性和逻辑独立性(本质:希望不管怎么变,想不修改应用程序)物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的逻辑独立

2022-01-19 21:05:58 8081

原创 牛客真题编程——day1

环境:c++1、连续最大和一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3首先使用穷举法,嵌套循环遍历出最大和,但是时间复杂度为n2,会有一个测试用例运行超时。采用动态规划思想:分解问题为:sum(最大和)+a[i]<a[i] 则sum<0:sum=a[i];否则 sum+=a[i]2、搬圆桌现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动

2022-01-19 20:51:25 559

原创 创新课程个人项目——学校出卷系统

一、简介本篇博客主要是对结对编程队友李成龙的个人项目代码进行评价。二、整体分析队友使用的编程语言为C++,程序功能实现完整,注释规范,可读性比较强。思路清晰,总体完成度比较高。整体设计了一个对象储存数据信息,封装性较好,分别运用6个对象内部的函数来对功能进行实现,联系紧密,使得主函数也比较简洁。三、 代码分析1、登录函数采用一个while循环来进行输入判断,但是我觉得这里的文档目录采用相对路径比较好些,这样以来代码的运行环境也更加...

2022-01-18 20:21:00 149

原创 创新课程结对编程心得——出卷UI系统

一、设计实现 通过分析结对项目的需求文档,经过两人讨论,决定将项目的功能拆分为UI界面和后台两个方面实现。这里我负责UI界面的设计,2、3、4功能,队友则负责实现后台出题,5、6、7功能。由于一开始我们使用的都是c++作为个人项目的编程语言,但是最终结对项目决定使用Python来实现,将个人项目的代码改写为了python。二、UI的具体实现过程 Python 提供了多个图形开发界面的库,诸如Tkinter、wxPython、Jython等等。这里选择使用Tkinter。Tkint...

2022-01-18 20:16:55 477

空空如也

空空如也

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

TA关注的人

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