学习笔记——斜率优化dp

斜率优化DP 斜率优化DP就是一类通过分析DP方程来进行特定优化的题目(好像所有题目都是这样),我们通过例题来一步步感受吧。 阅读详情

Upd 2025/1/26 增加模板题代码

注:文中全部图片均为手绘,不喜勿喷

总论

斜率优化是dp优化中极其常用的一种手法

第一点,先要懂什么是凸包与单调队列

先来看看凸多边形是什么样

接着再是斜率及斜率优化

一、凸包及凸多边形

凸多边形

就像这样

凸多边形.jpg

这就不是

非凸多边形.jpg

即所有角都 ≤ 180 \leq180 ≤180°

凸包

一条折线,满足斜率(定义看下面)单调递增或递减,例如

凸包.jpg

二、 单调队列

请看下图
单调队列.jpq

三、斜率

进入正题

什么是斜率?

严谨一点讲:

斜率 k = Δ y Δ x k=\frac{\Delta y}{\Delta x} k=ΔxΔy​

其中, Δ x \Delta x Δx 与 Δ y \Delta y Δy 表示横坐标差与纵坐标差

在 Δ x \Delta x Δx 为 0 的时候,即该直线与 y y y 轴平行,该直线斜率不存在或认为趋向于 ∞

一次函数中, f ( x ) = a x + b f(x)=ax+b f(x)=ax+b,a就是其函数影像的斜率

一篇博客少不了一道题

例题——斜率

输入格式

第一行两个整数 n n n 和 m m m 。

接下来 n n n 行,每行两个整数,表示一个点的坐标。

接下来 m m m 行,每行一个整数,表示一条直线的斜率。

输出格式
对于每个斜率 k k k ,输出 k x + y kx+y kx+y 的最大值, 其中 ( x , y ) (x,y) (x,y) 是给出的 n n n 个点中的一个。

样例

输入
5 4
-1 1
1 2
3 4
4 3
5 6
-2
3
-5
10
输出
3
21
6
56

数据范围与提示

n , m n,m n,m 的范围 [ 1 , 1 0 5 ] [1,10^5] [1,105]; x , y , k x,y,k x,y,k 的范围 [ − 1 0 9 , 1 0 9 ] [-10^9,10^9] [−109,109] 。

思路

一看这题的数据范围,暴力绝对挂,必须考虑优化

首先,暴力的思想是:
a n s = max ⁡ { x i k + y i } ( 1 ≤ i ≤ n ) ans=\max\{x_ik+y_i\}(1\leq i\leq n) ans=max{xi​k+yi​}(1≤i≤n)
我们考虑舍去多余的判断

不妨先将节点按x轴排序

当 ( x j , y j ) (x_j,y_j) (xj​,yj​) 比 ( x i , y i )   ( i < j ) (x_i,y_i)~(i<j) (xi​,yi​) (i<j) 更优时候,有
k x i + y i < k x j + y j kx_i+y_i< kx_j+y_j kxi​+yi​<kxj​+yj​
k ( x j − x i ) > y i − y j k(x_j-x_i)> y_i-y_j k(xj​−xi​)>yi​−yj​
− k < y i − y j x i − x j = k j ↔ i -k<\frac{y_i-y_j}{x_i-x_j}=k_{j\leftrightarrow i} −k<xi​−xj​yi​−yj​​=kj↔i​

k x ↔ y k_{x\leftrightarrow y} kx↔y​ 表示连接 x x x 和 y y y 的线的斜率

显然,一个点只有比两侧的点更优,才可能是最优决策点

则对于每次询问的 k k k ,若点 i i i 是决策点,一定存在 k i ↔ i − 1 ≥ − k > k i + 1 ↔ i k_{i\leftrightarrow i-1}\geq -k>k_{i+1\leftrightarrow i} ki↔i−1​≥−k>ki+1↔i​

很明显,后一个的斜率 < < <前一个的斜率,是一个上凸包(如图)

上凸包.jpq

这样,我们的目的变为维护一个上凸包,即斜率递减

