Educational Codeforces Round 102 (Rated for Div. 2)

A.
有且仅有两个情况获胜。
全部小于d。
最小的两个数字加起来小于d。

//
// Created by bytedance on 2021/1/23.
//
//
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<stack>
#include<vector>
#include<queue>
#include<set>
#include<bitset>
#include<map>
//#include<regex>
#include<cstdio>
#include <iomanip>
#include<unordered_map>
#pragma GCC diagnostic error "-std=c++11"
#pragma GCC optimize("-fdelete-null-pointer-checks,inline-functions-called-once,-funsafe-loop-optimizations,-fexpensive-optimizations,-foptimize-sibling-calls,-ftree-switch-conversion,-finline-small-functions,inline-small-functions,-frerun-cse-after-loop,-fhoist-adjacent-loads,-findirect-inlining,-freorder-functions,no-stack-protector,-fpartial-inlining,-fsched-interblock,-fcse-follow-jumps,-fcse-skip-blocks,-falign-functions,-fstrict-overflow,-fstrict-aliasing,-fschedule-insns2,-ftree-tail-merge,inline-functions,-fschedule-insns,-freorder-blocks,-fwhole-program,-funroll-loops,-fthread-jumps,-fcrossjumping,-fcaller-saves,-fdevirtualize,-falign-labels,-falign-loops,-falign-jumps,unroll-loops,-fsched-spec,-ffast-math,Ofast,inline,-fgcse,-fgcse-lm,-fipa-sra,-ftree-pre,-ftree-vrp,-fpeephole2",3)
#pragma GCC target("avx","sse2")
#define up(i,a,b)  for(int i=a;i<b;i++)
#define dw(i,a,b)  for(int i=a;i>b;i--)
#define upd(i,a,b) for(int i=a;i<=b;i++)
#define dwd(i,a,b) for(int i=a;i>=b;i--)
//#define local
typedef long long ll;
typedef unsigned long long ull;
const double esp = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int inf = 1e9;
using namespace std;
ll read()
{
    char ch = getchar(); ll x = 0, f = 1;
    while (ch<'0' || ch>'9') { if (ch == '-')f = -1; ch = getchar(); }
    while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
    return x * f;
}
typedef pair<int, int> pir;
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define lrt root<<1
#define rrt root<<1|1
#define ll long long
const int N=110;
int a[N];
int T,n,d;
int main(){
        T=read();
        while(T--){
            n=read(),d=read();
            upd(i,1,n)
                a[i]=read();
            bool flag=0;
            upd(i,1,n){
                if(a[i]>d)flag=1;
            }
            if(!flag){
                puts("YES");
            }
            else {
                sort(a+1,a+n+1);
                int sum=a[1]+a[2];
                if(sum>d){
                    puts("NO");
                }
                else puts("YES");
            }
        }
        return 0;
};

B.
首先可以通过长度算出lcm是多少。因为答案字符串的长度肯定是a,b字符串长度的lcm。
算出来后先合成一个答案字符串,再判断是否能满足另外一个。

//
// Created by bytedance on 2021/1/23.
//
//
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<stack>
#include<vector>
#include<queue>
#include<set>
#include<bitset>
#include<map>
//#include<regex>
#include<cstdio>
#include <iomanip>
#include<unordered_map>
#pragma GCC diagnostic error "-std=c++11"
#pragma GCC optimize("-fdelete-null-pointer-checks,inline-functions-called-once,-funsafe-loop-optimizations,-fexpensive-optimizations,-foptimize-sibling-calls,-ftree-switch-conversion,-finline-small-functions,inline-small-functions,-frerun-cse-after-loop,-fhoist-adjacent-loads,-findirect-inlining,-freorder-functions,no-stack-protector,-fpartial-inlining,-fsched-interblock,-fcse-follow-jumps,-fcse-skip-blocks,-falign-functions,-fstrict-overflow,-fstrict-aliasing,-fschedule-insns2,-ftree-tail-merge,inline-functions,-fschedule-insns,-freorder-blocks,-fwhole-program,-funroll-loops,-fthread-jumps,-fcrossjumping,-fcaller-saves,-fdevirtualize,-falign-labels,-falign-loops,-falign-jumps,unroll-loops,-fsched-spec,-ffast-math,Ofast,inline,-fgcse,-fgcse-lm,-fipa-sra,-ftree-pre,-ftree-vrp,-fpeephole2",3)
#pragma GCC target("avx","sse2")
#define up(i,a,b)  for(int i=a;i<b;i++)
#define dw(i,a,b)  for(int i=a;i>b;i--)
#define upd(i,a,b) for(int i=a;i<=b;i++)
#define dwd(i,a,b) for(int i=a;i>=b;i--)
//#define local
typedef long long ll;
typedef unsigned long long ull;
const double esp = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int inf = 1e9;
using namespace std;
ll read()
{
    char ch = getchar(); ll x = 0, f = 1;
    while (ch<'0' || ch>'9') { if (ch == '-')f = -1; ch = getchar(); }
    while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
    return x * f;
}
typedef pair<int, int> pir;
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define lrt root<<1
#define rrt root<<1|1
#define ll long long
int gcd(int a,int b){
    return b==0?a:gcd(b,a%b);
};
char s1[30],s2[30];
int q;
int main(){
    q=read();
    while(q--){
        cin>>s1+1>>s2+1;
        int len1=strlen(s1+1);
        int len2=strlen(s2+1);
        int lcm=len1*len2/gcd(len1,len2);
        string temp;
        upd(i,1,lcm){
            temp+=s1[i%len1==0?len1:i%len1];
        }
        bool flag=0;
        upd(i,1,lcm){
            if(temp[i-1]!=s2[i%len2==0?len2:i%len2]){
                flag=1;
            }
        }
        if(flag){
            puts("-1");
        }
        else {
            cout<<temp<<endl;
        }
    }
    return 0;
};

