ACM模板(满注释模板!)

转自:https://fanfansann.blog.csdn.net/article/details/105493218

目录

 

互联网开源真的是当今最大最真实的乌托邦,我学到的这些算法基本上都仰仗各位大佬的无私奉献的博客,真心希望我的这些博客可以帮助到各位正在为梦想而奋斗的ACMer们,共勉!

F o r e w o r d ForewordForeword

开始之前的碎碎念,为什么想我这样的一个蒟蒻都开始写我自己的ACM模板了

首先自己写自己的模板可以在赛场上更加亲切,并且能保证自己的超长头文件和宏定义不会写错。写一些模板也可以使我更加地熟悉这些算法,并且我的模板是更适合我自己的,因为我比较菜,所以我的模板会附带一些注释和我自己对这个算法的简单理解和易错点,以及我刷题得到的一些经验教训,一些提示的话。更重要的是能帮助我自己复习,毕竟很多算法学完了没几天就忘得差不多了,所以这种学会讲给别人听的学习方法(写博客,就像中学时期的错题本一样)也挺适合于ACM的,给大家提供一个学习的思路,大佬勿喷。

这个模板我可能会更新的很慢,主要取决于我的学习速度 所以不要着急哈 。

准备写这个模板还有一个原因是我看了一位学姐的模板,深受启发,但是学姐很明显是已经学完了全部的算法,所以更新的非常快 ,我就不一样了,学到哪儿更到哪儿。

我的模板大概会跟学姐的模板格式差不多吧。

以后我的模板要每一句都加上注释,方便我太久不用快速了解每一句的作用,这样在写模板改编题的时候改得动模板主要还是因为我太菜了 )


T e x t   P a r t Text\ PartText Part

C++头文件汇总

输入输出优化

一、S T L STLSTL 标准模版库

比STL还STL?——__gnu_pbds食用教程

  {\ }   {\ }  STL
  {\ }   {\ }  map
  {\ }   {\ }  queue类

二、动态规划     {\ \ \ }   d y n a m i c   p r o g r a m m i n g dynamic\ programmingdynamic programming

动态规划要什么模板

  {\ }  动态规划

一:【背包】
二:【树形DP】
三:【数位DP】
四:【DP 的优化】
五:【插头 DP】

  {\ }  最长上升子序列与最长公共子序列

三、字符串       {\ \ \ \ \ }      S t r i n g StringString

  {\ }  1.KMP算法


  {\ }  2.trie树(字典树)


  {\ }   {\ }   {\ }  3.AC自动机

模板有多少个模式串在文本串里出现过
建fail树dfs求每个模式串在文本串中的出现次数
ac自动机fail树上dfs序建可持久化线段树


  {\ }   {\ }   {\ }  4.字符串哈希

 

四、数据结构     {\ \ \ }   S t r u c t u r e StructureStructure

  {\ }   {\ }   {\ }  1.基础数据结构

单链表
双链表

循环队列
单调栈
单调队列
并查集

一般哈希


  {\ }   {\ }   {\ }  2.并查集

朴素并查集
维护size的并查集
维护到祖宗节点距离的并查集
路径压缩和按秩合并
边带权
扩展域


  {\ }   {\ }   {\ }  3.树状数组

树状数组求逆序对
区间加、求单点值
区间加、区间求和
单点修改、区间求最值
实时求出剩余的数中的第k小的数(树状数组+二分)


  {\ }   {\ }   {\ }  4.线段树

懒惰标记
扫描线法
二维线段树 - 矩形树
三维线段树 - 空间树
线段树上二分(查询某个点向一个方向连续值相同区间)


  {\ }   {\ }   {\ }  5.平衡树 - treap

普通平衡树
operator 1 : 插入一个数
operator 2 : 删除一个数
operator 3 : 通过数值找排名
operator 4 : 通过排名找数值
operator 5 : 找到严格小于key的最大数(前驱)
operator 6 : 找到严格大于key的最小数(后继)

  {\ }   {\ }   {\ }  6.平衡树 - FHQ treap(无旋treap)