可以利用类似单调栈的方法:遇到一个点 i i i先将其与队末连线,如果产生了一个下凸包,则删掉队末……直至满足条件。然后加入 i i i点(是类似单调栈哦!与单调栈还是不同的)

均摊复杂度 O ( 1 ) O(1) O(1)(证明:因为每个数都最多加入一次,删除一次)

循环结束后

对于每个询问,如何求出最优解?

不难发现,对于询问的 k k k,

当 k j − 1 ↔ j > − k k_{j-1\leftrightarrow j}>-k kj−1↔j​>−k,则 j j j一定是 [ 1 , j ] [1,j] [1,j]中的最优决策点

当 k j − 1 ↔ j ≤ − k k_{j-1\leftrightarrow j}\leq -k kj−1↔j​≤−k,则 j j j一定是 [ j , n ] [j,n] [j,n]中的最优决策点

每次二分答案,可做到 O ( n log ⁡ n ) O(n\log n) O(nlogn)

当然,可以利用单指针,将k从小到大排序,离线处理

证明:
因为 k k k越大,其答案斜率越小,可以往更后面处理,理论 O ( n log ⁡ n ) O(n\log n) O(nlogn)或 O ( n + p ) , p = max ⁡ { k i } ( 1 ≤ i ≤ m ) O(n+p),p=\max\{k_i\}(1\leq i\leq m) O(n+p),p=max{ki​}(1≤i≤m)

对于此题,至少 O ( n log ⁡ n ) O(n\log n) O(nlogn),即快排时间复杂度或计排 + m a p +map +map时间复杂度

二、斜率优化dp

这是斜率的升级版

依然少不了一道题

例题——[SDOI2016] 征途

题目描述

Pine开始了从S地到T地的征途。

从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站。

Pine计划用m天到达T地。除第m天外,每一天晚上Pine都必须在休息站过夜。所以,一段路必须在同一天中走完。

Pine希望每一天走的路长度尽可能相近,所以他希望每一天走的路的长度的方差尽可能小。

帮助Pine求出最小方差是多少。

设方差是v,可以证明, v × m 2 v\times m^2 v×m2是一个整数。为了避免精度误差,输出结果时输出 v × m 2 v\times m^2 v×m2。

输入格式

第一行两个数 n、m。

第二行 n 个数,表示 n 段路的长度

输出格式

一个数,最小方差乘以 m 2 m^2 m2 后的值

样例 #1

样例输入 #1
5 2
1 2 5 8 6
样例输出 #1
36

提示

对于 30 % 30\% 30% 的数据, 1 ≤ n ≤ 10 1 \le n \le 10 1≤n≤10

对于 60 % 60\% 60% 的数据, 1 ≤ n ≤ 100 1 \le n \le 100 1≤n≤100

对于 $100% $ 的数据, 1 ≤ n ≤ 3000 1 \le n \le 3000 1≤n≤3000

保证从 S S S 到 T T T 的总路程不超过 30000 30000 30000 。

思路

  • 第一步:方差这个东西好玄乎,拆开来!
  • 第二步:欸好像可以滚掉点空间!
  • 第三步:时间不够,斜率来凑

第一步

方差 S = 1 m ∑ i = 1 m ( x i − x ‾ ) 2 \texttt{方差}S=\frac{1}{m}\sum_{i=1}^m(x_i-\overline{x})^2 方差S=m1​i=1∑m​(xi​−x)2

可以将 n 2 n^2 n2移至左侧
m 2 S = m ( ∑ i = 1 m x i 2 ) − 2 ( ∑ i = 1 m x i ) 2 + ( ∑ i = 1 m x i ) 2 m^2S=m(\sum_{i=1}^{m}{x_i}^2)-2(\sum^{m}_{i=1}{x_i})^2+(\sum_{i=1}^{m}x_i)^2 m2S=m(i=1∑m​xi​2)−2(i=1∑m​xi​)2+(i=1∑m​xi​)2
m 2 S = m ( ∑ i = 1 m x i 2 ) − ( ∑ i = 1 m x i ) 2 m^2S=m(\sum_{i=1}^{m}{x_i}^2)-(\sum_{i=1}^{m}x_i)^2 m2S=m(i=1∑m​xi​2)−(i=1∑m​xi​)2