C.
观察。其实p数组就是做一个映射而已。
构造以下即可。

//
// Created by bytedance on 2021/1/23.
//
//
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<stack>
#include<vector>
#include<queue>
#include<set>
#include<bitset>
#include<map>
//#include<regex>
#include<cstdio>
#include <iomanip>
#include<unordered_map>
#pragma GCC diagnostic error "-std=c++11"
#pragma GCC optimize("-fdelete-null-pointer-checks,inline-functions-called-once,-funsafe-loop-optimizations,-fexpensive-optimizations,-foptimize-sibling-calls,-ftree-switch-conversion,-finline-small-functions,inline-small-functions,-frerun-cse-after-loop,-fhoist-adjacent-loads,-findirect-inlining,-freorder-functions,no-stack-protector,-fpartial-inlining,-fsched-interblock,-fcse-follow-jumps,-fcse-skip-blocks,-falign-functions,-fstrict-overflow,-fstrict-aliasing,-fschedule-insns2,-ftree-tail-merge,inline-functions,-fschedule-insns,-freorder-blocks,-fwhole-program,-funroll-loops,-fthread-jumps,-fcrossjumping,-fcaller-saves,-fdevirtualize,-falign-labels,-falign-loops,-falign-jumps,unroll-loops,-fsched-spec,-ffast-math,Ofast,inline,-fgcse,-fgcse-lm,-fipa-sra,-ftree-pre,-ftree-vrp,-fpeephole2",3)
#pragma GCC target("avx","sse2")
#define up(i,a,b)  for(int i=a;i<b;i++)
#define dw(i,a,b)  for(int i=a;i>b;i--)
#define upd(i,a,b) for(int i=a;i<=b;i++)
#define dwd(i,a,b) for(int i=a;i>=b;i--)
//#define local
typedef long long ll;
typedef unsigned long long ull;
const double esp = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int inf = 1e9;
using namespace std;
ll read()
{
    char ch = getchar(); ll x = 0, f = 1;
    while (ch<'0' || ch>'9') { if (ch == '-')f = -1; ch = getchar(); }
    while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
    return x * f;
}
typedef pair<int, int> pir;
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define lrt root<<1
#define rrt root<<1|1
#define ll long long
int T;
int n,k;
int main(){
   T=read();
   while(T--){
       n=read(),k=read();
       vector<int>vec;
       int d=n-k;
       upd(i,0,d)
        vec.push_back(k-i);
       vector<int>ans;
       upd(i,1,k-(d+1))
        ans.push_back(i);
       ans.insert(ans.end(),vec.begin(),vec.end());
       for(auto k:ans)
           cout<<k<<" ";
       cout<<endl;
   }
   return 0;
};

D
去掉某一段后,把剩下的拼接起来,等价于后面一段减去去掉这一段的所有数字的和。并且减掉过后,后面一段能和前面一段拼接起来。
并且有,一段区间内有多少个不同的数字,只能是最大值-最小值。
所以给一个线段树,查询后面一段的最大最小值,在和前面第一段对比以下就行。
注意是包不包括零的问题。

