[kuangbin专题十四] 数论基础 —— [ 部分题解 1 ]

问题虫洞——C: C - Aladdin and the Flying Carpet

 

黑洞内窥:

给你两个数n、k, 求大于k的n的约数的个数

 

思维光年:

一个基础知识:合数的正因素个数公式

(1)一个大于1的正整数N,如果它的标准分解式为:,那么它的正因数个数为

然后减去小于k的约数,,搞定。

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 1000005
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;

bool is[MAXN];
int prime[MAXN];
ll tot;
void getprime()         //欧拉筛
{
    memset(is, false, sizeof(is));
    tot = 0;
    for(int i=2; i<=MAXN; ++i)
    {
        if(is[i] == false)
            prime[tot++] = i;
        for(int j=0; j<tot && i*prime[j] <= MAXN; ++j)
        {
            is[i*prime[j]] = true;
            if(i%prime[j] == 0)
                break;
        }
    }
}

ll solution(ll n)
{
    ll ans = 1;
    for(int i=0; i<tot && prime[i] < n; ++i)
    {
        int k = 0;
        while(n%prime[i] == 0)
        {
            n/=prime[i];
            ++k;
        }
        ans*=(1+k);
    }
    if(n > 1)
        ans*=2;
    return ans;
}

int main()
{
    getprime();
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, m, sum=0, ans;
        scanf("%lld %lld", &n, &m);
        if(m*m > n)
           ans = 0;
        else
        {
            for(int i=1; i<m; ++i)
                if(n%i == 0)
                    sum++;
            ans = solution(n)/2 - sum;
        }
        printf("Case %d: %lld\n", ccc++, ans);
    }
    return 0;
}

 

 

问题黑洞——D: D - Sigma Function

 

黑洞内窥:

设一个函数f(n) = n 的所有约数的和,如 f(6) = 1+2+3+6 = 12

给出一个数n,求1~n中f(x) 为偶数的个数。

 

思维光年:

一个基础知识:约数和公式:

对于已经分解的整数A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn)

有A的所有因子之和为

S = (1+p1+p1^2+p1^3+...p1^k1) * (1+p2+p2^2+p2^3+….p2^k2) * (1+p3+ p3^3+…+ p3^k3) * .... * (1+pn+pn^2+pn^3+...pn^kn)

(2) 它的全体正因数之和为

我能想到的就只有暴力和唯一分解式的约数和公式了。。。

理性的思考:

 

 ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 5000
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;
const double eps = 0.0000001;

int main()
{
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n;
        scanf("%lld", &n);
        ll a = sqrt(n);
        ll b = sqrt(n/2);
        printf("Case %d: %lld\n", ccc++, n-a-b);
    }
    return 0;
}

 

 

问题虫洞——E: E - Leading and Trailing

 

黑洞内窥:

求n^k 的前三位数,和后三位数。

(注意,如果答案不够三位数,则在前面补0)

 

思维光年:

后三位:快速幂取模1000

前三位:log(10为底)取模,,,,设f(n) = n^k,

则x = log f(n) = k * log( n ) , 设x = a(整数部分) + b(小数部分)

则10^(a+b) = n ^ k, 我们知道10^a 为10 的整数幂次,是无法提取出有效数字的,

所以我们要的是10^b,,,,,然后再扩大到所需的三位数即可;

 

(好像在哪里做过。。。。有点熟悉)

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 5000
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000;
const double eps = 0.0000001;

int ksm(ll a, ll b)
{
    a%=mod;
    ll ans = 1;
    while(b)
    {
        if(b&1)
            ans = ans*a%mod;
        a = a*a%mod;
        b >>= 1;
    }
    return (int)ans;
}

int fir(ll n, ll k)
{
    double ans = k*log10(1.0*n);
    ans -= floor(ans);    //去小数部分b
    ans = pow(10, ans);
    while(ans < 100)
        ans*=10;
    return (int)ans;
}

int main()
{
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, k;
        scanf("%lld %lld", &n, &k);
        printf("Case %d: %.3d %.3d\n",ccc++, fir(n, k), ksm(n, k));
    }
    return 0;
}

 

 