这就是我们要输出的东西

可以发现,第二项其实是个常数, m m m也可以最后乘

这样,需要维护的东西成了平方和

记 s i = ∑ j = 1 i x j s_i=\sum_{j=1}^{i}x_j si​=∑j=1i​xj​

d p dp dp式子就是 d p i , l = min ⁡ { d p j , l − 1 + ( s i − s j ) 2 } ( i < j ) dp_{i,l}=\min\{dp_{j,l-1}+(s_i-s_j)^2\}(i<j) dpi,l​=min{dpj,l−1​+(si​−sj​)2}(i<j)

第二步(此步可省略)

可以发现,我们能够不按常理出牌,先枚举 l l l,这样可以滚掉 l l l这一层,但要倒序枚举

伪代码:

for i=1->m:
    for j=n->1:
        for k=1->j-1:
            dp[j]=minimum(dp[j],dp[k]+(s[j]-s[k])^2)

第三步

重中之重到了!!!

我们还要继续拆式子(悲)

( s i − s j ) 2 = ( s j 2 − 2 s j s i ) + s i 2 (s_i-s_j)^2=(s_j^2-2s_js_i)+s_i^2 (si​−sj​)2=(sj2​−2sj​si​)+si2​

带进 d p dp dp式子内,得
d p i = min ⁡ { d p j + s j 2 − 2 s j s i + s i 2 } dp_i=\min\{dp_j+s_j^2-2s_js_i+s_i^2\} dpi​=min{dpj​+sj2​−2sj​si​+si2​}

斜率优化有个套路,就是先提再构

提

即提出常数项
d p i = min ⁡ { d p j + s j 2 − 2 s j s i } + s i 2 dp_i=\min\{dp_j+s_j^2-2s_js_i\}+s_i^2 dpi​=min{dpj​+sj2​−2sj​si​}+si2​

构

构造一个只与 j j j有关的函数
f ( j ) = d p j + s j 2 f(j)=dp_j+s_j^2 f(j)=dpj​+sj2​
d p i = min ⁡ { f ( j ) − 2 s j s i } + s i 2 dp_i=\min\{f(j)-2s_js_i\}+s_i^2 dpi​=min{f(j)−2sj​si​}+si2​

接着是斜率的老套路

一个 j 1 j_1 j1​比 j 2 j_2 j2​优且 j 2 < j 1 j_2<j_1 j2​<j1​,仅当
f ( j 1 ) − 2 s j 1 s i > f ( j 2 ) − 2 s j 2 s i f(j_1)-2s_{j_1}s_i>f(j_2)-2s_{j_2}s_i f(j1​)−2sj1​​si​>f(j2​)−2sj2​​si​
f ( j 1 ) − f ( j 2 ) > 2 s i ( j 1 − j 2 ) f(j_1)-f(j_2)>2s_i(j_1-j_2) f(j1​)−f(j2​)>2si​(j1​−j2​)
f ( j 1 ) − f ( j 2 ) 2 ( j 1 − j 2 ) < s i \frac{f(j_1)-f(j_2)}{2(j_1-j_2)}<s_i 2(j1​−j2​)f(j1​)−f(j2​)​<si​

这样与第一题截然相反,是要维护一个下凸包

但二分还是一样的