普通平衡树
operator 1 : 插入一个数
operator 2 : 删除一个数
operator 3 : 通过数值找排名
operator 4 : 通过排名找数值
operator 5 : 找到严格小于key的最大数(前驱)
operator 6 : 找到严格大于key的最小数(后继)
(按权值分裂 / 按排名分裂)
文艺平衡树
区间操作:翻转一个区间
可持久化序列 :
支持三个操作:
1 l r,翻转l到r的区间;
2 l r,询问l的到r的区间和;
3 p,回到p时刻。


  {\ }   {\ }   {\ }  7.平衡树 - splay

五、图论           {\ \ \ \ \ \ \ \ \ }          G r a p h   t h e o r y Graph\ theoryGraph theory

  {\ }   {\ }  1.树与图的遍历


  {\ }   {\ }   {\ }  2.最短路合集

一、线段树优化的Dijkstra
1.普通线段树
2.最强的zkw线段树优化版本
3.路径还原
二、可以处理负权值的SPFA
SPFA的SLF优化
SPFA的LLL优化
SPFA的DFS优化(适用于负环的判断)
三、两种分层图最短路
分层次
分维度
四、Floyd算法,传递闭包


  {\ }   {\ }   {\ }  3.k短路

k短路
Dijkstra + A*


  {\ }   {\ }   {\ }  4.欧拉路、欧拉回路(一笔画问题)

非递归版
普通递归版
Hierholzers算法(输出字典序最小的答案)
Fleury算法
究极优化版


  {\ }   {\ }   {\ }  5.最小生成树

一、kruskal算法
二、prim算法
三、Boruvka算法
四、生成森林问题(K颗树)
五、最小生成树的唯一性
六、严格次小生成树
LCA优化的次小生成树
七、瓶颈生成树
八、最小瓶颈路
单次查询
多次查询
九、Kruskal 重构树


  {\ }   {\ }   {\ }  6.最小树形图(朱刘算法)

1.给定一个根的有向图的最小树形图
2.为给定根的树形图
3.判断无解的方法

  {\ }   {\ }   {\ }  7.负环(超时高效优化技巧)、01分数规划

1.负/正环判断
2.01分数规划


  {\ }   {\ }   {\ }  8.树上问题

一、树的直径
树形DP / 两次DFS / BFS(找到直径的两个端点)
二、动态修改树的边权并求每个时刻的直径(线段树)
三、树的重心


  {\ }   {\ }   {\ }  9.最近公共祖先及其应用

一、LCA的在线倍增算法
二、LCA的离线Tarjan算法
三、树上差分
四、次小生成树(LCA优化)


  {\ }   {\ }   {\ }  10.有向图的连通性

1.最大半连通子图
2.有向图的tarjan模板
3.去重缩点模板
4.按拓扑序递推模板
5.Tarjan算法求有向图强连通分量并缩点
6.几个结论
(1)一个有向图最少给多少个点提供资源(有连边的点之间可以互相传达资源)使得所有的点都拥有资源
(2)连多少条边使得整个有向图变为强连通图
(3)最大可以增加多少条边使得这个图仍然不是强连通图


  {\ }   {\ }   {\ }  11.无向图的连通性

1.tarjan算法求无向图的桥、边双连通分量并缩点
2.tarjan算法求无向图的割点、点双连通分量并缩点
3.结论:变成边双连通分量所需要新建的边数
4.动态求解当前图中的桥的数目(割边缩点+并查集+lca+优化O ( m + q l o g n ) O(m+qlogn)O(m+qlogn))


  {\ }   {\ }   {\ }  12.2 - SAT问题


  {\ }   {\ }   {\ }  13.拓扑排序

1.toposort模板
2.已有编号求字典序最小的拓扑序(优先队列)
3.给所有点分配编号使得拓扑序的字典序最小(反图、优先队列)


  {\ }   {\ }   {\ }  14.二分图

1.染色法判断二分图
2.增广路的性质
3.一些二分图的概念和定理
4.二分图最大匹配
5.匈牙利算法
6.二分图匹配模型的两个要素
7.二分图最小点覆盖的一个要素
8.DAG的最小路径点覆盖
9.DAG的最小可重复路径点覆盖
10.最小可重复路径点覆盖模板


  {\ }   {\ }   {\ }  15.KM算法(O(n^3))(二分图最大权完美匹配)


  {\ }   {\ }   {\ }  16.一般图最大匹配(带花树)


  {\ }   {\ }   {\ }  17. 判断一个图是否为树(有向图以及无向图)

