poj 3171

poj 3171 dp+线段树(最小代价覆盖全部区间) 题意:给定一个需要覆盖的区间[m,e],给出n个区间[ai,bi],每个区间有一个权值wi。求能够把[m,e]覆盖所选取的区间的最小代价之和。 思路:如果没有权值,那么贪心可以解决这个问题,见poj2376。但是此处带权,那么贪心不成立,需要考虑用动态规划。先将所有区间的代价设置为无限大,然后将给的n区间按左优先排序,然后进行一趟遍历:第i个区间为[a,b],先查询[a-1,b-1]区间的最小值 阅读详情

题意:给n个区间及其代价值,问要覆盖[M,E]区间至少要花费多少代价;

注意初始化足够的数组,

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int
#define l(x) ((x)<<1)
#define r(x) ((x)<<1|1)
#define lowbit(x) ((x)&(-(x)))
#define abs(x) ((x)>=0?(x):(-(x)))
#define ms(a,b) memset(a,b,sizeof(a))

using namespace std;

const int maxn = 911111;

struct node {
	int beg, end, val;
	friend bool operator<(const node &a, const node &b) {
		if (a.beg == b.beg)return a.end < b.end;
		return a.beg < b.beg;
	}
};

int n, dat[2 * maxn];
void init(int n_) {
	n = 1;
	while (n < n_) n *= 2;
	ms(dat,INF);
}

void update(int k, int a) {
	k += n - 1; 
	dat[k] = min(a,dat[k]);
	while (k > 0) {
		k = (k - 1) / 2;
		dat[k] = min(dat[k * 2 + 1], dat[k * 2 + 2]);
	}
}

//query(a,b,0,0,n)
int query(int a, int b, int k, int l, int r) {
	if (r <= a || b <= l) return INF;
	if (a <= l && r <= b) return dat[k];

	return min(query(a, b, k * 2 + 1, l, (l + r) / 2),
		query(a, b, k * 2 + 2, (l + r) / 2, r));
}

int get(int k) {
	return dat[k + n];
}

int m, e,len;
node demo[maxn];

int main(){
	ios::sync_with_stdio(false);

	cin >> len >> m >> e;
	e -= m;
	init(e+1);
	update(0, 0);
	for (int i = 0; i < len; i++) {
		cin >> demo[i].beg >> demo[i].end >> demo[i].val;
		demo[i].beg = max(0, demo[i].beg - m) + 1;
		demo[i].end = max(0, demo[i].end - m) + 1;
	}
	sort(demo, demo + len);
	for (int i = 0; i < len; i++) {
		int a = query(demo[i].beg-1, demo[i].end, 0, 0, n);
		update(demo[i].end, a+demo[i].val);
	}
	
	cout << (get(e) == INF ? -1 : get(e)) << "\n";
	
	return 0;
}
利用HFSS仿真优化圆极化微带天线的耦合馈电设计 本文深入探讨了利用HFSS仿真软件优化圆极化微带天线性能的关键方法。通过对比传统直接馈电与耦合馈电方式,详细阐述了耦合馈电在提升阻抗匹配、改善轴比带宽及增强设计鲁棒性方面的显著优势。文章结合FR4板材的实战案例,逐步演示了在HFSS中建立模型、进行参数扫描与圆极化性能优化的完整流程,为设计高性能、高纯度的圆极化天线提供了实用指南。 阅读详情

相关推荐

Anomalib实战:从零开始构建自定义数据集的异常检测模型

本文详细介绍了如何使用Anomalib 2.1.0从零开始构建自定义数据集的异常检测模型。通过实战演示,指导读者准备符合规范的数据集结构,快速上手训练Patchcore等先进算法,并完成模型推理与调优,为工业质检、医疗影像等场景提供高效的视觉异常检测解决方案。

weixin_29165465的博客 109

POJ - 3171 Cleaning Shifts(DP+线段树优化)

题意:头牛,每头牛在到时间段干活并需要数量的钱,想要在到时间段的每一时刻都有牛在干活,最少需要多少钱? 思路:首先把不在到时间段干活的牛给去除,在把剩下的牛按照从小到大排序,表示从到都有牛干活的最下花费,挨个遍历每个时间段,有: 其中找最小值部分可以用线段树来优化 #include &lt...

GYH0730的博客 417

Win10离线安装.net framework 3.5全攻略:镜像匹配与DISM命令实战(附错误0x8024402c解决方案)

本文详细解析了在Windows 10系统中离线安装.NET Framework 3.5的完整流程与核心难点。重点阐述了如何精准匹配系统版本与安装镜像,并提供了使用DISM命令进行离线安装的实战步骤。针对常见的错误代码0x8024402c,文章深入剖析了其根源,并给出了系统级的排查与解决方案,特别适合企业内网运维人员参考。