理论复杂度 O ( n log ⁡ n ) O(n\log n) O(nlogn)

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=3000+7;
int n,L,s,m,as1;
int c[N],a[N],dp[2][N];
struct pos{
	int a,b;
}p[2][N],nw;
int hd[2];
pos pk(pos a,pos b){
	return {b.a-a.a,b.b-a.b};
}
bool cmp(pos a,pos b){
	return a.b*b.a>=a.a*b.b;
}
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(),cout.tie();
	cin>>n>>m;
	++L; 
	for(int i=1;i<=n;i++)
		cin>>c[i],
		a[i]=a[i-1]+c[i],
		as1+=c[i];
	as1*=as1;
	p[0][0].a=-1;
	p[0][++hd[0]]={0,0};
	int c=1;
	for(int t=1;t<=m;t++,c^=1){
		hd[c]=0;
		for(int i=1;i<=n;i++){
			int x=a[i]*a[i];
			int l=1,r=hd[c^1];
			while(l<r){
				int mid=l+r+1>>1;
				if(pk(p[c^1][mid-1],p[c^1][mid]).b<a[i]*pk(p[c^1][mid-1],p[c^1][mid]).a)
					l=mid;
				else
					r=mid-1;
			}
			dp[c][i]=x-p[c^1][l].a*a[i]+p[c^1][l].b;
			nw.b=dp[c][i]+a[i]*a[i];
			nw.a=2*a[i];
			while(hd[c]>=2&&cmp(pk(p[c][hd[c]-1],p[c][hd[c]]),pk(p[c][hd[c]],nw)))
				--hd[c];
			p[c][++hd[c]]=nw;
		}	
	}
	cout<<dp[c^1][n]*m-as1<<endl;
}

与官方博文或参考文献对照,可更好理解

参考文献:https://www.luogu.com.cn/blog/aben-blog/xie-shuai-you-hua-dp

最新消息!最近发起活动,请选出其中最小的图片,有奖竞猜!(其实就是把名字写上去)

