【01分数规划】二分+判圈

01分数规划问题相关算法与题目讲解(二分法与Dinkelbach算法) 01分数规划算法 信息学竞赛 OI ACM 二分 Dinkelbach 最优比率生成树 最优比率环前置技能 二分思想 最短路算法 一些数学脑细胞? 问题模型1基本01分数规划问题给定nn个二元组(valuei,costi)(value_i,cost_i),valueivalue_i是选择此二元组获得的价值(非负),costicost_i是选择此二元组付出的代价(非负),设xi(xi∈{0,1})x 阅读详情

01分数规划一般是用来解决∑f∑t=u\frac{\sum{f}}{\sum{t}} =u∑t∑f​=u,u最大的问题,这个变形一下可以写成∑f−u∑t=0\sum{f}-u\sum{t} = 0∑f−u∑t=0。这样可以二分u,如果∑f−u∑t>0\sum{f}-u\sum{t} > 0∑f−u∑t>0,说明u太小,否则u太大。

题意

n个点m条边的有向图,每个点有一个权值f,每条边有个权值t,现在要从任意一点出发并回到该点,问最大的∑f∑t\frac{\sum{f}}{\sum{t}}∑t∑f​是多少。

题解

有个结论:简单环的情况是最优的。
根据∑f−u∑t=0\sum{f}-u\sum{t} = 0∑f−u∑t=0,二分u,将每条边的权值变为f-u*t,这样如果该图中有正环,说明∑f−u∑t>=0\sum{f}-u\sum{t} >= 0∑f−u∑t>=0,那么u还可以再大,否则u就要缩小。

为什么不根据负环check呢? 因为要求的是u最大,图里可能既有负环也有正环,那么肯定需要选正环而不是负环。

代码

#include <bits/stdc++.h>
using namespace std;
#define FOR0(a,b) for(int i = a; i < b; ++i)
#define FORE(a,b) for(int i = a; i <= b; ++i)
#define x first 
#define y second
typedef long long ll;
typedef pair<int,double> pii;
const int maxn = 1000+5;
int n,m;
struct edge{
	int u,v;
	double w;
};
vector<edge> Edge;
vector<pii> G[maxn];
double f[maxn];
void add(int u, int v,int w) {
	G[u].push_back(pii(v,w));
}
double d[maxn];
int inq[maxn],cnt[maxn];
bool spfa(double mid) {
	queue<int> que;
	for(int i = 1; i <= n; ++i) 
		d[i] = 10000000;
	memset(inq,0,sizeof inq);
	memset(cnt,0,sizeof cnt);
	int s = 0;
	d[s] = 0;
	que.push(0);
	inq[s] = 1;
	cnt[s] = 1;
	while(!que.empty()) {
		int u = que.front();
		que.pop();
		inq[u] = false;
		// cout << u << endl;
		for(int i = 0; i < G[u].size(); ++i) {
			int v = G[u][i].x;
			double w = G[u][i].y;
			w = (f[u]-mid*w);
			 // cout <<u<<" "<< v << endl;
			if(d[v] > d[u]+w) {
				d[v] = d[u]+w;
				if(!inq[v]) {
					inq[v] = true;
					que.push(v);
					if(++cnt[v] > n)
						return true;
				}
			}
		}
	}
	return false;
}
int main() {
	scanf("%d%d", &n,&m);
	for(int i = 1; i <= n; ++i) {
		scanf("%lf", &f[i]);
		G[0].push_back(pii(i,0));
	}
	int u,v;
	double w;
	for(int i = 0; i < m; ++i) {
		scanf("%d%d%lf", &u,&v,&w);
		G[u].push_back(pii(v,w));
	}

	double l = -1e9, r = 1e9, ans = l;
	for(int i = 0; i < 300; ++i) {
		double mid = (l+r)/2;
		if(spfa(mid)) {
			r = mid;
			ans = mid;
		} else 
			l = mid;
	}
	printf("%.2lf\n", l);
	return 0;
}
WRFDA如何读取风云四号A 星的GIIRS数据? 🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。 阅读详情

相关推荐

CCS安装教程图解说明:可视化步骤快速上手

通过清晰的图解步骤详解CCS安装过程,帮助新手快速掌握环境搭建。结合ccs安装教程与实际操作界面,每一步都直观易懂,大幅降低学习门槛,提升配置效率。

weixin_42611310的博客 961

分式规划和波束成形(MATLAB代码)

Dinkelbach_type_algorthm q1=20 q2=30 q3=35 q4=28 N=4 m=4 k=1 h=abs(rand(N,m+2)) g=abs(rand(N,m+2)) v=abs(randn(N,1,k)) x=abs(randn(N,m,k)) t2=1 while t2~=0 for i=1:m temp0=0 for j=1:m

zhouguangfei0717的博客 6577

ECC椭圆曲线加解密原理详解(配图)