问题虫洞——F: F - Goldbach`s Conjecture

 

黑洞内窥:

给出数n, 求有多少对质数和等于n。

 

思维光年:

打表+暴力

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 10000010
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const int mod = 1000;
const double eps = 1e-6;

bool is[MAXN];
int prime[1000000];
ll tot, n;
void getprime()         //欧拉筛
{
    memset(is, false, sizeof(is));
    tot = 0;
    for(int i=2; i<=MAXN; ++i)
    {
        if(is[i] == false)
            prime[tot++] = i;
        for(int j=0; j<tot && i*prime[j] <= MAXN; ++j)
        {
            is[i*prime[j]] = true;
            if(i%prime[j] == 0)
                break;
        }
    }
}


int main()
{
    getprime();
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, sum=0;
        scanf("%lld", &n);
        for(int i=0; i<tot && prime[i] <= n/2; ++i)
        {
            if(is[n - prime[i]] == false)
                sum++;
        }
        printf("Case %d: %d\n",ccc++, sum);
    }
    return 0;
}

 

 

问题虫洞——G: G - Harmonic Number (II)

 

黑洞内窥:

定义一个函数:f(n)  = n/1 + n/2 + n/3 +.........+ n/n-1 + n/n;

给出n, 求f(n),

 

思维光年:

直接做会t:

参考一下这篇博客:居然。。。。B - Number of Containers

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 10000010
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const int mod = 1000;
const double eps = 1e-6;


int main()
{
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, sum=0;
        scanf("%lld", &n);
        int c = sqrt(n);
        for(int i=1; i<=c; ++i)//梯形面积
            sum+=n/i;
        sum*=2;
        sum = sum-c*c;
        printf("Case %d: %lld\n",ccc++, sum);
    }
    return 0;
}

 

 

问题虫洞——H: H - Pairs Forming LCM

 

黑洞内窥:

给你一个数n, 求有多少对(i, j) 的最小公倍数(lcm(i, j) == n) 为n

 

思维光年:

一个基础知识:

对a,b求唯一分解式:

a=p1 ^ a1 * p2 ^ a2 *..........*pn ^ an

b=p1 ^ b1 * p2 ^ b2 *..........*pn ^ bn

gcd(a,b)=p1 ^ min(a1,b1) * p2 ^ min(a2,b2) *..........*pn ^ min(an,bn)

lcm(a,b)=p1 ^ max(a1,b1) * p2 ^ max(a2,b2) *..........*pn ^ max(an,bn)

get到一项求gcd、lcm的技能没u有?!

 

理性的求解:

 

 ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 10000010
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const int mod = 1000;
const double eps = 1e-6;

bool is[MAXN];
int prime[1000000];
ll tot, n;
void getprime()         //欧拉筛
{
    memset(is, false, sizeof(is));
    tot = 0;
    for(int i=2; i<=MAXN; ++i)
    {
        if(is[i] == false)
            prime[tot++] = i;
        for(int j=0; j<tot && i*prime[j] <= MAXN; ++j)
        {
            is[i*prime[j]] = true;
            if(i%prime[j] == 0)
                break;
        }
    }
}

ll fenjie(ll s)
{
    ll n = s;
    ll sum = 1;
    for (int i = 0; i < tot && prime[i]*prime[i] <= n; ++i)
    {
        if(n%prime[i] == 0)
        {
            int k=0;
            while (n % prime[i] == 0)
            {
                n /= prime[i];
                k++;
            }
           sum*=(2*k+1);
        }
    }
    if (n > 1)
        sum*=3;
    return sum;
}


int main()
{
    getprime();
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, sum=0;
        scanf("%lld", &n);
        sum = fenjie(n);
        printf("Case %d: %lld\n",ccc++, (sum+1)/2);
    }
    return 0;
}

 

 

 问题虫洞——I: I - Harmonic Number

参考博客:Harmonic Number(调和级数)

 

 

问题虫洞——J: J - Mysterious Bacteria

 

黑洞内窥:

给出一个数x, 设x可以表示为 x = b^p, 求p的最大值。(x <= 2^32, x可正可负)

 

思维光年:

我的思路:

既然x是小于2的32次方的,直接暴力开方跑呗,反正最差也就32次。。。。

但可能因为是pow的精度还是double的精度问题,导致我一直wa。。。。

后来就去搜题解了。。。

 

理性的求解:

求x,和b的唯一分解式,则有:

x=p1^x1 p2 ^x2 …. pk^xk
b=p1^b1 p2^b2…..pk^bk

题意给出关系,x = b^p,所以:

b1*p=x1
 b2*p=x2
 . ..  .  . .
 bk*p=xk

想要让式子同时成立,则有 p | gcd(x1,x2,x3...xk)   。
 所以 ,现在让求最大,如果x为正数,p=gcd(x1,x2,x3...xk)
否则 p 就是gcd(x1,x2,x3,,,xk) 的最大奇数因子。
 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 100010
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const int mod = 1000;
const double eps = 1e-6;

ll prime[MAXN], tot, ans;
bool is[MAXN];

void getprime()
{
    memset(is, false, sizeof(is));
    tot = 0;
    for(int i=2; i<=MAXN; ++i)
    {
        if(is[i] == false)
            prime[tot++] = i;
        for(int j=0; j<tot && i*prime[j] <= MAXN; ++j)
        {
            is[i*prime[j]] = true;
            if(i%prime[j] == 0)
                break;
        }
    }
}

ll gcd(ll a, ll b)
{
    return b == 0? a: gcd(b, a%b);
}

int main()
{
    getprime();
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, sum=0, flag = 0;
        scanf("%lld", &n);
        if(n < 0)
        {
            n = -n;
            flag = 1;
        }
        for(int i=0; i<tot && prime[i] <= n; ++i)
        {
            if(n%prime[i] == 0)
            {
                int ans = 0;
                while(n%prime[i] == 0)
                {
                    n/=prime[i];
                    ans++;
                }
                if(sum) sum = gcd(sum, ans);//求最大公约数
                else sum = ans;
                if(sum == 1) break;
            }
        }
        if(n>1) sum = 1;
        if(flag && sum%2 == 0)
        {
            while(sum%2 == 0)
                sum/=2;
        }
        printf("Case %d: %lld\n",ccc++, sum);
    }
    return 0;
}

 

一开始wa的代码:(给大家批斗批斗。。。[如果有人指教一下就更好啦,,啦啦啦啦啦,,,,])

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 10000010
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const int mod = 1000;
const double eps = 1e-6;

int main()
{
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, sum=1, flag = 0;
        scanf("%lld", &n);
        if(n < 0)
        {
            flag = 1;
            n = -n;
        }

        for(ll i=2; i<=32; ++i)
        {
            if(flag && i%2 == 0) continue;

            double s = pow(n, double(1.0/i));
            int ans = ceil(pow(floor(s), i));
            if(s <= 1)
                break;
            if(ans == n)
               sum = max(sum, i);
        }

        printf("Case %d: %lld\n",ccc++, sum);
    }
    return 0;
}

 

 

问题虫洞——K: K - Large Division

 

黑洞内窥:

给你两个大数a, b, 问 a|b?,,

 

思维光年:

问题可转换成  a%b == 0?

然后就是一个大数取模。。

两分钟代码,十分钟bug,,,,

我现在是知道了string中的earse不能直接用成s.earse(0) ,   括号里面的东西是string的迭代器

所以你要改成,,,s.earse(s.begin() + i) ,删除第i个元素。。。

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 5000
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;
const double eps = 0.0000001;

string s;
int main()
{
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll b;
        cin >> s >> b;
        if(s[0] == '-') s.erase(s.begin());//这里是坑。。。
        if(b<0) b = -b;
        int len = s.size();
        ll sum = 0;
        for(int i=0; i<len; ++i)
        {
            sum*=10;
            sum+=(s[i] - '0');
            if(sum >= b) sum%=b;
        }
        printf("Case %d: ", ccc++);
        if(sum) puts("not divisible");
        else puts("divisible");
    }
    return 0;
}

 

 

问题虫洞——L: L - Fantasy of a Summation

 

黑洞内窥:

输入n,k,mod,再输入n个数ai,

求在k重循环下的(0~n-1的ai)求和取模

 

思维光年:

多列几项就可以发现规律了;

答案 = n^(k-1)*k*sum%mod;

(其中sum为ai的求和)

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
#define MAXN 5000
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;
const double eps = 0.0000001;

ll ksm(ll a, ll b, ll md)
{
    ll ans = 1;
    while(b)
    {
        if(b&1)
            ans = ans*a%md;
        a = a*a%md;
        b >>= 1;
    }
    return ans;
}

int main()
{
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll n, k, m, x, sum=0;
        cin >> n >> k >> m;
        for(int i=0; i<n; ++i)
        {
            scanf("%lld", &x);
            sum+=x;
        }
        sum = ksm(n, k-1, m)*k%m*sum%m;
        printf("Case %d: %lld\n", ccc++, sum);
    }
    return 0;
}

 

问题虫洞——M: M - Help Hanzo

 

黑洞内窥:

求区间[a, b]中的素数个数,,,,(b-a <= 100000)

 

思维光年:

区间素数筛。。。。。

wa到我想si~~~~~~

由于区间比较小,所以我们可以直接求一个区间的素数

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
const ll MAXN = 100005;
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;
const double eps = 0.0000001;

int prime[MAXN], tot, ans;
bool is[MAXN], vis[MAXN];

void getprime()
{
    memset(is, false, sizeof(is));
    tot = 0;
    is[0] = is[1] = true;
    for(int i=2; i<=MAXN; ++i)
    {
        if(is[i] == false)
            prime[tot++] = i;
        for(int j=0; j<tot && i*prime[j] <= MAXN; ++j)
        {
            is[i*prime[j]] = true;
            if(i%prime[j] == 0)
                break;
        }
    }
}

int main()
{
    getprime();
    int t, ccc=1;
    cin >> t;
    while(t--)
    {
        ll a, b, sum=0;
        cin >> a >> b;
        if(b <= MAXN)
        {
            for(ll i=a; i<=b; ++i)
                if(!is[i])
                    sum++;
        }
        else
        {
            memset(vis, 0, sizeof(vis));                //维护区间
            for(int i=0; i<tot && prime[i]*prime[i] <= b; ++i)
            {
               ll k = ceil(a*1.0/prime[i]);
                for(ll j = k*prime[i]; j<=b; j+=prime[i])
                    vis[j-a] = true;
            }
            for(ll i=a; i<=b; ++i)
                if(!vis[i-a])
                    sum++;
        }
        printf("Case %d: %lld\n", ccc++, sum);
    }
    return 0;
}

 

问题虫洞——N: N - Trailing Zeroes (III)

 

黑洞内窥:

给出数字q,求一个数n,

该数满足条件:n!尾数有q个0;

 

思维光年:

思维+二分。。

尾数如果要出现0, 就必须是2*5, 而在n!中2的因子个数必然多于5

所以,题目等同于,求有q个因子是5的数n!。

我一开始是做对了的啊,,,wawawawawawa,,,

明明就是PE,你一wa我还以为思路有问题。。。

枯了~~~~~~~~;

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
const ll MAXN = 500000000;
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;
const double eps = 0.0000001;

ll SUM(ll n)
{
    return n == 0? 0: n/5+SUM(n/5);
}
int main()
{
    int t, ccc=1;
    //cout << SUM(500000000) << '\n';
    cin >> t;
    while(t--)
    {
        ll n, sum = -1;
        scanf("%lld", &n);
        ll l=0,r = MAXN;
        while(l <= r)    //这里不能特判相等,虽然结果是对的,但不能AC
        {
            ll m = (l+r)/2;
           if(SUM(m) >= n)
                r = m-1;
            else
                l = m+1;
        }
        if(SUM(l) == n)
            printf("Case %d: %lld\n", ccc++, l);
        else
            printf("Case %d: impossible\n", ccc++);
    }
    return 0;
}

 

 

 问题虫洞——O: O - GCD - Extreme (II)

 

黑洞内窥:

给出数n,求

 

思维光年:

理所当然的想到了欧拉函数,,,,

 

理性的求解:

 欧拉函数:满足 0<x<n 且 gcd(x,n) = 1 的x有phi[n]个。

可以推论出:满足 0<2*x<2*n 且 gcd(2*x,2*n) = 2 的2*x同样有phi[n]个,

推向一般:满足 0<k*x<k*n 且 gcd(k*x,k*n) = k 的k*x有euler[n]个

其实就是对于n来说,在1~n-1内与它互质的数都乘上相应的倍数,同时n也乘上相应的倍数,因而他们的最大公约数也为乘上的倍数,但不管如何,个数没有改变,仍为euler[n]个,只不过是他们的值“放大”了而已。

最后,就可以枚举每个欧拉函数phi[n]和系数k,然后进行统计。

 

ACcode:

//#include<bits/stdc++.h>
#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
#include  <sstream>
using namespace std;
typedef long long ll;
const ll MAXN = 4000009;
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;
const double eps = 0.0000001;

int phi[MAXN];                        //欧拉函数
void getphi()
{
    phi[1] = 1;
    for(int i=2; i<MAXN; ++i)
    {
        if(!phi[i])
        {
            for(int j=i; j<MAXN; j+=i)
            {
                if(!phi[j]) phi[j] = j;
                phi[j] = phi[j]/i*(i-1);
            }
        }
    }
}

ll a[MAXN];
void init()
{
    for(int i=2; i<MAXN; ++i)           //枚举单位欧拉数
        for(int k=1; k*i < MAXN; ++k)   //枚举倍数
            a[i*k]+=k*phi[i];           //累加倍数gcd
    for(int i=2; i<MAXN; ++i)    
        a[i]+=a[i-1];
}
int main()
{
   getphi();
   init();
   int n;
   while(cin >> n && n)
    cout << a[n] << '\n';
    return 0;
}

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值