六、网络流       {\ \ \ \ \ \ }       N e t w o r k   f l o w Network\ flowNetwork flow

  {\ }   {\ }   {\ }  1.最大流

1.Edmonds−Karp
2.Dinic
3.ISAP
4.Push−RelabelPush−Relabel 预流推进算法
通用的预流推进算法
5.HLPP 算法


  {\ }   {\ }   {\ }  2.最小割

一、集合划分模型
二、点边转化
三、最小割的可行边与必须边
四、二分图的可行边和必须边
五、平面图最小割
六、最小割的一些小技巧
1.记录划分方案
2.求割边数量
3.求最小边的最小割
4.输出任意一种最小割的方案
5.判断一条边是否满流
6.判断某一条边是否可能为最小割中的一条
7.判断某条边是否一定出现在最小割中


  {\ }   {\ }   {\ }  3.费用流

一、最小费用最大流
类dinic模板
二、最大费用最大流
解决二分图带权最大匹配
三、费用提前计算+动态开点


  {\ }   {\ }   {\ }  4.上下界网络流

无源汇上下界可行流
有源汇上下界最大流
有源汇上下界最小流


七、数学           {\ \ \ \ \ \ \ \ \ }          N u m b e r   T h e o r y Number\ TheoryNumber Theory

  {\ }   {\ }   {\ }  1.基础数论

试除法判定质数
试除法分解质因数
朴素筛法求素数
线性筛法求素数
试除法求所有约数
约数个数和约数之和
欧几里得算法
求欧拉函数
筛法求欧拉函数
快速幂
扩展欧几里得算法
高斯消元
递归法求组合数
通过预处理逆元的方式求组合数
Lucas定理
分解质因数法求组合数
卡特兰数
NIM游戏
SG函数


  {\ }   {\ }   {\ }  2.质数筛法

试除法判定质数
线性筛法
二次筛法


  {\ }   {\ }   {\ }  3.Min_25 筛法求素数和


  {\ }   {\ }   {\ }  4 欧几里得算法与唯一分解定理


  {\ }   {\ }   {\ }  5.分解质因数

试除法分解质因数
Pollard Rho因数分解
快速阶乘质因数分解


  {\ }   {\ }   {\ }  6.基于值域预处理的快速 GCD


  {\ }   {\ }   {\ }  7.快速求n所有因数(快于sqrt(n) )


  {\ }   {\ }   {\ }  10.莫比乌斯反演


  {\ }   {\ }   {\ }  11.线性基

插入和判断
查询异或最值
查询k小值


八、计算几何     {\ \ \ }   G e o m e t r y GeometryGeometry

  {\ }   {\ }   {\ }  1.计算几何注意事项


  {\ }   {\ }   {\ }  2.计算几何相关公式大全


  {\ }   {\ }   {\ }  3.二维几何基础

