第k小数 快排变种

快速排序及其变种算法 快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 1)  递归实现的快速排序算法 用分治法处理待排序数 阅读详情

题目链接
在这里插入图片描述

手写快排,每次排序判断基准m,的位置,如果m > k ,第k小数就在
[l ,m-1],如果m < k,第k小数就在[m + 1,r] ,否则m == k,num[m]就是第k小数。

数据量偏大需要自己写个快读,不然可能读入数据过程就超限了

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll num[6000000];
ll T,n,k;

void read(ll &x){
    char c;
    ll flag = 1;
    x = 0;
    while((c = getchar()) && (c < '0' || c > '9'))if(c =='-')flag = -1;
    x = c - '0';
    while((c = getchar()) && (c >= '0' && c <= '9')) x = x*10 + c -'0';
    x*=flag;
}

ll qsort(ll l,ll r){
    
    if(l == r)   return num[l];
    ll m = l,head = l,rear = r;
    num[0] = num[m];
    
    while(head < rear){
        while(num[0] <= num[rear] && rear > m)    rear--;
             num[m] = num[rear];// '>='两个数一样不用交换 rear > m 防止越界
             m = rear;
        
        while(num[0] >= num[head] && head < m)    head++;
            num[m] = num[head];
            m = head;
    }
    
    num[m] = num[0];
   
    if(m < k)
        return qsort(m + 1,r);
    
    else if(m > k)
        return qsort(l,m-1);
    
    return num[k];
    
}

int main(){
   
    read(T);
    for(int t = 0;t < T;t++){
        read(n); read(k);
        for(int i = 1;i <= n;i++)
            read(num[i]);
        cout << qsort(1,n) << endl;
    }
    return 0;
}
快排扩展,Partition函数的应用(二) 快排扩展,Partition函数的应用问题描述问题分析python代码思维扩展   本文将介绍快排中partition函数的另一种常见的应用,如果对上篇文章感兴趣,可以点击回去看一看:快排扩展,Partition函数的应用(一)。在上一篇文章中,我结合题目讲解了问题的转换过程,如何分析问题把问题转换成我们已知的算法,乃至是排序算法,然后尽可能少的改动已经熟悉的代码解决问题。   我们这篇文章则对p... 阅读详情

相关推荐

递归分治篇---寻找第K小数NOJ1574

算设设计与分析 —递归与分值 求第k小数 时限:1000ms 内存限制:10000K 总时限:3000ms 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + Shift + H 无序列表:Ctrl/Command + Shift + U 有序列表:Ctrl/Command + Shift + O 检查列表:Ctrl/Command + Shift +

jiahe8397的博客 839

快速排序和变种快排

快速排序 主要思想 假设我们现在要对一个数组ar[]进行排序。首先我们需要随机选择一个基准值(一般选数组的首元素),然后将数组中的其他值与其进行比较,将小于它的数放在其左侧,大于的放在右侧(假定按从小到大排序)。这就完成了一趟快速排序 算法思路 假定现在有ar[0]—ar[n-1]这n个数据 1.将变量i指向数组的首元素,j指向数组的最后一个元素,key表示基准...

LYhani82475的博客 969

使用MLP解决OCR问题(OpenCV)(下)

分类模型:        分类模型涉及的一个比较关键的问题就是输出的10维向量是如何与具体的类别挂钩的。实际上:10维向量的每一位都代表一类,在对于训练集的表达中,如果输入数据是0,则10维向量的第一位赋值为1,其余均为0。即0对应[1,0,0,0,0,0,0,0,0,0]。MLP模型训练完成后,就需要对用户输入的数据所属类别进行判定。这时得到的输出数据基本不可能是正好的所属类为1,其他位置为0

qq_18515405的专栏 1906

快排变种

快排各种各样的优化: 1.利用栈来取代递归 2.选择基于三中值分区的中枢值 3.设定分割字数组的阈值,小于该值直接上插入排序 4.在处理字数组时候,首先将大的字数组压入栈来最小化栈的总大小,确保小的问题首先被解决。 要确保最坏情况下O(n*logn)复杂度,使用例如BFPRT的选择算法,抑或考虑堆排序,下一篇我也将自己写下堆排序。

nanjunxiao的专栏 795

给大一新生的蓝桥杯EDA备赛规划:从电路分析到立创EDA,如何用一年时间高效备赛?

本文为大一新生提供了一份系统的蓝桥杯EDA备赛规划,从电路分析基础到立创EDA实战操作,分阶段指导如何高效备赛。内容涵盖理论学习、软件操作、PCB设计专项提升及冲刺优化策略,帮助学生在一年内全面提升电子设计能力,为竞赛做好充分准备。

