自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Flowers_for_Algernon的博客

Please if you get a chanse put some flowrs on Algernons grave in the bak yard…

  • 博客(41)
  • 收藏
  • 关注

原创 Transformer

对于一个序列,基本的思路是将序列划分为多个状态,然后每个状态转化为统一大小的向量。此时每个序列都对应一个矩阵 X=(x1,x2,⋯ ,xt)X=(x_1,x_2,\cdots,x_t)X=(x1​,x2​,⋯,xt​),其中 xix_ixi​ 表示第 iii 个状态(向量),维度为 ddd,即 X∈Rn×dX \in \mathbb{R}^{n \times d}X∈Rn×d。要处理这个序列,第一个思路是使用 RNN,即递归处理:yt=f(yt−1,xt)y_t = f(y_{t-1}, x_t)yt

2022-07-03 09:53:48 442 1

原创 【统计强化学习】状态抽象

本系列文章主要参考UIUC姜楠老师开设的cs542文章目录精确抽象近似抽象根据上一章得到的界限,算法训练需要的样本数和状态空间大小呈多项式关系。对于某些状态空间很大的任务,一个行之有效的方法则是智能体能够利用先验知识从已学习到一个 状态泛化到另一个状态。而最简单的泛化方法就是状态抽象(state abstraction / state aggregation / state compression)。状态抽象是一个映射 ϕ\phiϕ,能将原始状态空间 S\mathcal{S}S 映射到特定的有限的抽象状

2022-06-20 14:07:47 543

原创 【统计强化学习】表格类型方法

本系列文章主要参考UIUC姜楠老师开设的cs542文章目录表格类型方法确定性等价方法分析本章主要介绍无模型下的表格类型方法,包括确定性等价(Certainty-equivalence)方法、以及常见的 Q-learning、SARSA 等基于值的方法。由于需要先估计环境模型再进行决策,所以本章还会基于确定性等价方法,分析估计过程中产生的误差。表格类型方法首先介绍确定性等价方法。该方法为 model-based 方法,首先需要从现有数据中估计 MDP 模型,然后在假设模型为真的情况下进行策略优化。具

2022-06-20 14:07:33 289

原创 【统计强化学习】集中不等式

本系列文章主要参考UIUC姜楠老师开设的cs542文章目录霍夫丁不等式Multi-Armed Bandits有监督学习的通用界限本章介绍集中不等式(Concentration inequality)。大数定理表明当独立同分布的样本很多时,其统计量会趋于其真实的统计量。而集中不等式则更定量化地描述了样本统计量与真实值之间的 bound,在算法收敛性分析过程中非常有用。这里主要介绍霍夫丁不等式(Hoeffding’s Inequality)及其应用。霍夫丁不等式能够刻画算法的输出在多大概率的意义下可以收敛到

2022-06-20 14:07:17 771

原创 【统计强化学习】MDP上的规划

本系列文章主要参考UIUC姜楠老师开设的cs542文章目录策略迭代值迭代线性规划规划(Planning)问题是基于给定的已知的 MDP M=(S,A,P,R,γ)M=(\mathcal{S}, \mathcal{A}, P, R, \gamma)M=(S,A,P,R,γ),计算最优策略 πM∗\pi_M^*πM∗​,这里讨论 Q∗Q^*Q∗ 的计算。本章将介绍用来求解规划问题的策略迭代算法、值迭代算法、以及线性规划算法。策略迭代策略迭代算法为从任意初始策略 π0\pi_0π0​ 开始,不断重复下述步

2022-06-20 14:07:00 357

原创 【统计强化学习】马尔科夫决策过程