1.基本运算
1.1 判断正负函数(sgn)
1.2 点积(数量积、内积)(Dot)
1.3 向量积,叉积(Cross)
1.4 取模(求长度)(Length)
1.5 计算两向量夹角(Angle)
1.6 计算两向量构成的平行四边形有向面积(Area2)
1.7 计算向量逆时针旋转后的向量(Rotate)
1.8 计算向量逆时针旋转九十度的单位法线(Normal)
1.9 判断折线(向量)bc是不是向(向量)ab的逆时针方向(左边)转向(ToLeftTest)
1.10 点绕着 p 点逆时针旋转 angle(rotate)
1.11 判断点和直线关系(relation)
1.12 复数表示
2.点与线
2.1 直线的实现(Line)
2.2 判断点在直线上
2.3 计算两直线交点(Get_line_intersection)
2.4 计算点到直线的距离(Distance_point_to_line)
2.5 计算点到线段的距离(Distance_point_to_segment)
2.6 求点在直线上的投影点(Get_line_projection)
2.7 判断点是否在线段上(OnSegment)
2.8 判断两线段是否相交(不算在端点处相交)(segment_proper_intersection)
2.9 判断两线段是否相交(包含端点处相交)(Segment_proper_intersection)
2.10 判断点是否在一条线段上(不含端点)(on_segment)
2.11 两向量的关系(parallel)
2.12 两直线关系(linecrossline)
3.多边形
3.0.三角形
3.0.1 三角形四心
3.0.2向量求三角形垂心(getcircle)
3.1.0 正多边形的一些性质和概念
3.1 求多边形面积(convex_polygon_area)
3.2 判断点在多边形内(is_point_in_polygon)
3.3 判断点在凸多边形内
3.4 求多边形重心(barycenter)
3.5 判定凸多边形(is_convex)
3.6 判点在凸多边形内或多边形边上(inside_convex)
3.7 判点在任意多边形内(inside_polygon)
3.8 判线段在任意多边形内(inside_polygon)
3.9 多边形切割(常用于半平面交)
4.圆
4.1 圆与直线交点(getLineCircleIntersection)
4.2 求两圆交点(get_circle_circle_intersection)
4.3 点到圆的切线(get_tangents)
4.4 两圆的公切线(get_tangents)
4.5 两圆相交面积(AreaOfOverlap)
4.6 模板合集
4.7 判直线和圆相交(intersect_line_circle)
4.8 判线段和圆相交(intersect_seg_circle)
4.9 判圆和圆相交(intersect_circle_circle)
4.10 计算圆上到点p最近点(dot_to_circle)
4.11 计算直线/线段与圆的交点(intersection_line_circle)
4.12 计算圆与圆的交点(intersection_circle_circle)
4.13 求圆外一点对圆的两个切点(TangentPoint_PC)
4.14 求三角形的外接圆(get_circumcircle)
4.15 求三角形的内接圆(get_incircle)
4.16 二维几何6 合一!
4.17 经纬度转换为空间坐标
4.18 球面距离
4.19 三点确定一圆
4.20 两个圆的关系(relationcircle)
5.网格
5.1 多边形上的网格点个数
5.2 多边形内的网格点个数
6.一些函数/定理/应用
6.1 欧拉定理
6.2 Pick定理(根据点在多边形内和边界的个数求面积)
6.3 判断四点共面(混合积)


  {\ }   {\ }   {\ }  4. 二维几何常用算法

1.平面扫描
2.凸包
Andrew算法
直线两点式转为一般式使用公式O(1)计算点到直线距离
判断点是否在凸包内
3.旋转卡壳
4.半平面交
有向直线
O(nlogn)O(nlogn)的半平面交
二分 + 半平面交
5.闵可夫斯基和
6.平面区域

  {\ }   {\ }   {\ }  5. 三维几何基础

一、三维基础操作
1.1 三维点积(Dot3)
1.2 三维叉积(Cross3)
1.3 矢量差(Subt)
1.4.1 返回ab,ac,ad的混合积(Volume6)
1.4.2 四面体体积(Volume6)
1.5 求四面体的重心(Centroid)
1.6 凸多面体的重心
1.7 二面角
二、三维点线面
2.1 取平面法向量(NormalVector)
2.2 求两点距离(TwoPointDistance)
2.3 点p到平面的距离(DistanceToPlane)
2.4 点p在平面上的投影(GetPlaneProjection)
2.5 直线与平面的交点(LinePlaneIntersection)
2.6 空间直线距离(LineToLine)
2.7 点到直线的距离(DistanceToLine)
2.8 点到线段的距离(DistanceToSeg)
2.9 求异面直线与的公垂线对应的s(LineDistance3D)
2.10 p1和p2是否在线段a-b的同侧(SameSide)
2.11 判断点P是否在三角形中(PointInTri)
2.12 三角形P0、P1、P2是否和线段AB相交(TriSegIntersection)
2.13 空间两三角形是否相交(TriTriIntersection)
2.14 空间两直线上最近点对 返回最近距离(SegSegDistance)
2.15判断P是否在三角形A, B, C中,并且到三条边的距离都至少为mindist(InsideWithMinDistance)
2.16判断P是否在凸四边形中,并且到四条边的距离都至少为mindist(InsideWithMinDistance)
三、三维凸包
3.1 加干扰防止多点共面(add_noise)
3.2 凸包的定义(Face)
3.3 增量法求三维凸包(CH3D)
3.4 凸多面体(ConvexPolyhedron)
3.5 给三维凸包求出重心到各面的最小距离。