weixin_31476015的博客 287

腾讯开源SuperSonic:AI+BI如何重塑数据分析?

SuperSonic是腾讯开源的AI+BI平台,融合Chat BI与Headless BI,为制造企业提供实时数据分析。它通过自然语言交互打破数据壁垒,实现生产、库存、质量、供应链等多环节优化,提升决策效率,其开源生态与扩展性助力企业数字化转型与数据价值挖掘。

数据与算法架构提升之路专栏 4539

快速排序(Quick sort)值得一提的三个变种算法

快速排序(Quick sort)有三个值得一提的变种算法:平衡快排(Balanced quicksort)、外部快排(External quicksort)和三路基数快排(Three-way radix quicksort,也称作multikey quicksort、multi-key quicksort)。这里进行一些简要介绍。 平衡快排(Balanced quicksort): 每次尽可能...

weixin_30830327的博客 566

[工作流节点10] 获取多条数据并循环执行 —— 明道云批处理自动化实战

本文系统介绍了明道云工作流中"获取多条数据+循环执行"的批处理功能。该功能通过筛选数据集合并逐条处理,适用于批量通知、数据更新等场景。文章详细解析了功能配置方法,包括数据筛选、循环设置和异常处理,并提供了合同到期提醒等典型应用案例。同时强调了数据量控制、分批处理、错误处理等优化策略,帮助用户实现高效批量自动化。这一功能组合能将业务从单条处理升级为批量驱动,显著提升工作效率。

每日出拳老爷子的博客 455

快排变种题