//
// Created by bytedance on 2021/1/23.
//
//
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<stack>
#include<vector>
#include<queue>
#include<set>
#include<bitset>
#include<map>
//#include<regex>
#include<cstdio>
#include <iomanip>
#include<unordered_map>
#pragma GCC diagnostic error "-std=c++11"
#pragma GCC optimize("-fdelete-null-pointer-checks,inline-functions-called-once,-funsafe-loop-optimizations,-fexpensive-optimizations,-foptimize-sibling-calls,-ftree-switch-conversion,-finline-small-functions,inline-small-functions,-frerun-cse-after-loop,-fhoist-adjacent-loads,-findirect-inlining,-freorder-functions,no-stack-protector,-fpartial-inlining,-fsched-interblock,-fcse-follow-jumps,-fcse-skip-blocks,-falign-functions,-fstrict-overflow,-fstrict-aliasing,-fschedule-insns2,-ftree-tail-merge,inline-functions,-fschedule-insns,-freorder-blocks,-fwhole-program,-funroll-loops,-fthread-jumps,-fcrossjumping,-fcaller-saves,-fdevirtualize,-falign-labels,-falign-loops,-falign-jumps,unroll-loops,-fsched-spec,-ffast-math,Ofast,inline,-fgcse,-fgcse-lm,-fipa-sra,-ftree-pre,-ftree-vrp,-fpeephole2",3)
#pragma GCC target("avx","sse2")
#define up(i,a,b)  for(int i=a;i<b;i++)
#define dw(i,a,b)  for(int i=a;i>b;i--)
#define upd(i,a,b) for(int i=a;i<=b;i++)
#define dwd(i,a,b) for(int i=a;i>=b;i--)
//#define local
typedef long long ll;
typedef unsigned long long ull;
const double esp = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int inf = 1e9;
using namespace std;
ll read()
{
    char ch = getchar(); ll x = 0, f = 1;
    while (ch<'0' || ch>'9') { if (ch == '-')f = -1; ch = getchar(); }
    while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
    return x * f;
}
typedef pair<int, int> pir;
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define lrt root<<1
#define rrt root<<1|1
#define ll long long
int T;
int n,m;
const int N=2e5+10;
int sum[N];
string temp;
struct sgt{
    int minn[N<<2],maxx[N<<2];
    void pushup(int root){
        minn[root]=min(minn[rrt],minn[lrt]);
        maxx[root]=max(maxx[rrt],maxx[lrt]);
    }
    void build(int l,int r,int root){
        if(l==r){
            minn[root]=maxx[root]=sum[l];
            return ;
        }
        int mid=(l+r)>>1;
        build(lson);
        build(rson);
        pushup(root);
    }
    int querymin(int l,int r,int root,int lf,int rt){
        if(lf>rt)return 1e9;
        if(lf<=l&&r<=rt){
            return minn[root];
        }
        int mid=(l+r)>>1;
        int ans=1e9;
        if(lf<=mid)ans=min(ans,querymin(lson,lf,rt));
        if(rt>mid)ans=min(ans,querymin(rson,lf,rt));
        return ans;
    }
    int querymax(int l,int r,int root,int lf,int rt){
        if(lf>rt)return 0;
        if(lf<=l&&r<=rt){
            return maxx[root];
        }
        int mid=(l+r)>>1;
        int ans=-1e9;
        if(lf<=mid)ans=max(ans,querymax(lson,lf,rt));
        if(rt>mid)ans=max(ans,querymax(rson,lf,rt));
        return ans;
    }
}seg;
int main(){
  T=read();
  while(T--){
      n=read(),m=read();
      cin>>temp;
      up(i,0,temp.size()){
          if(temp[i]=='-'){
              sum[i+1]=sum[i]-1;
          }
          else sum[i+1]=sum[i]+1;
      }
      seg.build(1,n,1);
      int a,b;
      upd(i,1,m){
          a=read(),b=read();
          int summ=sum[b]-sum[a-1];
          int ans=0;
          if(a==1&&b==n){
              printf("%d\n",1);
              continue;
          }
          else if(a!=1&&b==n){
              int Lmin=seg.querymin(1,n,1,1,a-1);
              int Lmax=seg.querymax(1,n,1,1,a-1);
              if(Lmin>0||Lmax<0)ans++;
              ans+=Lmax-Lmin+1;
          }
          else if(a==1&&b!=n){
              int Rmin=seg.querymin(1,n,1,b+1,n);
              int Rmax=seg.querymax(1,n,1,b+1,n);
              Rmin-=summ;
              Rmax-=summ;
              if(Rmin>0||Rmax<0)ans++;
              ans+=Rmax-Rmin+1;
          }else {
          int Lmin=seg.querymin(1,n,1,1,a-1);
          int Lmax=seg.querymax(1,n,1,1,a-1);
          int Rmin=seg.querymin(1,n,1,b+1,n);
          int Rmax=seg.querymax(1,n,1,b+1,n);
          int ansmin=min(Lmin,Rmin-summ);
          int ansmax=max(Lmax,Rmax-summ);
          if(ansmin>0||ansmax<0)ans++;
          ans+=ansmax-ansmin+1;
          }
          printf("%d\n",ans);
      }
  }
  return 0;
};