椭圆曲线加解密原理详解 本文主要参照:ECC椭圆曲线详解(有具体实例)[1] 前言: 椭圆曲线(ECC)加密原理跟RSA加解密原理比起来,可真是晦涩难懂。拜读了大神Kalafinaian文章“ECC椭圆曲线详解(有具体实例)”,终于看到了参透的曙光。 由于原文中有微小的瑕疵,也为了便于阅读起来更加流畅,我重新整理了一下这篇文章。 为什么使用椭圆曲线加密算法? RSA的解决分解整数问题需要亚指数...

Mark的博客 7万+

训练日记

  今天上午补了一点上次比赛的题,补充了一下莫队这个知识点,并且把莫队算法,补上了。感觉算是一种分块排序算法,在二维上分块。还有那个数独的搜索暴力题。主要是做可行性剪枝和最优化剪枝。E题的预处理+推规律。   下午打了比赛,打的最水的了。主要是01分数规划,确实不会。知识点不够。补充了。这个题做不出来。下面的题都不想做了,其实虽然可以做。不知道比赛,都会遇到这种情况,一道别人都出的题卡住,就不想...

a1046765624的博客 193

本地使用大模型:Ollama+open-webui+AnythingLLM(Windows+linux)

随着大模型的发展,大量的开源模型可以被直接使用。大模型的使用可以选择在云端或者在本地,如果本地存储空间尚可,而且模型需求不是很大的话,我们可以选择在本地部署一个大模型来使用。针对特定的任务需求,进一步在本地去微调我们的大模型。我在windows和linux上都尝试了一遍,这里记录一下过程。

wpqgt的博客 2165

RK3588开发板量产前必做:24小时DDR压力测试到底在测什么?(附ArmSoM-W3测试脚本解析)

本文深入解析RK3588开发板量产前的24小时DDR压力测试,揭示其核心价值与技术原理。通过memtester、stressapptest和变频测试的组合使用,全面验证DDR内存稳定性。特别介绍ArmSoM-W3测试脚本的创新设计,包括并行测试架构和异常熔断机制,为开发者提供可靠的量产测试方案。

weixin_30325487的博客 453

对于0-1分数规划的Dinkelbach算法的分析

武钢三中 吴豪[译] 摘要: 0-1分数规划问题是指求出解集{xi|xi=0或1}使目标(c1x1+c2x2+...+cnxn) /(d1x1+d2x2+…+dnxn)=cx/dx达到最大。对于分数规划问题,Dinkelbach提出了一个算法,它通过解决一个子问题Q(L)来得到原文题的解。这里Q是一个线性的最小化目标函数cx-Ldx,且满足x等于0或1。在本文中,我们证明了Dinkelba

3300

51单片机超声波测距数码管显示并报警(Proteus 仿真)

HC-SR04超声波 实物图 使用方法 1、给TRIG端口至少10us 的高电平信号 2、模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回 3、有信号返回,ECHO端口会输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间 计算的话这里就不考虑温度的影响直接用声速340m/s Proteus仿真 HC-SR04可以用Proteus中的SRF04代替 下面附上代码 ...

m0_46254883的博客 1万+

01分数规划 二分算法