/* * O(n)时间内找出一个无序数组中的元素,该元素比前面的都大,比后面的都小,输出所有该特性的元素 */ void printNumber(int arr[], int num) { int tmpArr[num]; int k = 0, top = 0; for (int i = 0; i < num; i++) { if (i == num -

zhenwenl_USTC的专栏 781

YOLOv8-Pose 姿态识别 RK3588 实战:从模型训练到 RKNN 部署,精度与推理速度双提升

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

FJN110的博客 364

Windows 11 安装、使用 Git:下载、安装、概念、命令、分支模型

本文详细介绍了在 Windows 11 系统上安装与使用 Git 的完整流程,涵盖从官方或国内镜像下载安装包、关键安装选项配置,到 Git 核心概念(如工作区、暂存区、分支、远程仓库等)的通俗解释。同时梳理了常用命令与五种主流 Git 分支模型(如 Git Flow、GitHub Flow 等),帮助开发者根据项目规模选择合适的工作流,是面向初学者与进阶用户的实用指南。

寒水馨 · 轻量级技术文档 · hanshuixin.org 2389

快速排序:分治思想的典范

快速排序是一种高效的排序算法,掌握它不仅有助于解决相关的算法问题,也能帮助我们更好地理解分治思想。希望这篇文章对大家有所帮助,祝大家刷题愉快!本文由 cannonjinx 原创,转载请注明出处。

cannonjinx的博客 4097

各大厂薪资对比爬虫:Python采集OfferShow爆料数据

print(f"⚠️ API返回错误码: {data.get('code')}, msg: {data.get('msg')}")ax.set_title('各大厂薪资对比 (基于OfferShow爆料数据)', fontsize=16, fontweight='bold')stats.columns = ['人数', '平均年薪', '年薪中位数', '年薪标准差', '平均月薪', '平均月数']print(analyzer.get_position_stats('字节跳动').head(10))

2201_76125261的博客 603

第k小数(快排)

题解 题目描述 链接:https://ac.nowcoder.com/acm/contest/5773/A 给你一个长度为n的序列,求序列中第k小数的多少。 input: 多组输入,第一行读入一个整数T表示有T组数据。 每组数据占两行,第一行为两个整数n,k,表示数列长度和k。 第二行为n个用空格隔开的整数。 output: 对于每组数据,输出它的第k小数是多少。 每组数据之间用空格隔开 解题思路 采用快排的思想,我们先找一个基准,把比这个基准小的数放基准左边,比这个基准大的数放在基准右边,这个时候如果基准

m0_46337382的博客 711

7.26华为OD机试真题 新系统 - 炸弹人的雷区数量 (Java/Py/C/C++/Js/Go)

7.26华为OD机试真题 新系统 - 炸弹人的雷区数量 (Java/Py/C/C++/Js/Go)

算法大师! 793

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

快排应用(第k小数,第k大数,最少交换次数)

第k小的数 Problem Description 现有一个包含n个整数(1<=n<=900000)的无序序列(保证序列内元素各不相同),输入一个整数k(1<=k<=n),请用较快的方式找出该序列的第k小数并输出。 Input 多组输入。 首先输入一个数据组数T(1<=T<=100) 接下来是T组数据。 每组数据有两行。 第一行先输入两个整数,n和k。 接下来是...

qq_45828951的博客 744

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

用快排解决第k小数问题

每排完一次后,由于基准数的左右都完成了相对大小的排列,可以把基准数的序号与k进行比较,如果不是,则判断进入左半部分或者右半部分,平均情况下时间复杂度为O(n) #include<bits/stdc++.h> using namespace std; #define ll long long const int N = 1e5+5; int a[N]; int n,k; int q...

qq_45098405的博客 421

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

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

关于利用快排思想求第K小数的分析

最近复习快排算法,记得当时最有意思的是可以用快排的partition函数求出第K小数 于是上网搜索一番,发现都只是贴出了代码。无奈只好自己研究了下 利用快排partition求第k小数不得不从partition函数开始说: 快速排序的思想是在一组待排序的数中,找出一个数作为分界,使得它前面的数都比它小,后面的数都比它大。这个数叫做枢轴 当求出一组数的枢轴以后,一组数就可以以枢轴为界

Loser 1740

求第k小数(快排)noj

#include <iostream> using namespace std; int n,k; int a[10000]; int findk(int st,int ed, int k); int main() { cin>>n; for(int i=0; i<n; i++) { cin>>a[i]; } cin>>k; cout<<findk(0, n.

weixin_46112487的博客 286

CH0501 货仓选址(第k小数)

描述 在一条数轴上有N家商店,它们的坐标分别为 A[1]~A[N]。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式 第一行一个整数N,第二行N个整数A[1]~A[N]。 输出格式 一个整数,表示距离之和的最小值。 样例输入 4 6 2 9 1 样例输出 12 数据范围与约定 对于100%的数...

curry的博客 486

找第k小的数 --->快排

2-1 找第k小的数 设计一个平均时间为O(n)的算法,在n(1<=n<=1000)个无序的整数中找出第k小的数。 提示:函数int partition(int a[],int left,int right)的功能是根据a[left]-a[right]中的某个元素x(如a[left])对a[left]~a[right]进行划分,划分后的x所在位置的左段全小于等于x,右段全大于等于x,同时利用x所在的位置还可以计算出x是这批数据按升非降序排列的第几个数。因此可以编制int find(int a[.

wasabidragon的博客 740

求第k小数

求第k小数,无非就是考查排序,请参考我最新的博文吧求第k小数----直接使用priority_queue,在网上看到许多使用快排来求第k小数都是认为第k小就是排好序数组中第k个元素,但是如果数组中有相同的元素呢,例如(1,2,2,2,3,5),认为第三小是3还是2呢?我刷题时遇到的是认为是3。没有想到什么好办法,先排序再找第k小,直接写俩排序算法好了,一个冒泡一个快排,但个人认为堆排序是最好的,可...

cqhblg的博客 4784

利用快排和堆排序寻找无序数组中的第K大数

最近遇到的几个小问题,记录一下~~~ 1、【快排和堆排序实现寻找第K大数】 快排和堆排序实现寻找第K大数github地址 2、【两个二维数组相乘】 3、【wmd讲解】 4、【三个激活函数的优缺点】 5、【LSTM解决的问题以及解决方法】 6、【fasttext原理】 7、【字典树的原理】 8、【过拟合 欠拟合了怎么办】 9、【正则项的作用】 1、求第K大数 leetcode # 215 【解法1 ...

Amy_mm的博客 1597

第k小数

时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给你一个长度为n的序列,求序列中第k小数的多少。 输入描述: 多组输入,第一行读入一个整数T表示有T组数据。 每组数据占两行,第一行为两个整数n,k,表示数列长度和k。 第二行为n个用空格隔开的整数。 输出描述: 对于每组数据,输出它的第k小数是多少。 每组数据之间用空格隔开 输入: 2 5 2 1 4 2 3 4 3 3 3 2 1 输出: 2 3

m0_53688600的博客 311

二分查找之k小数

题目链接:http://hihocoder.com/problemset/problem/1133 题意:找出序列中第k大的数。 分析: 直接sort排序的算法是O(nlogn),会超时。 (1)通过多次二分查找得到答案的话,实际上的复杂度是O(n)。 (2)利用C++里stl的函数做。 第一种实现,利用快排的思想去做。 //题目:二分查找之k小数 //时间:

小酷Miki的专栏 494
上一篇: 装备合成 三分
下一篇: 逆序数 cdq分治 归并排序
RunningBeef
博客等级 码龄7年 29粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值