牛客练习赛22 - C 简单瞎搞题 (bitset优化背包)

背包问题--01背包 (Bitset的优化) 多重背包 (二进制优化) 01背包问题: 题目链接 题意:n个物品一个m容量的背包,n个物品有need[i]的体积消耗,以及权值value[i] ,问m容量装n个物品能得到的最大权值是多少。 做法:01背包介绍:博客 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; inline ll read() { ll x=0,w=1; char c=getchar(); while(c<'0'||c>'9'. 阅读详情

点击打开链接

 

用位运算降时间复杂度

 

 

#include <bitset>
#include <iostream>
#include <stdio.h>
using namespace std;

int n;
bitset<1000200> b[110];

int main()
{
	int n;
	scanf("%d",&n);
	b[0][0]=1;
	for(int i=1;i<=n;i++){
		int l,r;
		b[i].reset();
		scanf("%d%d",&l,&r);
		for(int j=l;j<=r;j++){
			b[i]|=b[i-1]<<(j*j);
		}
	}
	printf("%d\n",b[n].count());

	return 0;
}

 

bitset优化背包... 题目: https://s3.amazonaws.com/codechef_shared/download/translated/SNCKEL16/mandarin/RWALK.pdf 这题可以转化成背包。 L,R什么的可以无视,因为替换他们不用时间。 将竖直方向和左右方向分成两个数组。 分别求出他们的和sum1,sum2。将其转化成背包,看成sum1的背包最多可以选多少个(长度和*2), 阅读详情

相关推荐

hdu5890 bitset优化0/1背包

额。。。bitset的优化呢,原来是n*m,10*87的时间复杂度 在第二维的时候优化成了n*n,10 *10 具体bitset怎么实现的呢。。看代码看注释 #include #include #include #include #include #include #include #include #include #include #include #include #include

brightest_star的博客 532

背包问题(位运算优化、bitset)

给你一个整数数组,长度为n,代表奖励的值。最初,你的总奖励x为 0,所有下标都是的。你可以执行以下操作[0, n - 1]ixxi以整数形式返回执行最优操作能够获得的总奖励。4依次标记下标 0 和 2,总奖励为 4,这是可获得的最大值。11依次标记下标 0、2 和 1。总奖励为 11,这是可获得的最大值。这道题需要转变一下思路,因为一般来讲传统的动态规划呢都是直接计算出答案,这道题呢如果直接计算答案你会发现非常难写,那么我们就换一种思路,计算可达的状态。还是按照背包问题的思路分为选或不选。

AuRoRamth的博客 1335

P2347 [NOIP1996 提高组] 砝码称重(bitset优化dp,bitset用法)--2024冲刺蓝桥杯省一

2.状态转移,看成 01 背包,如果f(i)可以表示,那么f(i+a[i])也可以表示,所以为f(i+a[i])=f(i);1.定义数组,f(k)表示前 i 个砝码,重量的组合是否可以为 k ,思路:将多重背包转化为01背包,因为数据比较小,所以不用二进制优化。3.初始化:根据定义来初始化f(0)=1。

m0_64267361的博客 1159

bitset优化例题

用一个 bitset dp 维护 当前的数 可以组成哪几个 x ,用 bitset tmp 维护 当前的状态 可以转移到哪几个状态,滚动优化空间,复杂度为O(n^5 / 64)

m0_53089164的博客 645

源代码实现:01背包问题及bitset优化

背包问题是一类典型的组合优化问题,广泛应用于资源分配、决策分析等领域。在所有背包问题的变体中,01背包问题因其基本性质和广泛的应用,成为了研究算法效率和优化的试验场。动态规划(Dynamic Programming,简称DP)是解决01背包问题的一种常见方法。它基于这样一个事实:一个问题的最优解包含其子问题的最优解。为了使用动态规划解决问题,首先需要定义状态和状态转移方程。在01背包问题中,一个常见的状态定义是:dp[i][w]表示考虑到第i个物品,当前背包容量为w。

weixin_35752233的博客 506

MATLAB锂离子电池伪二维(P2D)模型实现

锂离子电池伪二维(P2D)模型的MATLAB实现。该模型基于Newman等人提出的经典电化学模型,考虑了固液相扩散、电荷守恒和电化学反应动力学。

hie98894的博客 1928

C-Eighty seven(背包+bitset)

思路:因为n只有50,所以可以进行n^3复杂度(约等于,可以优化,不优化会t掉)的预处理,然后01背包的思路,bitset优化,因为是二进制位所以可以很有效的减少时间复杂度。题意:给你n个数字,每次拿走里面1到3个数,问你剩下的数里面是否能选出10个数之和为87。浅学了一下bitset,感觉挺妙的,可以进行背包问题的优化。...

weixin_62848089的博客 334

实验三 Gmapping建图

自主移动机器人第三次实验课,内容包括:(1)turtlebot的gmapping建图;(2)rosbag的使用;(3)gazebo中的gmapping建图。

lj164567487的博客 4648

bitset优化背包

题目:https://agc020.contest.atcoder.jp/tasks/agc020_c 回忆下一题,是零一背包,主要的做法就是凑出最接近sum/2的价值,然后发现现在的背包的容量是2000*2000,物品数量是2000,那么如果你用正常的 数组背包的做法的话,8*10^9的复杂度是会超时的,代码如下: int n; scanf("%d",&n); ...

weixin_33943347的博客 310

基于YOLOX与LPRNet的车牌检测与识别系统(Python+UI界面)实战指南

本文详细介绍了如何利用YOLOX目标检测模型与LPRNet车牌识别模型,从零构建一个完整的车牌检测与识别系统。通过解析CCPD数据集、训练深度学习模型,并最终集成到PyQt5开发的图形化UI界面中,提供了一个从数据处理到应用部署的完整实战指南,帮助开发者快速掌握智能交通系统中的关键技术。

weixin_29230901的博客 338

K-近邻算法: k-nearest neighbor classification (kNN) 详细介绍

@创建于:2020.04.09 @修改于:2020.04.09,2024.06.22 文章目录1、kNN介绍2、k近邻法的三要素详解2.1 距离度量2.2 k值的选择2.3 分类决策规则3、k近邻法的实现:kd树4、Python实现过程5、优缺点6、常见问题 1、kNN介绍 kNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于新样本的类别由与新样本距离最近的k个训练样本点按照分类...

chenhepg的博客 9万+

牛客练习赛22 C.简单瞎搞题(bitset瞎搞)

传送门 感觉是非常扯淡的题目…但确实是自己不会。’ 一眼看上去是个背包 背包的容量是n3n^3n3,nnn个物品,每个物品有nnn种转移 这么转移是O(n5)O(n^5)O(n5) 然后在枚举容量的时候,把O(n3)O(n^3)O(n3)的容量数组换成bitsetbitsetbitset,用位运算转移 跑的飞快… #include <bits/stdc++.h> using namespace std; const int N = 1e6+10; bitset<N>f[101]; i

jziwjxjd的博客 447

使用ggplot2包中的双Y轴功能在R语言中可视化时间序列数据,并在时序数据末尾添加数值标签是一种有效的数据展示方式

使用ggplot2包中的双Y轴功能在R语言中可视化时间序列数据,并在时序数据末尾添加数值标签是一种有效的数据展示方式。通过这种方式,我们可以同时展示两个变量的趋势,并在时序数据末尾添加数值标签,使得数据更加直观和易于理解。假设我们有一个包含两个变量的时间序列数据集,一个是时间变量,另一个是对应的数值变量。现在,我们可以使用ggplot2包来创建一个基本的时间序列图,其中包含两个数值变量。接下来,我们将添加一个双Y轴,并在时序数据末尾添加数值标签。函数在数值1的每个数据点上添加数值标签。

Orion_O的博客 269

牛客练习赛22 - C 简单瞎搞题

题目:点击打开链接 题意: 一共有 n个数,第 i 个数是 xi  xi 可以取 [li , ri] 中任意的一个值。   设 ,求 S 种类数。   分析:首先想到用背包做,但是时间复杂度太高,后面参考了题解发现用bieset+位运算+背包的思想。题目给出的数据范围不大,最多不超过一百万种情况,可以用二进制中的1代表能凑成的数的值,开n个一百万的bitset,内存大概十多兆,不会超内...

常胜将军的博客 624

ArcMap|时空地理加权回归(GTWR)

ArcGIS的GTWR插件下载地址:https://www.researchgate.net/publication/329518786_GTWR_ADDIN_Valid_till_Dec_31_2022 更详细的操作参考: https://www.bilibili.com/video/BV1fR4y1M7xB?spm_id_from=333.999.0.0 https://blog.youkuaiyun.com/weixin_40008135/article/details/112693520 双击“GTWR_Be

个人学习笔记 1万+

GJB软件需求规格说明-编制指南

《软件需求规格说明》是软件开发过程必不可少的文档,并且需要评审,也是后续鉴定试验的依据,因此,非常有必要认真对待此文档。 文档对于很多开发技术人员来说是一件非常头疼的事,虽然标准有要求,但是光看标准还是难以下笔。 本文将详细讲解如何按照GJB 438C的要求编写《软件需求规格说明》。 注:文中有背景颜色内容为标准内容,加粗部分为范例。斜体部分为解释。 全文1.3万字

Abel的博客 6356

牛客练习赛22-C简单瞎搞题(bitset优化dp)

题目链接:https://www.nowcoder.com/acm/contest/132/C题目描述 一共有 n个数,第 i 个数是 xi  xi 可以取 [li , ri] 中任意的一个值。   设 ,求 S 种类数。输入描述:第一行一个数 n。  然后 n 行,每行两个数表示 li,ri。 输出描述:输出一行一个数表示答案。...

Stormjing的博客 709

用 CDS 作为 Referenced Data Source 开发 SAP Gateway OData 服务,一条更轻的 SEGW 路线

本文介绍了SAP Gateway项目中从传统手工建模到基于CDS View的现代化开发方式转变。主要内容包括: 传统方式需要在SEGW中手动创建Entity Type、Entity Set等元素,并在DPC_EXT中编写大量查询逻辑,存在模型层和业务逻辑重复表达的问题。 7.50版本后,SAP Gateway与ABAP CDS深度集成,可通过SEGW直接引用CDS View作为数据源,自动生成数据模型和SADL读取逻辑,支持完整的OData查询功能。 最佳实践建议通过Consumption View而非直接

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 703

必须使用的硬币(从后往前递推、枚举缺少这枚硬币的情况)bitset+二进制优化多重背包

4120:硬币 分别存放 从前往后、从后往前的地推结果,枚举缺少第 i 枚硬币的情况 #include <iostream> #include <vector> #include <algorithm> using namespace std; const int N=205; int w[N]; int dp[N][10005]; int dp2[N][10005]; int main(){ int n,x; cin>>n>>x; fo

qq_51070956的博客 429

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

简单瞎搞题 动态规划的优化

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 一共有 n个数,第 i 个数是 xi xi可以取 [li , ri] 中任意的一个值。 设 S=∑xi2S = \sum{{x_i}^2}S=∑xi​2,求 S 种类数。 输入描述: 第一行一个数 n。 然后 n 行,每行两个数表示 li,ri。 输出描述: 输出一行一个数表示答案。 示例1 输入 5 1 2 2 3 3 4 4 5 5 6 5 1 2 2 3 3 4 4 5 5 6 输出 ...

weixin_60360239的博客 452

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【HDU5890】bitset优化背包

1.题目链接。题目大意,给出n个数据,从中删除1-3个,在剩下的数据中选取10个数问这些数据能不能组成87. 2.emmm。最开始看到这个题瞬间想到的就是母函数,但是分析了一下,如果那样做需要枚举所有的组合,显然是不可能的,立刻否定了这个想法。然后想背包,想到了三维dp[i][j][k]:前i个数据里面选j个和是k。这样似乎有门,最后看了一下询问,发现询问是远比答案的数量大的,所以先预处理好,询...

YG爱木木 460

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

[2020牛客算法竞赛入门课第六节习题] 简单瞎搞题 bitset+简单dp

题目链接:简单瞎搞题 题意 给你n个区间,每次我们从一个区间l[i]~r[i]{l[i]~r[i]}l[i]~r[i]取一个数,然后从n个区间取n个数后,取s=∑i=1nxi2{s=\sum_{i=1}^{n}x_i^2}s=∑i=1n​xi2​,问s的情况有多少种。 题解 一开始当作正常dp求解,设dp[i][j]:已经取了前i个区间后答案为j的个数。 状态转移方程为:dp[i][j]+=dp[i-1][j-k*k] , (k为从第i个区间选的数字) 然后答案无非最大为100∗1002{100*100^2

张小生的先生的博客 585

简单瞎搞题(位运算优化背包问题)

简单瞎搞题(位运算优化背包问题)

qq_45809243的博客 1008

B-Music Problem(牛客算法周周练2)(bitset优化背包)

示例1 输入 3 3 2000 1000 3000 3 2000 3000 1600 2 5400 1800 输出 NO YES YES 题意:给你n个数,问你是否能选出若干个数使得数字的和为3600的倍数(至少选一个)。 思路:这道题的话,可以想到用背包来做,但是时间复杂度不太允许能轻松解决这道题。所以我简单学习了一下bitset优化背包的做法。bitset上面每个数...

菜鸡的博客 336

简单瞎搞题【bitset优化dp背包】

题目链接 一开始,我想法的出发点在于用总的去减去重叠的部分,那么就是求这样的{a, b}和{c, d}不相等的数量,但是这里要不断的冗斥,显然在时间复杂度上没有优势,并且还难写。 于是,再看,实际上答案的上限也就是,为什么呢?首先一个平方上限为“100 * 100”,然后最多有100个,所以就是了。 那么,我们似乎可以维护一下这个数中有哪几个数被选择了,于是我们只用知道被选择...

既然弱小,就只顾变强就是了 752

bitset优化(bitset枚举一个序列所有子集)

这里写目录标题C++标准库bitset对象的初始化及操作bitset上场 C++标准库bitset对象的初始化及操作 // bit当作数组,下标0对应的是最右边的元素 bitset<10> bit; bit[0]=1;//0000000001 cout<<bit<<endl; bit[9]=1;//1000000001,上次的bit[0]=1噢 cout<<bit<<endl; bitset<10> b(string(

qq_51070956的博客 1746
上一篇: HDU 5722 - Jewelry (线段树)
下一篇: AtCoder Regular Contest 100 - D - Equal Cut (二分)
Mr_Treeeee
博客等级 码龄10年 38粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值