本系列文章主要参考UIUC姜楠老师开设的cs542文章目录马尔科夫决策过程与环境交互策略和价值函数贝尔曼方程贝尔曼最优方程贝尔曼算子本章将介绍强化学习涉及到的相关基础概念。马尔科夫决策过程状态空间 S\mathcal{S}S。只考虑有限状态空间;动作空间 A\mathcal{A}A。只考虑有限动作空间;转移函数 P:S×A→Δ(S)P : \mathcal{S} \times \mathcal{A} \rightarrow \Delta(\mathcal{S})P:S×A→Δ(S)。其中 Δ(

2022-06-20 14:06:44 371

原创 Rsync基础教程

文章目录简介安装同步命令通过 ssh 同步通过 daemon 同步`--exclude`参数简介rsync 可实现不同文件夹、不同设备的文件同步,并且这个同步只针对已修改的文件安装sudo apt install rsync同步命令rsync options source destination对于目录的表示,需要注意:在源目录中将 / 放在目录名称后面(即 myfile/),则只会同步该目录下的内容在源目录中目录名称后没有 / (即 myfile),则会将目录以及目录下内容都同步

2022-03-04 09:04:04 528

原创 ROS基础教程

文章目录1. 简介1.1. 系统架构1.2. 文件系统1.3. 计算图1.4. Source1.5. helloworld1.5.1. C++ 实现1.5.2. Python 实现2. 通信2.1. 话题通信2.1.1. 简介2.1.2. 理论模型2.1.3. C++ 实现2.1.4. Python 实现2.1.5. spinOnce 和 spin2.1.6. 话题同步2.1.7. 自定义 msg2.1.8. 自定义变长 msg2.2. 服务通信2.2.1. 简介2.2.2. 理论模型2.2.3. 话题和服

2022-03-04 09:03:29 2024

原创 【Python】matplotlib库

文章目录简介matplotlib.pyplot基础设置图表文本设置图表区域设置不同类型图表设置简介Matplotlib 库受 Matlab启发,由各种可视化类构成,内部结构复杂。其中 matplotlib.pyplot 是绘制各类可视化图形的命令子库,相当于快捷方式matplotlib.pyplot基础设置matplotlib.pyplot.plot(x, y, format_string, **kwargs)x:X轴数据,列表或数组,可选(绘制多条曲线时,各条曲线的 x 不能省略)y:Y轴

2022-03-04 08:59:47 400

原创 【Python】pandas库

文章目录简介Series定义创建操作DataFrame定义创建操作操作索引操作运算数据分析简介Pandas 是 Python 语言的一个扩展程序库,提供高性能医用数据类型和分析工具。Pandas 主要有 Series 和 DataFrame 两个数据类型,并基于这两个数据类型进行基本操作、运算操作、特征类操作、关联类操作等NumpyPandas基础数据类型扩展数据类型关注数据的结构表达关注数据的应用表达数据间的关系数据与索引间的关系Series定义Ser

2022-03-04 08:59:29 363

原创 【Python】numpy库

文章目录简介Ndarray定义数据类型基本数据类型数据类型对象数组属性创建数组直接创建通过已有数组创建从数值范围创建数组数组操作广播机制访问数组索引迭代修改数组修改数组形状连接和分割数组数组元素的添加与删除数组运算位运算逻辑运算字符串函数随机函数数学函数算术函数统计函数排序、查找函数字节交换视图矩阵库线性代数库IO简介NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,包括:一个强大的N维数组对

2022-03-04 08:59:12 967

原创 【Python】第九章 其他

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录Python 底层原理PyObject存储机制引用计数机制垃圾回收机制内存池机制关键字Ellipsis内置函数#!/usr/bin/python命令行选项Python 底层原理PyObjectPython中一切都是对象,全部的对象都有一个共同的基类。Python 是用 C 实现的,C 是一种 OO 的语言,而 Python 是一个 OOP 的语言,那么怎样在 C 语言层面实现 OOP ,实现多态,这是

2022-03-03 16:04:31 478

原创 【Python】第八章 异常

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录异常tryraiseassert自定义异常获取异常信息exc_info()traceback 模块loggingLogging配置捕获Traceback配置共享文件配置异常和 C++、Java 这些编程语言一样,Python 也提供了处理异常的机制,让 Python 解释器在程序运行出现错误时执行事先准备好的除错程序,进而尝试恢复程序的执行。常见异常类型如下AssertionError:当 asse

2022-03-03 16:04:12 376

原创 【Python】第七章 I/O

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录I/O基本输入输出input()print()文件操作文件路径打开文件文件读写read()readline()readlines()write()writelines()文件指针关闭文件with as常用模块pickle模块fileinput模块linecache模块pathlib模块os.path模块fnmatch模块os模块tempfile模块I/O基本输入输出input()Python2中有

2022-03-03 16:03:53 748

原创 【Python】第六章 模块

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录模块importreload()\_\_import\_\_()导入包导入不同路径文件双下划线属性\_\_pycache\_\_模块Python 提供了强大的模块(Modules)支持,不仅 Python 标准库中包含了大量的模块(即标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。模块可以理解为是对代码更高级的封装,即把能够实现某一特定

2022-03-03 16:03:31 323

原创 【Python】第五章 类

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录类类成员实例属性、类属性和局部变量实例方法、类方法和静态方法公有成员、保护成员和私有成员双下划线成员描述符继承多继承经典类和新式类MROsuper()调用父类属性和方法子类化内置类型抽象基类多态动态创建类元类枚举类运算符重载类Python是面向对象编程的语言,封装、继承、和多态是其三大特征。对于封装性,如将多种不同数据放到列表中就是一种数据层面的封装;把常用的代码块打包成一个函数也是一种语句层面的封装。

2022-03-03 16:03:12 643

原创 【Python】第四章 函数

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录函数参数嵌套函数偏函数局部变量和全局变量闭包修饰器lambda函数函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。它能提高应用的模块性,和代码的重复利用率。当函数不使用return返回值时,函数返回None。但是在函数有异常时不推荐返回None。其一般形式为def functionname(parameters): function_suite return [exp

2022-03-03 16:02:51 484

原创 【Python】第三章 语句

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录语句代码规范控制语句语句代码规范PEP8 是针对 Python 代码格式而编订的风格指南。Python认为给代码分块应该是程序员的工作,而不应该由系统负责,并且写出缩进分明、优雅、清晰、紧凑的代码本来就是程序员的基本功。因此 Python 使用缩进而非大括号 {} 来划分代码块。另一方面,这也终结了大括号放在函数名后面还是再换一行的争论问题。但是需要注意一点的是,缩进必须都按照统一的规范,比如两个空格

2022-03-03 16:02:29 238

原创 【Python】第二章 内置数据类型

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录内置数据类型变量基本运算特殊值布尔值数字类型序列字符串转义字符操作内置函数Unicode字符串列表操作初始化元组打包和解包xrangebufferbytesbytearraybuffer映射哈希集合字典内置数据类型变量Python中变量的命名规则和C语言一致,变量名只能包含字母、数字和下划线,且变量名可以以字母或下划线开头,但不能以数字开头。如果允许变量名开头是数字,则无法区分变量名和数字类型,例如:

2022-03-03 16:02:07 298

原创 【Python】第一章 Python语言特征

该文章内容整理自《Python编程:从入门到实践》、《流畅的Python》、以及网上各大博客文章目录PythonPythonPython是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发Python是一种效率极高的语言,相比于其他的语言,使用Python编写时程序包含的代码行更少。Python的语法也有助于创建整洁的代码,相比于其他语言,

2022-03-03 16:01:24 165

原创 【C++】第十章 Boost

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客TR1是一份规范,描述加入C++标准程序库的诸多新机能。这些机能以新的class templates和function templates形式实现。所有TR1组件都被置于命名空间tr1中,嵌套在命名空间std内Boost是一个组织,也是一个网站,提供可移植、同僚复审、源码开放的C++程序库作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库

2022-03-02 10:21:16 312

原创 【C++】第九章 异常

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录abort异常机制exception类对于一个C++程序,从被加载至内存到最终走向死亡,大致有三种方式:自然死亡,通常指main()中return 0;后正常结束程序自杀,指请求系统将自身程序关闭,是一种请求式的自杀。有两种方式:void exit(int status)和void abort(void)他杀,通常指父程序将子程序关闭。C++并没有提供他杀的方式,而往往

2022-03-02 10:20:57 342

原创 【C++】第八章 STL

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录常见容器stringarrayvalarrayvectordequestackqueuelistset/multisetpairmap/multimapSTL算法查找算法排序和通用算法删除和替换算法排列组合算法算术算法生成和异变算法关系算法集合算法堆算法适配器容器适配器迭代器适配器函数对象适配器C++11在模板和STL方面的修改STL 是“Standard Template L

2022-03-02 10:20:39 343

原创 【C++】第七章 输入输出

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录iostreamcincoutfstreamsstreamC中的标准输入输出库是stdio.h,它是一个函数库而不是类库。而C++的标准输入输出库是一个类库,有输入输出(iostream),文件输入输出(fstream),字符串输入输出(sstream)三种IO类。具体类型如下,其中以w开头的类型是宽字符版本继承关系如下IO对象无拷贝或赋值,因此不能直接用一个IO对象给

2022-03-02 10:20:22 619

原创 【C++】第六章 RTTI

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录dynamic_casttypeidtype_infoRTTI是运行阶段类型识别的简称,是C++的新特性,旨在为程序在运行阶段确定对象的类型提供一种标准方法。注意RTTI只适用于包含虚函数的类。C++有3个支持RTTI的元素dynamic_castdynamic_cast运算符能将使用一个指向基类的指针来生成一个指向派生类的指针。它不能回答指针指向的是哪类对象,但能回答是否

2022-03-02 10:20:05 148

原创 【C++】第五章 模板

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录函数模板类模板模板别名可变参数模板函数模板函数模板是通用的函数描述,即使用泛型来定义函数。以类型作为参数传递给函数,使编译器生成该类型的函数。例子如下template <typename Anytype> //还可以写成<class Anytype>void Swap(Anytype &a, Anytype &b) { Anyty

2022-03-02 10:19:45 351

原创 【C++】第四章 类

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录类的设计特殊成员函数构造函数析构函数复制构造函数赋值运算符类的常量this指针类中常量的定义const常量的初始化const成员函数static成员函数返回const对象运算符重载强制转换类型运算符重载new和delete运算符重载友元友元函数友元类友元成员函数双向友元关系继承继承的定义构造函数派生类和基类多态多继承多重继承类的嵌套定义嵌套类局部类类的设计C++对结构进行了扩

2022-03-02 10:19:26 309

原创 【C++】第三章 新增函数特征

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录内联函数默认参数占位参数函数重载Lambda函数内联函数内联函数是C++为提高程序运行速度所做的改进。常规函数和内联函数之间的区别不在于编写方式,而在于代码整合方式。常规函数在调用时会跳到相应内存位置再执行函数代码,而内联函数则直接将相应的函数代码放到程序主体部分,通过牺牲一定的内存空间换取稍高的运行速度。通常选择函数代码执行时间短或经常被调用的函数作为内联函数。使用内联函数

2022-03-02 10:18:58 406

原创 【C++】第二章 新增数据特征

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客文章目录初始化auto字符类型结构体指针引用变量临时变量外部变量名称空间初始化C++11中有新的初始化变量方法int a(100);//C++11中可用大括号初始化任何类型,等号可用可不用,这种初始化方式成为列表初始化int b{100};int c = {100};//括号内为空时初始化为0int d{};int e = {}; 这种方法可防止缩窄,即禁止将数

2022-03-02 10:18:30 175

原创 【C++】第一章 C++语言特性

该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客C++的名称来自C的自增运算符++,它是C的超集,任何有效的C程序都是有效的C++程序。C++向下由C提供了低级硬件访问,向上由OOP提供了高级抽象。一开始C++只是C加上一些面向对象特性,但当这种语言逐渐成熟,它开始接受各种不同的观念、特性和编程战略。如今C++已成为一种多重范型编程语言,一种同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。C++由C、Object

2022-03-01 10:19:03 270

原创 【C语言】第九章 其他

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录关键词命名规范注释预处理宏定义条件编译文件包含#line预处理#error预处理#pragma预处理#运算符##运算符关键词C语言中共有32个关键词void //声明函数无返回值或无参数,声明空类型指针int //声明整型变量double //声明双精度变量long //声明长整型变量char //声明字符型变量float //声明浮点型变量short //声明短整型变量

2022-03-01 10:18:46 239

原创 【C语言】第八章 文件操作

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录文件打开和关闭文件顺序读写文件随机读写文件读写出错检测文件主要包含两种,程序文件和数据文件。程序文件的内容是程序代码。数据文件是供程序运行时读写的数据。根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。数据在内存中是以二进制形式存储则为二进制文件,此时也可以认为是存储在内存的数据的映像,因而也称之为映像文件。若以ASCII码形式存储,则称为ASCII码文件,又称文本文件,需要再存储前进行转换,每个字节存放

2022-03-01 10:18:28 187

原创 【C语言】第七章 结构体

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录结构体共用体枚举类型typedefC语言允许用户建立自己由不同类型数据组成的组合型数据结构,称为结构体结构体结构体声明的一般形式为struct 结构体名 {成员表列};成员表列中要对各成员进行类型声明,一般形式为类型名 成员名;成员表列又称为域表。函数同样可以作为结构体的成员结构体变量定义有几种方式struct 结构体名 变量名表列;struct 结构体名 {成员表列} 变量名表列;struct {成员

2022-03-01 10:17:58 410

原创 【C语言】第六章 指针

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录指针基本用法动态内存分配内存区的每一个字节都对应一个编号,称之为地址。因为可通过地址找到目标变量单元,所以将地址称为指针指针基本用法指针定义的一般形式为类型名 * 指针变量名;int *p = (int *)0x12ff7c;*p = 0x100;的意思是向内存0x12ff7c地址上存入一个整型数0x100。也可以直接写成*(int *)0x12ff7c = 0x100;&为取地址运算符,&a

2022-03-01 10:17:39 409

原创 【C语言】第五章 函数

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录函数定义变量存储内部函数和外部函数一个C程序有多个程序模块组成,每个程序模块作为一个源程序文件,一个源程序文件是一个编译单位函数定义函数声明(由函数首部,即函数原型表示):类型名 函数(形参表列);函数声明主要用于对函数调用的合法性进行检查。此时,参数名可以省略,也即可写为float add(float, float);。另外形参数组可以不指定大小,直接在后面添加方括号,而多维数组时可以省略第一维的大小,剩下

2022-03-01 10:16:54 277

原创 【C语言】第四章 数组

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录一维数组二维数组字符数组C语言不允许对数组大小进行动态调整一维数组初始化:int a[5] = {1, 2, 3, 4, 5}; int b[5] = {1, 2}; //b[5] = {1, 2, 0, 0, 0}int c[5] = {0}; //c[5] = {0, 0, 0, 0, 0}int d[] = {1, 2, 3, 4, 5}; //d[5] = {1, 2, 3, 4, 5}//在指

2022-03-01 10:16:35 211

原创 【C语言】第三章 语句

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录分类常用语句赋值语句输入输出语句一个函数包含声明部分和执行部分。执行部分由语句组成,经编译后产生机器指令。声明部分不是语句,不产生机器指令。一个C程序的结构如下:分类C语句分为以下5类(1). 控制语句条件语句:if(表达式) … else if(表达式) … else …循环语句:(1). for(表达式1; 表达式2; 表达式3) …。在C99标准中允许表达式1定义变量并赋予初值。推荐在这里给仅在

2022-03-01 10:16:12 20156 3

原创 【C语言】第二章 数据

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客文章目录数据表示数据类型数据运算数据表示(1). 常量整型常量:100、123等整数常量实型常量:123.456、3.14等十进制小数形式;12.3e45、-6.7E-89等指数形式(e或E前必须有数字,之后必须为整数)字符常量:‘1’、‘a’、‘A’、’#‘等单个字符;’"’、’\’、’\n’、’\t’等不能显示的转义字符。另外,’\101’表示八进制ASCII码数字101,即65,也即’A’;’\x41’则表示

2022-03-01 10:15:41 457

原创 【C语言】第一章 C语言特性

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译C语言的优点有:源代码的可移植性接近硬件的操作能力高效率

2022-03-01 10:15:03 246

原创 Ubuntu下搭建求生之路2服务器

文章目录配置过程安装 32 位运行库下载 Left 4 Dead 2 Dedicated Server配置 Left 4 Dead 2 Dedicated Server开放服务器端口运行服务器进入服务器安装插件相关设置设置权限参考配置过程安装 32 位运行库如果使用的是 64 位的系统,则需要安装 32 位的运行库sudo apt-get updatesudo apt-get upgradesudo apt-get install lib32gcc1下载 Left 4 Dead 2 Dedi

2020-07-21 23:08:18 4103

空空如也

空空如也

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

TA关注的人

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