[模板] 斜率优化Dp详解 算法简介今天xinyue讲了斜率优化,全程懵逼,居然还有这么牛逼的东西。 于是与achen讨论了一下,总结一些东西。 斜率优化Dp其实是单调队列的推广,单调队列、旋转卡壳、斜率优化都利用了单调性降低时间复杂度。算法简介举个例子 有些动规状态转移方程可以写成 f[i]=min/max{f[j]+…+x[i]},省略号中只有与j有关的变量。 我们就可以用单调队列进行优化,使O(n^2)降为O( 阅读详情

相关推荐

学习笔记——斜率优化 dp

引入 斜率优化,是单调队列优化的一个进阶版本,为了更好地理解,先来回顾一下单调队列吧~ 所谓单调队列优化,就是对于形如: dpi=max⁡{dpj+aj} dp_i=\max\{dp_j+a_j\} dpi​=max{dpj​+aj​} 的 dpdpdp 式,我们把所有的 dpj+ajdp_j+a_jdpj​+aj​ 放进单调队列里,实现 O(1)O(1)O(1) 的转移。 这个时候,只有在式子中,每一项只有关于 jjj 或者只有关于 iii 的。但是如果有这样一个式子: dpi=max⁡{dpj+aj×a

ZCETHAN 的博客 561

斜率优化详解(超详细, 有图有代码有注释)

文章目录斜率优化引入从例题开始斜率优化Part 1: 推为斜率式斜率优化Part 2: 合法点集的斜率单调性Part 3: 找到最优决策点Part 4: 斜率优化大流程Part 5: 斜率优化的优化Part 6: 代码详解斜率优化的一些问题 斜率优化引入 在说斜率优化之前,我们先说说一种更为简单的dpdpdp优化。 比如,有一个dpdpdp式子形如dpi=min⁡0≤j<idpj+f(j)+g(i)dp_i=\min_{0≤j<i} {dp_{j}+f(j)+g(i)}dpi​=0≤j<imin​dpj​+

Cherrt的博客 7998

斜率优化动态规划DP

斜率优化DP

[学习笔记]斜率优化dp 总结

我们学过不少优化类的算法了,大部分都是基于凸函数的性质给出的优化,比如Slope Trick,Wqs二分,又比如今天的斜率优化(不知道什么时候会有空把Slope Trick写掉)当dp式子满足cy−cxby−bx≤−aiby​−bx​cy​−cx​​≤−ai​的时候,我们要维护的是一个下凸包i

sophilex的博客 2127

ESP32驱动Xbox Series X手柄的BLE协议实现

蓝牙低功耗(BLE)是嵌入式设备无线交互的核心技术,其GATT协议架构支持自定义服务与特征值通信,广泛应用于游戏外设、工业遥控等场景。Xbox Series X手柄采用非标准私有BLE协议,需深度解析输入报告(64字节)、输出控制(振动/LED)及固件兼容性约束。该方案依托ESP32平台与NimBLE 2.1.0+协议栈,解决MTU协商、PHY配置与HCI事件同步等关键问题,实现125Hz实时输入采集与毫秒级振动反馈。适用于机器人遥操作、ROS2终端、LVGL交互界面等工程实践,是私有BLE设备逆向集成的典

weixin_42610671的博客 704

基于Mask-RCNN网络的书架图书书脊分割和检测(含代码)

图书馆的书架上的图书书脊分割/检测对于图书书名等信息的识别具有重要意义,因此,该博客基于Mask-RCNN网络实现了图书书脊的分割和检测,有利于进一步利用ocr文字识别技术实现图书书名等信息的入库。如下图所示,为书架原始数据和分割/检测后的结果。(本文已训练模型,无需训练)

qq_44619530的博客 2020

斜率优化dp 学习笔记

从一个问题开始 真正理解斜率优化dp orz ISA1 问题Apio 2010 特别行动队1.1 题意简述给出一个序列x1,x2...xnx_1,x_2...x_n,将其划分成若干个连续的区间,每一段区间[l,r][l,r]的价值为ax2+bx+cax^2+bx+c,其中x=∑i=lrxix=\sum\limits_{i=l}^r x_i 现在你需要最大化序列的价值1.2 数据范围对于20%2

zyf2000 2305

改进yolov8|BackBone改进:PWConv、FasterNeXt替换yolov8主干网络

各位哥哥姐姐弟弟妹妹大家好,我是干饭王刘姐,主业干饭,主业2.0计算机研究生在读。和我一起来改进yolov8变身计算机大牛吧!本文中的论文笔记都是刘姐亲自整理,原创整理哦~

weixin_44379985的博客 742

斜率优化DP学习笔记

斜率优化DP学习笔记

Renatus的博客 1176

华为昇腾(Ascend)开发考试原题目解析 (2024) (题库一)——HCIP-AI-Ascend Developer——第一部分

给出一段代码如下,以下哪个选项描述错误?...A.中的语句由 MindSpore 接管,有语法限制B. 算子在中定义,并用来建立网络C.__init__()中的语句由 Python 解析执行D. 网络定义必须继承基类nn.Cell正确答案: B__init__()用于定义算子和网络层。所有需要用到的层(如卷积层、全连接层等)都应该在这里进行实例化。这部分代码由Python解释器执行。用于构建前向计算图。它调用在__init__()中定义好的算子和层来描述数据的流向。

qq_38334677的博客 1047

飞牛fnNAS同步微信微信聊天记录

微信聊天记录如何备份到NAS?本文介绍了利用NAS虚拟机和同步工具实现微信记录自动备份的方法。通过在NAS上搭建"云电脑"长期运行微信PC端,并配置微力同步将聊天记录文件夹自动同步到NAS存储,解决了传统电脑备份的安全性问题。操作步骤包括:1)在NAS上安装虚拟机系统;2)登录微信PC端并同步手机记录;3)配置同步工具将微信记录文件夹同步到NAS。该方法尤其适合不常使用PC微信的用户,可实现记录永久保存和远程查看,更换手机时也能快速恢复历史记录。

dgnankai的专栏 4254

DP优化:斜率优化 学习笔记

目录导航 前言 定义 例题 思路 代码 后记 前言 斜率优化这个技巧确实是个难点,花了差不多一个下午才搞懂基本的思路,切掉了一题例题(我太蒟了)。很多博客或多或少都有一些不足的地方,所以这里我尽力写一篇比较简单易懂的文章。(虽然可能并没有人看) 定义 我们先来看看我大wiki怎么说: 斜率优化(英语:Convex Hull Optimisation)是一种数形结合优化动态规划的思想...

weixin_30315435的博客 215

蓝牙EDR模式中GFSK调制如何过渡到DPSK调制