E
就是最短路变形,随便开两维数组或者状压即可。

//
// Created by bytedance on 2021/1/23.
//
//
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<stack>
#include<vector>
#include<queue>
#include<set>
#include<bitset>
#include<map>
//#include<regex>
#include<cstdio>
#include <iomanip>
#include<unordered_map>
#pragma GCC diagnostic error "-std=c++11"
#pragma GCC optimize("-fdelete-null-pointer-checks,inline-functions-called-once,-funsafe-loop-optimizations,-fexpensive-optimizations,-foptimize-sibling-calls,-ftree-switch-conversion,-finline-small-functions,inline-small-functions,-frerun-cse-after-loop,-fhoist-adjacent-loads,-findirect-inlining,-freorder-functions,no-stack-protector,-fpartial-inlining,-fsched-interblock,-fcse-follow-jumps,-fcse-skip-blocks,-falign-functions,-fstrict-overflow,-fstrict-aliasing,-fschedule-insns2,-ftree-tail-merge,inline-functions,-fschedule-insns,-freorder-blocks,-fwhole-program,-funroll-loops,-fthread-jumps,-fcrossjumping,-fcaller-saves,-fdevirtualize,-falign-labels,-falign-loops,-falign-jumps,unroll-loops,-fsched-spec,-ffast-math,Ofast,inline,-fgcse,-fgcse-lm,-fipa-sra,-ftree-pre,-ftree-vrp,-fpeephole2",3)
#pragma GCC target("avx","sse2")
#define up(i,a,b)  for(int i=a;i<b;i++)
#define dw(i,a,b)  for(int i=a;i>b;i--)
#define upd(i,a,b) for(int i=a;i<=b;i++)
#define dwd(i,a,b) for(int i=a;i>=b;i--)
//#define local
typedef long long ll;
typedef unsigned long long ull;
const double esp = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int inf = 1e9;
using namespace std;
ll read()
{
    char ch = getchar(); ll x = 0, f = 1;
    while (ch<'0' || ch>'9') { if (ch == '-')f = -1; ch = getchar(); }
    while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
    return x * f;
}
typedef pair<int, int> pir;
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define lrt root<<1
#define rrt root<<1|1
#define ll long long
const int N=2e5+10;
struct eg{
    ll next,to,w;
}edge[N<<1];
int cnt=0;
int head[N];
void addedge(ll u,ll v,ll w){
    edge[cnt].next=head[u];
    edge[cnt].to=v;
    edge[cnt].w=w;
    head[u]=cnt++;
}
struct node{
    ll s,u,val;
    bool operator<(const node &a)const {
        return val>a.val;
    }
};
int n,m;
priority_queue<node>q;
ll dp[N][5];
void dij(){
    upd(i,0,n)dp[i][0]=dp[i][1]=dp[i][2]=dp[i][3]=1e18;
    dp[1][0]=0;
    q.push(node{0,1,0});
    while(q.size())
    {
        node top=q.top(); q.pop();
        int u=top.u;
        int s=top.s;
        ll val=top.val;
        if(dp[u][s]!=val)continue;
        for(int i=head[u];~i;i=edge[i].next){
            int v=edge[i].to;
            if(dp[v][s]>dp[u][s]+edge[i].w)
            {
                dp[v][s]=dp[u][s]+edge[i].w;
                q.push(node{s,v,dp[v][s]});
            }
            if(!(s&1)){
                if(dp[v][s|1]>dp[u][s]+0)
                {
                    dp[v][s|1]=dp[u][s]+0;
                    q.push(node{s|1,v,dp[v][s|1]});
                }
            }
            if(!(s&2)){
                if(dp[v][s|2]>dp[u][s]+2*edge[i].w)
                {
                    dp[v][s|2]=dp[u][s]+2*edge[i].w;
                    q.push(node{s|2,v,dp[v][s|2]});
                }
            }
        }
    }
}
int main(){
    n=read(),m=read();
    memset(head,-1,sizeof(head));
    int u,v,w;
    upd(i,1,m){
        u=read(),v=read(),w=read();
        addedge(u,v,w);
        addedge(v,u,w);
    }
    dij();
    upd(i,2,n){
        cout<<min(dp[i][0],dp[i][3])<<endl;
    }
    return 0;
};