weixin_29299807的博客 659

poj3171(线段树区间覆盖最小代价)

题意:给n个区间及其代价值,问要覆盖[M,E]区间至少要花费多少代价; 解法:线段树维护和查询区间的最小值:            先将所有区间的代价设置为无限大,然后[0,M-1]区间设置为0.将给的n区间按左优先排序,然后进行一趟遍历:第i个区间为[a,b],先查询[a-1,b]区间的最小值min然后更新[a,b]的最小值为Ci+min。最后找到[E,E]区间的最小值就是要覆盖[M

xiefubao的专栏 2146

链路监控pinpoint3.0.3安装部署(2)

本文详细介绍了Pinpoint 3.0.3分布式链路监控系统的安装部署过程。主要内容包括:1)数据库安装(HBase、MySQL、Redis、Pinot)的详细配置步骤;2)中间件Zookeeper和Kafka的安装;3)Pinpoint三大组件的部署:Collector、Web和Batch的配置文件修改和启动脚本。文章特别强调了使用-starter-exec.jar包的重要性,并提供了各组件所需的详细参数配置,包括数据库连接、Zookeeper地址、Kafka配置等关键信息。

zouzou_888的博客 1368

CMOS中的 latch-up 闩锁效应、添加tap解决latch-up、使用combained area绘制TAP TAP的作用 IC后端版图【VLSI】

本文详细阐述了闩锁效应latch-up问题、如何通过添加Tap来解决。详细讲述了如何通过combained area来绘制TAP

Jie_MSD的博客 1万+

poj1769(dp + 线段树)

题目大概意思为选几个区间,使 1 到 n 全都被覆盖,求选取区间的最少数量 dp[i][j] : 意思为到第 i 个区间为止,能刚好覆盖到 j 的最小区间数目 例:区间为【1,10】,【5,20】,则 dp[1][10] = 1; dp[2][20] = 2; dp[2][19] = INF; 此时影响当前阶段的只有前一阶段的状态,无后效性,所以 dp 可行 预处理,i = 0时,dp[0][] = 0; dp[0][j] = INF; ( 从 1 开始,所以不用区间就能到 1 ) 那 dp[i+1][j]

gronkie的博客 321

Vercel静态站被墙别慌!手把手教你用Cloudflare免费CDN+域名解析搞定DNS污染

本文详细介绍了如何利用Cloudflare免费CDN和域名解析解决Vercel静态网站遭遇DNS污染的问题。通过诊断DNS污染、设计Cloudflare解决方案架构、实战配置步骤以及高级调优技巧,帮助用户快速恢复站点访问并提升防护能力。

weixin_27442001的博客 677

poj3171(dp + 线段树),web前端开发最佳实践

资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。图片转存中…(img-1q6aOW3J-1712198714838)]资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

2401_84091742的博客 1024

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 524

古风仙侠少女三视图提示词,一键生成角色设定

3D中国写实CG风格,CG渲染质感,精细3D建模,PBR物理材质,细腻服装纹理,电影级灯光,丰富表情,高精度场景,次世代引擎画质。平视正交视角,统一光照,纯白背景,无文字无水印,避免强透视和动态变形。3D中国写实CG风格,CG渲染质感,精细3D建模,PBR物理材质,细腻服装纹理,电影级灯光,丰富表情,高精度场景,次世代引擎画质。3D中国写实CG风格,CG渲染质感,精细3D建模,PBR物理材质,细腻服装纹理,电影级灯光,丰富表情,高精度场景,次世代引擎画质。少女,古风仙侠少女气质,灵动、温婉、仙气。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1025

poj3171 Cleaning Shifts[DP]

https://vjudge.net/problem/POJ-3171。(有价值的区间全覆盖问题) (lyd例题)朴素DP很好想,$f[i]$表示将右端点从小到大排序后从$L$(要求覆盖的大区间)到第$i$个区间的右端点都覆盖完成时最小化费。无解则为INF。然后利用排序、右端点单调性,每次枚举前面dp过的右端点落在现在左端点及其右侧(或相邻)的,去最小dp值加上现在费用。然后$O(...

dianer2977的博客 191

华为od 面试八股文_测试/测试开发_01_含答案

华为od面试八股文_测试/测试开发_01_含答案

MISAYAONE的博客 3814

[POJ 3171] Cleaning Shifts

[题目链接] http://poj.org/problem?id=3171 [算法] 线段树 +dp [代码] #include <algorithm> #include <bitset> #include <cctype> #include <cerrno> #i...