九、多项式        P o l y n o m i a l \ \ \ \ \ \ \ Polynomial       Polynomial

骄傲地增加了多项式专题的模板hhh

  {\ }   {\ }   {\ }  1. 快速傅里叶变换(FFT)

十、其他            {\ \ \ \ \ \ \ \ \ \ }          O t h e r OtherOther

  {\ }   {\ }   {\ } 
  {\ }   {\ }   {\ }  常用函数总结

全排列 | 读写优化 | 返回容器内最大最小值 | 复制函数 | 容器删除函数 | 容器填充函数 | 查找函数 | 字符串转换整数 | 欧拉筛 | 快速幂 | 快速乘 | 截取部分字符串函数

  {\ }   {\ }   {\ }  高精度计算

重载运算符的高精加减乘除

  {\ }   {\ }  离散化


  {\ }   {\ }   {\ }  模板 - 基础算法

快速排序
归并排序
整数二分
浮点数二分
高精度加法
高精度减法
高精度乘低精度
高精度除以低精度
一维前缀和
二维前缀和
一维差分
二维差分
双指针算法
离散化
区间合并



待更

在这里插入图片描述
此处应有BGM


学姐的模板
ACM模板 (f-zyj)

顺便膜拜一下%%%

以及k u a n g b i n kuangbinkuangbin大佬的模板%%%
ACM在线模板(kuangbin)

还有一个大佬的模板
ACM常用模板(+模板题)(基础)

以及一个奇怪的博客
ACM赛前准备——模板(排版篇)

他的板子实在是太全了

一些将来转成PDF形式时需要用到的东西

vscode中用markdown文件生成pdf文件时KaTex公式不能正常显示

[工具使用]-利用latex管理创建自己的ACM模板

这个是关键做一本代码书 Latex + C (win)