F
模版,网络流最小割的一类问题。
注意的是,我们需要节约空间。
所以相同的能被除的j,只用算一次。

//
// Created by bytedance on 2021/1/23.
//
//
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<stack>
#include<vector>
#include<queue>
#include<set>
#include<bitset>
#include<map>
//#include<regex>
#include<cstdio>
#include <iomanip>
#include<unordered_map>
#pragma GCC diagnostic error "-std=c++11"
#pragma GCC optimize("-fdelete-null-pointer-checks,inline-functions-called-once,-funsafe-loop-optimizations,-fexpensive-optimizations,-foptimize-sibling-calls,-ftree-switch-conversion,-finline-small-functions,inline-small-functions,-frerun-cse-after-loop,-fhoist-adjacent-loads,-findirect-inlining,-freorder-functions,no-stack-protector,-fpartial-inlining,-fsched-interblock,-fcse-follow-jumps,-fcse-skip-blocks,-falign-functions,-fstrict-overflow,-fstrict-aliasing,-fschedule-insns2,-ftree-tail-merge,inline-functions,-fschedule-insns,-freorder-blocks,-fwhole-program,-funroll-loops,-fthread-jumps,-fcrossjumping,-fcaller-saves,-fdevirtualize,-falign-labels,-falign-loops,-falign-jumps,unroll-loops,-fsched-spec,-ffast-math,Ofast,inline,-fgcse,-fgcse-lm,-fipa-sra,-ftree-pre,-ftree-vrp,-fpeephole2",3)
#pragma GCC target("avx","sse2")
#define up(i,a,b)  for(int i=a;i<b;i++)
#define dw(i,a,b)  for(int i=a;i>b;i--)
#define upd(i,a,b) for(int i=a;i<=b;i++)
#define dwd(i,a,b) for(int i=a;i>=b;i--)
//#define local
typedef long long ll;
typedef unsigned long long ull;
const double esp = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int inf = 1e9;
using namespace std;
ll read()
{
    char ch = getchar(); ll x = 0, f = 1;
    while (ch<'0' || ch>'9') { if (ch == '-')f = -1; ch = getchar(); }
    while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
    return x * f;
}
typedef pair<int, int> pir;
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define lrt root<<1
#define rrt root<<1|1
#define ll long long
const int N=6e5+10;
struct edge{
    int to,cap,rev;
};
vector<edge>g[N];
int level[N],iter[N];
void addedge(int s,int t,int cap){
    g[s].push_back(edge{t,cap,(int)g[t].size() });
    g[t].push_back(edge{s,0,int(g[s].size()-1)});
}
void bfs(int s){
    memset(level,-1,sizeof(level));
    queue<int>que;
    que.push(s);
    level[s]=0;
    while(!que.empty()){
        int temp=que.front();
        que.pop();
        up(i,0,g[temp].size()){
            edge e=g[temp][i];
            if(level[e.to]<0&&g[temp][i].cap>0){
                level[e.to]=level[temp]+1;
                que.push(e.to);
            }
        }
    }
}
int dfs(int s,int t,int f){
    int res=0;
    if(s==t)return f;
    for(int &i=iter[s];i<g[s].size();i++){
        edge &e=g[s][i];
        if(e.cap>0&&level[s]<level[e.to]){
            int d=dfs(e.to,t,min(f,e.cap));
            if(d>0){
                e.cap-=d;
                g[e.to][e.rev].cap+=d;
                return d;
            }
        }
    }
    return 0;
}
int min_flow(int s,int t){
    int res=0;
    int d=0;
    while(1){
        bfs(s);
        if(level[t]<0){
            return res;
        }
        memset(iter,0,sizeof(iter));
        while((d=dfs(s,t,inf))>0)res+=d;
    }
}
int n;
int a[3010],b[3010];
int nxt[N];
int main(){
    n=read();
    upd(i,1,n)
    a[i]=read();
    int ans=0;
    upd(i,1,n){
        b[i]=read();
        if(b[i]>=0){
            addedge(0,i,b[i]);
            ans+=b[i];
        }
        else {
            addedge(i,n+1,-b[i]);
        }
    }
    upd(i,1,n){
        dwd(j,100,1){
            if(a[i]%j==0&&nxt[j]){
                addedge(i,nxt[j],1e9);
            }
        }
        nxt[a[i]]=i;
    }
    cout<<ans-min_flow(0,n+1)<<endl;
    return 0;
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值