177

深度学习工具包 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")

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

POJ 3171 Cleaning Shifts(DP+zkw线段树)

【题目链接】http://poj.org/problem?id=3171 【题目大意】   给出一些区间和他们的价值,求覆盖一整条线段的最小代价 【题解】   我们发现对区间右端点排序后有dp[r]=min(dp[l-1~r-1])+s   而对于求最小值我们可以用线段树优化 【代码】 #include <cstdio> #includ...

weixin_30920853的博客 152

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

POJ 3171 Cleaning Shifts​ 题解 《挑战程序设计竞赛》

为什么80%的码农都做不了架构师?>>> ...

weixin_34117522的博客 215

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

POJ 3171

题目大意:        给定一个区间范围[M,E],接下来有n行输入,每行输入三个数值:T1,T2,S,表示覆盖区间[T1,T2] 的代价为S,要求你求出覆盖区间[M,E]的最小代价,如果不能覆盖,则输出-1. 解题思路:           先将区间按右端点进行排序,这样我们就能得到dp状态的定义和转移方程:                    dp[i

Keep Moving的专栏 2156

【线段树+dp】poj3171

题意:给n个区间及其代价值,问要覆盖[M,E]区间至少要花费多少代价 传送门:https://vjudge.net/problem/POJ-3171 其实就是一个很简单的dp:,dp[j]表示覆盖s到j最少费用,dp[j]=min{dp[j],dp[k](t1-1<=k<=t2-1)+cost[i]}。我是对右端点排序,然后这样就保证每次更新的顺序了。具体看代码吧。 ...

weixin_30952535的博客 189

POJ 3171 DP

Cleaning Shifts Time Limit:1000MS Memory Limit:65536K Total Submissions:3563 Accepted:1205 Description Farmer John's cows, pampered since birth, have reached n...

anuancong1219的博客 172

【POJ3171】Cleaning Shifts

线型dp+线段树优化 我们定义f[i]表示覆盖[L,i]的最小代价,我们将牛按照r递增排列,假设当前牛为[ai,bi],代价为vali 那么存在 我们在状态转移时,每次需要查询区间内的最值,同时f数组发生更新,因此我们可以用线段树的查询、修改在较快时间内维护f数组。 同时我们注意一下边界的处理即可。 1 #include <iostream> 2 #incl...

weixin_30301183的博客 165

POJ3171——Cleaning Shifts

Cleaning Shifts Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2813   Accepted: 976 Description Farmer John's cows, pampered since birth, have reached new hei

Alex 1017

题解 POJ3171 【Cleaning Shifts】

题目链接:Link Problem Solution 一个很直观的想法是设 $ f(x) $ 表示覆盖[L,x]需要花费的最小代价。 为避免后效性,可将奶牛右端点排序。设当前奶牛为 $ [L,R],c $ ,则状态转移方程为: \[ f(R) = \min\limits_{L-1 \le x \le R} \{ f(x) \} + c \] 观察到这个dp过程事实上是在不断地在f数组里...

donglaishi1835的博客 228

poj 3171 rmq+dp

题意: 有n头牛,分别愿意在[fr, to] 的时间间隔内打扫卫生,打扫收费val元。 然后FJ想要在[S. E]的时间段内,都有牛在打扫卫生。 问他的最小花费是多少。 解析: 状态转移方程: dp[end_i] =  min(dp[end_i], min(dp[start_i] ~ dp[end_i]) + salary_i) 然后min(dp[start_i] ~ d

渐近自由 489

poj3171 Cleaning Shifts

这是一道数据结构优化dp的题 设区间的三个元素为 a, b, v.(左端点,右端点, 费用)。把右端点按递增排序,按顺序扫描贴纸。 设当前贴纸端点为 a, b. 那么可以写出方程 : f[ bi ] = min{ f[ x ] ( ai - 1 <= x < bi )} + ci;(不用修改整个区间) 初值 f[ M - 1 ] = 0, 其余为正无穷, 目标 min (f[ ...

weixin_34216107的博客 170

POJ 3171 DP + 线段树

大致题意 农场主需要再 [M, E] 时间段内都至少有 1 头牛在打扫。有 N 头牛,工作时间段为 [T1, T2] ,薪水为 S。求农场主需要提供的最小总工资。 0 <= M <= E <= 86,399, M <= T1 <= T2 <= E, 0 <= S <= 500,000 dp[i] 表示覆盖时间段 [M, i] 所需要的最小工资。要对牛...

neweryyy的博客 158
上一篇: 地板覆盖问题O(n)解
下一篇: 访问虚函数表+ (多继承)
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值