yxc的模板

 
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
看大小就知道很全啦 查看地址 https://blog.csdn.net/qq_43333395/article/details/98508424 目录: 数据结构: 1.RMQ (区间最值,区间出现最大次数,求区间gcd) 2.二维RMQ求区间最大值 (二维区间极值) 3.线段树模板(模板为区间加法) (线段树染色) (区间最小值) 4.线性基 (求异或第k大) 5.主席树(静态求区间第k小) (区间中小于k的数量和小于k的总和) (区间中第一个大于或等于k的值) 6.权值线段树 (求逆序对) 7.动态主席树 (主席树+树状数组) (区间第k大带修改) 8.树上启发式合并 (查询子树的优化) 9,树状数组模板 (求区间异或和,求逆序对) 扩展 10.区间不重复数字的和 (树状数组) 11.求k维空间中离所给点最近的m个点,并按顺序输出(KD树) 12.LCA (两个节点的公共父节点) 动态规划: 1.LIS (最长上升子序列) 2.有依赖的背包 (附属关系) 3.最长公共子序列(LCS) 4.树形DP 5.状压DP-斯坦纳树 6.背包 7.dp[i]=min(dp[i+1]…dp[i+k]),multset 博弈: 1.NIM博弈 (n堆每次最少取一个) 2.威佐夫博弈(两堆每次取至少一个或一起取一样的) 3.约瑟夫环 4.斐波那契博弈 (取的数依赖于对手刚才取的数) 5.sg函数 数论: 1.数论 素数检验:普通素数判别 线性筛 二次筛法求素数 米勒拉宾素数检验 2.拉格朗日乘子法(求有等式约束条件的极值) 3.裂项(多项式分子分母拆分) 4.扩展欧几里得 (ax+by=c) 5.勾股数 (直角三角形三边长) 6.斯特林公式 (n越大越准确,求n!) 7.牛顿迭代法 (求一元多次方程一个解) 8.同余定理 (a≡b(mod m)) 9.线性求所有逆元的方法求 (1~p modp的逆元) 10.中国剩余定理(n个同余方程x≡a1(modp1)) 11.二次剩余((ax+k)2≡n(modp)(ax+k)^2≡n(mod p)(ax+k) 2 ≡n(modp)) 12.十进制矩阵快速幂(n很大很大的时候) 13.欧拉函数 14.费马小定理 15.二阶常系数递推关系求解方法 (a_n=p*a_{n-1}+q*a_{n-2}) 16.高斯消元 17.矩阵快速幂 18.分解质因数 19.线性递推式BM(杜教) 20.线性一次方程组解的情况 21.求解行列式的逆矩阵,伴随矩阵,矩阵不全随机数不全 组合数学: 1.循环排列 (与环有关的排列组合) 计算几何: 1.三角形 (求面积)) 2.多边形 3.三点求圆心和半径 4.扫描线 (矩形覆盖求面积) (矩形覆盖求周长) 5.凸包 (平面上最远点对) 6.求凸多边形的直径 7.求凸多边形的宽度 8.求凸多边形的最小面积外接矩形 9.半平面交 图论: 基础:前向星 1.最短路(优先队列dijkstra) 2.判断环(tarjan算法) 3.最小生成树(Kruskal 模板) 4.最小生成树(Prim) 5.Dicnic最大流(最小割) 6.无向图最小环(floyd) 7.floyd算法的动态规划(通过部分指定边的最短路) 8.图中找出两点间的最长距离 9.最短路 (spfa) 10.第k短路 (spfa+A*) 11.回文树模板 12.拓扑排序 (模板) 13.次小生成树 14.最小树形图(有向最小生成树) 15.并查集 (普通并查集,带权并查集,) 16.求两个节点的最近公共祖先 (LCA) 17.限制顶点度数的MST(k度限制生成树) 18.多源最短路(spfa,floyd) 19.最短路 (输出字典序最小) 20.最长路 图论题目简述 字符串: 1.字典树(多个字符串的前缀) 2.KMP(关键字搜索) 3.EXKMP(找到S中所有P的匹配) 4.马拉车(最长回文串) 5.寻找两个字符串的最长前后缀(KMP) 6.hash(进制hash,无错hash,多重hash,双hash) 7.后缀数组 (按字典序排字符串后缀) 8.前缀循环节(KMP的fail函数) 9.AC自动机 (n个kmp) 10.后缀自动机 小技巧: 1.关于int,double强转为string 2.输入输出挂 3.低精度加减乘除 4.一些组合数学公式 5.二维坐标的离散化 6.消除向下取整的方法 7.一些常用的数据结构 (STL) 8.Devc++的使用技巧 9.封装好的一维离散化 10.Ubuntu对拍程序 11.常数 12.Codeblocks使用技巧 13.java大数 叮嘱 共173页
上海交通大学ACM模板是指为了方便上海交通大学ACM队伍在参加ACM国内外比赛时,准备的一份包含常用算法模板和数据结构实现的文件。这份模板ACM队伍日常训练和比赛中必备的工具和参考资料。 ACM模板通常包括多个文件,每个文件对应一个具体的算法或数据结构,并提供了相应算法的思想、伪代码和具体实现。常见的内容包括但不限于:搜索算法、图论算法、动态规划、字符串处理、数论算法、几何算法、数据结构等。 ACM模板的好处主要有以下几点: 1. 提高编程效率:ACM模板中的算法和数据结构已经经过了优化和测试,可以直接拿来使用,避免了从零开始编写代码的时间和精力消耗。 2. 加深理解:通过研究ACM模板中的算法和数据结构实现,可以更深入地了解算法的原理和应用场景,从而提升对ACM竞赛中常见问题的解决能力。 3. 快速调试:ACM比赛通常时间紧迫,要求快速解决问题。ACM模板可以提供一些已经调试通过的代码,可以直接用于ACM比赛中,减少调试的时间。 4. 统一编程习惯:ACM模板中的代码通常是经过一段时间的磨合和调试得到的,可以作为一个学习的范本,帮助学习者养成良好的编程习惯。 上海交通大学ACM模板是上海交通大学ACM队伍根据自身经验和成果整理而成的,旨在为队员提供便利和帮助。同时,ACM模板也可以随着时间的推移进行更新和完善,以适应新的算法和数据结构的发展和变化。 总的来说,上海交通大学ACM模板ACM竞赛中的宝贵资料,对于提升队伍的竞赛实力和解决问题的效率具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值