这两份文档片段揭示了蓝牙Modem设计中非常精深的部分。它的核心思想是:通过精心的脉冲形状设计和重叠,来保证幅度连续;通过在保护间隔内执行一套复杂的“相位平滑算法”(重复、斜率保持、寻找基准点、冻结),来保证相位连续。Figure 3-2 则是将这个思想用图形化的方式展现出来,说明了脉冲在时间轴上的对齐和叠加关系。这种设计确保了发射机能够严格符合蓝牙规范的要求,实现不同调制方式之间的平滑、无毛刺切换,从而保障了通信的可靠性和高效的频谱利用率。

m0_49540263的博客 272

【学习笔记】斜率优化 DP

下凸壳。

XN5Dd3751的博客 182

基于 YOLOv26 的 PCB 板缺陷检测:工业级视觉实战

本文提出了一种基于YOLOv26的PCB板缺陷检测系统,通过深度学习技术实现对PCB板缺陷的自动化检测。系统能够识别短路、开路、焊点不良等8种常见缺陷,具有高精度、多类别分类和实时推理等优势。文章详细介绍了系统架构,包括数据采集、预处理、YOLOv26模型检测和后处理模块。在代码实现部分,给出了环境配置、数据预处理与增强的具体方法,使用Albumentations库进行图像增强处理。该系统为电子制造业提供了高效、准确的PCB质量检测解决方案,显著提升了检测效率和准确性。

一键难忘的博客 319

基于BERTopic模型的英文20新闻数据集主题聚类及可视化

BERTopic是基于深度学习的一种主题建模方法。BERT是一种用于NLP的预训练策略,它成功地利用了句子的深层语义信息。

Cachel Wood的博客 1458

斜率优化dp学习笔记

本文为原创??? 作者写这篇文章的时候刚刚初一毕业…… 如有错误请各位大佬指正 从例题入手 洛谷P3915[HNOI2008]玩具装箱toy Step0:读题 Q:暴力? 如果您学习过dp 不难推出dp方程 设dp[i]表示放置前i个物品需要的最小价值 dp[i]=min(dp[j]+(sum[i]-sum[j-1]+i-j-L)^2) su...

weixin_30415801的博客 181

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

学习笔记:斜率优化DP

作为数学渣,先复习一下已知两点\((x_1, y_1)\), \((x_2, y_2)\),怎么求过两点的一次函数的斜率... 待定系数法代入 \(y = kx + b\) 有: \(x_1k + b = y_1\) \(x_2k + b = y_2\) 两式相减有: \(k = \frac{y_2 - y_1}{x_2 - x_1}\) 故事围绕着《算法竞赛进阶指南》的三一道例题展开: 引子...

weixin_44666356的博客 88

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

斜率优化dp入门-学习笔记

最近在学斜率优化。 但是讲课的学长默认我们会这个东西,于是其它部分都听得懂一到斜率优化就开始一片空白 。 感觉跟单调队列优化dp很像,但要复杂一些。 感觉 就是一直在看决策点哪个更优什么的然后不停地化简移项然后化简成不等式的一边有类似斜率那样的一个形式,然后再根据题目的一些什么性质进行维护。 最近实在是有太多事情要干了,感觉学东西好快呀,这既是好事又不好。(怎么又开始哲学) 所以还是粘一下参考的...

岂曰无衣,与子同袍 412

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

学习笔记:斜率优化dp

上讲习题 AcWing 1087 本题可以想到,设fif_ifi​为前iii头牛合法选择的最大效益。首先可以不选,fi=fi−1f_i=f_{i-1}fi​=fi−1​。考虑选择第iii头牛,可以枚举一个jjj表示iii开始往前连续的牛的数量,保证1≤j≤k1\le j\le k1≤j≤k即可。则这一段牛就是∑x=i−j+1i\displaystyle\sum_{x=i-j+1}^ix=i−j+1∑i​,为了保证不选第i−ji-ji−j头牛,那么就是用fi−j−1f_{i-j-1}fi−j−1​。于是有状态

weixin_44043668的博客 450
上一篇: 【树状数组】区间修改、区间查询
下一篇: 杭电比赛总结
雨竹Rb
博客等级 码龄5年 146粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值