01分数规划是这样一类问题 给你n个二元组,这个两个元素设为a[i] ,b[i], a[i]是得到这个物品所能得到的价值,b[i]是得到这个物品所付出的价值,让你求这样一个极值。 即 R=∑ni=1(a[i]/b[i]) 问题解决方法: 如果我们二分一个值 mid=∑ni=1(a[i]/b[i])mid=∑i=1n(a[i]/b[i]) 如果此时mid答案可行 则必有 ∑ni=1(a[i]−b[i...

谁是凶手1703 408

UE5 推荐的资产命名规范

在开发阶段中,随着 虚幻引擎(UE)(Unreal Engine (UE)) 项目日益复杂,内容浏览器(Content Browser) 中的 资产(Assets) 列表会不断扩充。这会导致资产出现各种变体版本,也会导致资产名称因过于相似而造成混淆。比如,你有一个文件夹名为"Soldier",这个文件夹中有蓝图、纹理和模型,它们的名称中都带"Soldier"一词,但在简单列表中,很难区别它们。

一碗清深的博客 3372

京东豆自动领取脚本配置教程

腾讯云/阿里云服务器(Docker环境):全自动跑脚本领京豆(无需本地代理,使用加速源)

AIOT魔法师 855

数据结构与算法:01分数规划

01分数规划

2402_89326161的博客 428

43_AI短片实战第十六弹:AIGC补充特写镜头——首尾帧衔接与多图抽卡技巧

本文介绍了使用Templa AI平台生成"怪兽爬车"特写镜头并衔接"甩尾摔下"动作的完整流程。首先通过AI生成4张怪兽趴在车顶的特写画面,重点选择展示怪兽与车顶关系的构图(16:9比例)。然后将选定的首帧图与已有尾帧图输入AI,生成7秒左右的过渡视频,实现从"稳定趴车"到"开始摔落"的自然衔接。整个过程展示了单图抽卡策略、首尾帧选择标准,以及如何利用AI生成时间进行其他剪辑任务的并行处理方法。最终产出包括特写首帧图、过渡视频文件和更新后的剪辑项目。

Open 75

BZOJ_1486_[HNOI2009]最小圈_01分数规划

BZOJ_1486_[HNOI2009]最小圈_01分数规划 Description Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 Sample Output 3.66666667 二分答案,边权减去答案,判负环即可。 然而spfa判负环会T掉,于是我使用了dfs...

131

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

浅谈01分数规划

文章目录概念Ⅰ:基础01分数规划 概念 01分数规划一般是处理这样一类问题:给定 n 个二元组 ( Ai , Bi ),让你从中选择 m 个组 (m<=n)使得 ∑k=1mAkBk\sum_{k=1}^{m}\frac{Ak}{Bk}k=1∑m​BkAk​最大或最小,通常分为四类 Ⅰ:基础01分数规划 模板题(POJ2976) 给定 n 个二元组 ( Ai , Bi ),从中选择 m=...

Joker & Liar的博客 1891

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

01分数规划

【关键字】 0/1分数规划、最优比率生成树、最优比率环 【背景】  根据楼教主的回忆录,他曾经在某一场比赛中秒掉了一道最优比率生成树问题,导致很多人跟风失败,最终悲剧。可见最优比率生成树是多么凶残的东西,但是这个东西只要好好研究半天就可以掌握,相信你在看了我写的这篇总结之后可以像楼教主一般秒掉这类问题。 因为网上对于01分数规划问题的详细资料并不是太多,所以我就结合自己的一些理解总结这种问

Hhaile的专栏 2万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

01分数规划,二分法,题目练习

那么 sum(t - w * m) >= 0,我们如何得到sum(w) >= W下最大的sum(t - w * m)?那么二分最大比率 m,有 sum(l) / sum(h) <= m,即 sum(l - m * h) <= 0。我们对于 节点i,j,以 l(i, j) - m * h(i, j) 为边权求最小生成树即可。l(i, j) 为 节点 i 和 j 之间的欧氏距离,h(i, j) 为二者高度差。sum(t) / sum(w) >= m,m 为二分最大值。考虑从推荐人向被推荐人连有向边。

EQUINOX1的博客 835

二分,01分数规划,三分

二分法很优秀: 比如在一组int类型的递增数中最多查找31次即可找到目标数的位置(int最大为231−12^{31}-1231−1) STL二分: binary_search(arr[],arr[]+size , index):返回bool值,是否存在 lower_bound(arr[],arr[]+size , index):返回可插入的最小位置的迭代器,即返回第一个符合条件的元素位置(lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于

人工智能方向,计算机视觉(https://github.com/chenshunpeng) 538

分治 —— 01 分数规划

【概述】 分数规划的一般形式为: 特别的,当时,称为 01 分数规划 简单来说,就是有一些二元组 (a[i],b[i]),现在从中选择某些二元组,使得最大或最小 这一类题通用的解法是利用二分法来解决: 假设 x 为最优解,对应的最优函数值为λ,那么有: 即: 于是可以构造函数 当时,此时 λ 即为最优解 也就是说,当某一个值 λ满足上述式子的时候,就是要求的值,...

Alex_McAvoy的博客 3115

BZOJ1486 HNOI2009 最小圈 【01分数规划】

BZOJ1486 HNOI2009 最小圈 Description 考虑带权的有向图G=(V,E)​G=(V,E)​G=(V,E)​以及w:E→R​w:E→R​w:E\rightarrow R​ ,每条边e=(i,j)(i≠j,i∈V,j∈V)​e=(i,j)(i≠j,i∈V,j∈V)​e=(i,j)(i\neq j,i\in V,j\in V)​的权值定义为wi,j​wi,j​w_{...

Dream_maker的博客 322

每周算法:01分数规划

01分数规划 :01指取还是不取,分数即所求型式为a/b,规划就是选取最好的方案。01分数规划一般采用二分答案的方式求解。

少儿编程乔老师 978

2279. 网络战争(最小割,01分数规划,二分)

给出一个带权图 G=(V,E),每条边 e 有一个权 we。求将点 s 和点 t 分开的一个边割集 C,使得该割集的平均边权最小,即最小化:边割集的定义与最小割中的割边的集合不同。在本题中,一个边割集是指:将这些边删去之后,s 与 t 不再连通。

Landing_on_Mars的博客 1134
上一篇: 【gym 101606K】Knightsbridge Rises (最大流+打印路径)
下一篇: 【HAOI 2007 覆盖问题】 二分
Link_Ray
博客等级 码龄9年 44粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值