币久push 怎么用,PUSH币值得投资吗

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

币久push 怎么用,PUSH币值得投资吗

一、PUSH币值得投资吗

目前看来需要谨慎。

PUSH是EPNS协议的治理代币,PUSH为持有人提供两个主要利益:管理权和收取奖励。

在网络令牌生成事件之后,PUSH持有者将能够参与EPNS协议的发展,并从支付给网络的费用中获得奖励(费用池奖励,PUSH持有者占70%,生态系统发展基金占30%,费用池将不会在主网启动时启用,只会在协议启动后一年左右的时间内激活)。

EPNS(Ethereum Push Notification Service)是一个去中心化通知协议,它允许用户(钱包地址)接收通知。使用该协议,任何dApp、服务或智能合约都可以用与平台无关的方式(移动设备、平板电脑、网络、用户钱包等)向用户发送通知。 DeFi协议确保用户接收通知并从中获利。

平台币是数字交易平台自己发行的数字货币。因为依托于交易平台,有其自身的价值和流通价值。最近各大平台币表现非常不错。如果您想专注于投资潜力,那么我认为ZB很不错。

ZB的背后是拥有八年安全运营经验的中币,中币是全球领先的数字资产交易平台,它于2013年成立,至今已有八年历史,中币为全球提供超过 1000万用户提供数字资产交易服务,安全性很高,成立到现在从未出过安全事故。

目前,交易量极大,日均交易超 30亿美金,上线币种很多,目前共上线了 98个币种,197个交易对,BTC、ZB、EOS、XRP等主流币种交易量长期位居全球榜首。

开通有 QC、USDT、BTC和 ZB四大交易区,业务很多,它提供现货交易、法币交易、杠杆交易、借贷理财等数字资产一站式服务。

中币(ZB)一直秉承“以用户服务为中心”的理念,长久以来不断进取,致力于为用户持续打造更优质的服务和体验。为了满足用户需求,与时俱进,中币不断开拓进取,不断创新,在客户端增加了多达十种的外国语言,为全球的用户提供了极大方便,满足了全球用户多元化的投资需求。

随着平台用户交易热度连续上涨,货币流动量越来越大,以及战略合作的全面提升,还推出了更为完善的ZB生态交易功能。ZB生态交易功能的出现,得到了广大社区用户的一致好评。

中币平台币ZB落地应用应用多,可以 5折优惠抵扣交易手续费,交易平台也专门设置了 ZB交易区(目前支持 ZB/VSYS交易对)。高资金净流入量表明 ZB平台积分的使用量正在增加,可以直接推高交易平台的日均成交额。

2月 19日,ZB 24小时内最高涨幅达到了55.37%.币价突破4元关口,创下近两个月以来新高,达到了一个很高的点。都说平台积分是与用户共享发展红利,ZB上涨也从侧面表明,中币(ZB.com)各项运营指标显著提升。

在行业深耕 8年,中币(ZB)早已不仅仅是"单纯"的交易平台。而是已经成长为一颗参天大树,业务布局涵盖区块链上中下游,通过全面渗透持续为更多创新想法赋能。

ZB积分已应用于包括抵扣交易手续费(5折)、购买中币(ZB)VIP会员、参与认购优质项目UP额度、支付做市商服务费、作为OTC认证商家保证金,以及用于社区投票上币、ZAPP等多个场景,这将有效使得ZB币价格上涨。

综合以上分析,不难看出ZB网平台币是实实在在的应用型,可全面渗透至平台业务体系所有节点,有稳定的落地盈利业务,以及可控的通缩模型为依托,与持有ZB币的用户共享平台发展红利,切实为客户综合考虑,保障价值投资者收益的稳健增长和平台的持续运作。

另外,中币(www.zb.center)的平台币zb非常有潜力,最近也被评为全球年度涨幅最大的平台币,位列第八,可以说是非常有投资价值的。

二、算法怎么学

贪心算法的定义:

贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

解题的一般步骤是:

1.建立数学模型来描述问题;

2.把求解的问题分成若干个子问题;

3.对每一子问题求解,得到子问题的局部最优解;

4.把子问题的局部最优解合成原来问题的一个解。

如果大家比较了解动态规划,就会发现它们之间的相似之处。最优解问题大部分都可以拆分成一个个的子问题,把解空间的遍历视作对子问题树的遍历,则以某种形式对树整个的遍历一遍就可以求出最优解,大部分情况下这是不可行的。贪心算法和动态规划本质上是对子问题树的一种修剪,两种算法要求问题都具有的一个性质就是子问题最优性(组成最优解的每一个子问题的解,对于这个子问题本身肯定也是最优的)。动态规划方法代表了这一类问题的一般解法,我们自底向上构造子问题的解,对每一个子树的根,求出下面每一个叶子的值,并且以其中的最优值作为自身的值,其它的值舍弃。而贪心算法是动态规划方法的一个特例,可以证明每一个子树的根的值不取决于下面叶子的值,而只取决于当前问题的状况。换句话说,不需要知道一个节点所有子树的情况,就可以求出这个节点的值。由于贪心算法的这个特性,它对解空间树的遍历不需要自底向上,而只需要自根开始,选择最优的路,一直走到底就可以了。

话不多说,我们来看几个具体的例子慢慢理解它:

1.活动选择问题

这是《算法导论》上的例子,也是一个非常经典的问题。有n个需要在同一天使用同一个教室的活动a1,a2,…,an,教室同一时刻只能由一个活动使用。每个活动ai都有一个开始时间si和结束时间fi。一旦被选择后,活动ai就占据半开时间区间[si,fi)。如果[si,fi]和[sj,fj]互不重叠,ai和aj两个活动就可以被安排在这一天。该问题就是要安排这些活动使得尽量多的活动能不冲突的举行。例如下图所示的活动集合S,其中各项活动按照结束时间单调递增排序。

考虑使用贪心算法的解法。为了方便,我们用不同颜色的线条代表每个活动,线条的长度就是活动所占据的时间段,蓝色的线条表示我们已经选择的活动;红色的线条表示我们没有选择的活动。如果我们每次都选择开始时间最早的活动,不能得到最优解:

如果我们每次都选择持续时间最短的活动,不能得到最优解:

可以用数学归纳法证明,我们的贪心策略应该是每次选取结束时间最早的活动。直观上也很好理解,按这种方法选择相容活动为未安排活动留下尽可能多的时间。这也是把各项活动按照结束时间单调递增排序的原因。

#include<cstdio>

#include<iostream>

#include<algorithm>

using namespace std;

int N;

struct Act

{

int start;

int end;

}act[100010];

bool cmp(Act a,Act b)

{

return a.end<b.end;

}

int greedy_activity_selector()

{

int num=1,i=1;

for(int j=2;j<=N;j++)

{

if(act[j].start>=act[i].end)

{

i=j;

2.钱币找零问题

这个问题在我们的日常生活中就更加普遍了。假设1元、2元、5元、10元、20元、50元、100元的纸币分别有c0, c1, c2, c3, c4, c5, c6张。现在要用这些钱来支付K元,至少要用多少张纸币?用贪心算法的思想,很显然,每一步尽可能用面值大的纸币即可。在日常生活中我们自然而然也是这么做的。在程序中已经事先将Value按照从小到大的顺序排好。

}

3.再论背包问题

从零开始学动态规划

中我们已经谈过三种最基本的背包问题:零一背包,部分背包,完全背包。很容易证明,背包问题不能使用贪心算法。然而我们考虑这样一种背包问题:在选择物品i装入背包时,可以选择物品的一部分,而不一定要全部装入背包。这时便可以使用贪心算法求解了。计算每种物品的单位重量价值作为贪心选择的依据指标,选择单位重量价值最高的物品,将尽可能多的该物品装入背包,依此策略一直地进行下去,直到背包装满为止。在零一背包问题中贪心选择之所以不能得到最优解原因是贪心选择无法保证最终能将背包装满,部分闲置的背包空间使每公斤背包空间的价值降低了。在程序中已经事先将单位重量价值按照从大到小的顺序排好。

}

4.多机调度问题 n个作业组成的作业集,可由m台相同机器加工处理。要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成。作业不能拆分成更小的子作业;每个作业均可在任何一台机器上加工处理。这个问题是NP完全问题,还没有有效的解法(求最优解),但是可以用贪心选择策略设计出较好的近似算法(求次优解)。当n<=m时,只要将作业时间区间分配给作业即可;当n>m时,首先将n个作业从大到小排序,然后依此顺序将作业分配给空闲的处理机。也就是说从剩下的作业中,选择需要处理时间最长的,然后依次选择处理时间次长的,直到所有的作业全部处理完毕,或者机器不能再处理其他作业为止。如果我们每次是将需要处理时间最短的作业分配给空闲的机器,那么可能就会出现其它所有作业都处理完了只剩所需时间最长的作业在处理的情况,这样势必效率较低。在下面的代码中没有讨论n和m的大小关系,把这两种情况合二为一了。

5.小船过河问题 POJ1700是一道经典的贪心算法例题。题目大意是只有一艘船,能乘2人,船的运行速度为2人中较慢一人的速度,过去后还需一个人把船划回来,问把n个人运到对岸,最少需要多久。先将所有人过河所需的时间按照升序排序,我们考虑把单独过河所需要时间最多的两个旅行者送到对岸去,有两种方式: 1.最快的和次快的过河,然后最快的将船划回来;次慢的和最慢的过河,然后次快的将船划回来,所需时间为:t[0]+2*t[1]+t[n-1]; 2.最快的和最慢的过河,然后最快的将船划回来,最快的和次慢的过河,然后最快的将船划回来,所需时间为:2*t[0]+t[n-2]+t[n-1]。算一下就知道,除此之外的其它情况用的时间一定更多。每次都运送耗时最长的两人而不影响其它人,问题具有贪心子结构的性质。 AC代码:

}

6.区间覆盖问题 POJ1328是一道经典的贪心算法例题。题目大意是假设海岸线是一条无限延伸的直线。陆地在海岸线的一侧,而海洋在另一侧。每一个小的岛屿是海洋上的一个点。雷达坐落于海岸线上,只能覆盖d距离,所以如果小岛能够被覆盖到的话,它们之间的距离最多为d。题目要求计算出能够覆盖给出的所有岛屿的最少雷达数目。对于每个小岛,我们可以计算出一个雷达所在位置的区间。

问题转化为如何用尽可能少的点覆盖这些区间。先将所有区间按照左端点大小排序,初始时需要一个点。如果两个区间相交而不重合,我们什么都不需要做;如果一个区间完全包含于另外一个区间,我们需要更新区间的右端点;如果两个区间不相交,我们需要增加点并更新右端点。 AC代码:

//按区间左端点排序

double s=point[0].y;

//区间右端点

for(int i=1;i&lt;n;i++)

{

if(point[i].x&gt;s)

//如果两个区间没有重合,增加雷达数目并更新右端点

{

counting++;

s=point[i].y;

}

else if(point[i].y&lt;s)

//如果第二个区间被完全包含于第一个区间,更新右端点

{

s=point[i].y;

}

}

}

cout&lt;&lt;"Case"&lt;&lt;num&lt;&lt;':'&lt;&lt;''&lt;&lt;counting&lt;&lt;endl;

num++;

}

}

7.销售比赛在学校OJ上做的一道比较好的题,这里码一下。假设有偶数天,要求每天必须买一件物品或者卖一件物品,只能选择一种操作并且不能不选,开始手上没有这种物品。现在给你每天的物品价格表,要求计算最大收益。首先要明白,第一天必须买,最后一天必须卖,并且最后手上没有物品。那么除了第一天和最后一天之外我们每次取两天,小的买大的卖,并且把卖的价格放进一个最小堆。如果买的价格比堆顶还大,就交换。这样我们保证了卖的价格总是大于买的价格,一定能取得最大收益。

#include&lt;queue&gt;

#include&lt;vector&gt;

#include&lt;cstdio&gt;

#include&lt;cstdlib&gt;

#include&lt;cstring&gt;

#include&lt;iostream&gt;

#include&lt;algorithm&gt;

using namespace std;

long long int price[100010],t,n,res;

int main()

{

ios::sync_with_stdio(false);

cin&gt;&gt;t;

while(t--)

{

cin&gt;&gt;n;

priority_queue&lt;long long int, vector&lt;long long int&gt;, greater&lt;long long int&gt;&gt; q;

res=0;

for(int i=1;i&lt;=n;i++)

{

cin&gt;&gt;price[i];

}

res-=price[1];

res+=price[n];

for(int i=2;i&lt;=n-1;i=i+2)

{

long long int buy=min(price[i],price[i+1]);

long long int sell=max(price[i],price[i+1]);

if(!q.empty())

{

if(buy&gt;q.top())

{

res=res-2*q.top()+buy+sell;

q.pop();

q.push(buy);

q.push(sell);

}

else

{

res=res-buy+sell;

q.push(sell);

}

}

else

{

res=res-buy+sell;

q.push(sell);

}

}

cout&lt;&lt;res&lt;&lt;endl;

}

}

下面我们结合数据结构中的知识讲解几个例子。 8.Huffman编码这同样是《算法导论》上的例子。Huffman编码是广泛用于数据文件压缩的十分有效的编码方法。我们可以有多种方式表示文件中的信息,如果用01串表示字符,采用定长编码表示,则需要3位表示一个字符,整个文件编码需要300000位;采用变长编码表示,给频率高的字符较短的编码,频率低的字符较长的编码,达到整体编码减少的目的,则整个文件编码需要(45×1+13×3+12×3+16×3+9×4+5×4)×1000=224000位,由此可见,变长码比定长码方案好,总码长减小约25%。

对每一个字符规定一个01串作为其代码,并要求任一字符的代码都不是其他字符代码的前缀,这种编码称为前缀码。可能无前缀码是一个更好的名字,但是前缀码是一致认可的标准术语。编码的前缀性质可以使译码非常简单:例如001011101可以唯一的分解为0,0,101,1101,因而其译码为aabe。译码过程需要方便的取出编码的前缀,为此可以用二叉树作为前缀码的数据结构:树叶表示给定字符;从树根到树叶的路径当作该字符的前缀码;代码中每一位的0或1分别作为指示某节点到左儿子或右儿子的路标。

从上图可以看出,最优前缀编码码的二叉树总是一棵完全二叉树,而定长编码的二叉树不是一棵完全二叉树。给定编码字符集C及频率分布f,C的一个前缀码编码方案对应于一棵二叉树T。字符c在树T中的深度记为dT(c),dT(c)也是字符c的前缀码长。则平均码长定义为:

使平均码长达到最小的前缀码编码方案称为C的最优前缀码。 Huffman编码的构造方法:先合并最小频率的2个字符对应的子树,计算合并后的子树的频率;重新排序各个子树;对上述排序后的子树序列进行合并;重复上述过程,将全部结点合并成1棵完整的二叉树;对二叉树中的边赋予0、1,得到各字符的变长编码。

POJ3253一道就是利用这一思想的典型例题。题目大意是有把一块无限长的木板锯成几块给定长度的小木板,每次锯都需要一定费用,费用就是当前锯的木板的长度。给定各个要求的小木板的长度以及小木板的个数,求最小的费用。以要求3块长度分别为5,8,5的木板为例:先从无限长的木板上锯下长度为21的木板,花费21;再从长度为21的木板上锯下长度为5的木板,花费5;再从长度为16的木板上锯下长度为8的木板,花费8;总花费=21+5+8=34。利用Huffman思想,要使总费用最小,那么每次只选取最小长度的两块木板相加,再把这些和累加到总费用中即可。为了提高效率,使用优先队列优化,并且还要注意使用long long int保存结果。 AC代码:

#include&lt;queue&gt;

#include&lt;cstdio&gt;

#include&lt;iostream&gt;

using namespace std;

int main()

{

long long int sum;

int i,n,t,a,b;

while(~scanf("%d",&amp;n))

{

priority_queue&lt;int,vector&lt;int&gt;,greater&lt;int&gt;&gt;q;

for(i=0;i&lt;n;i++)

{

scanf("%d",&amp;t);

q.push(t);

}

sum=0;

if(q.size()==1)

{

a=q.top();

sum+=a;

q.pop();

}

while(q.size()&gt;1)

{

a=q.top();

q.pop();

b=q.top();

q.pop();

t=a+b;

sum+=t;

q.push(t);

}

printf("%lld\n",sum);

}

}

9.Dijkstra算法 Dijkstra算法是由E.W.Dijkstra于1959年提出,是目前公认的最好的求解最短路径的方法,使用的条件是图中不能存在负边。算法解决的是单个源点到其他顶点的最短路径问题,其主要特点是每次迭代时选择的下一个顶点是标记点之外距离源点最近的顶点,简单的说就是bfs+贪心算法的思想。

#include&lt;iostream&gt;

#include&lt;algorithm&gt;

#define INF 1000

#define MAX_V 100

using namespace std;

int main()

{

int V,E;

int i,j,m,n;

int cost[MAX_V][MAX_V];

int d[MAX_V];

bool used[MAX_V];

cin&gt;&gt;V&gt;&gt;E;

fill(d,d+V+1,INF);

fill(used,used+V,false);

for(i=0;i&lt;V;i++)

{

for(j=0;j&lt;V;j++)

{

if(i==j) cost[i][j]=0;

else cost[i][j]=INF;

}

}

for(m=0;m&lt;E;m++)

{

cin&gt;&gt;i&gt;&gt;j&gt;&gt;cost[i][j];

cost[j][i]=cost[i][j];

}

cin&gt;&gt;n;

d[n]=0;

//源点

while(true)

{

int v=V;

for(m=0;m&lt;V;m++)

{

if((!used[m])&amp;&amp;(d[m]&lt;d[v])) v=m;

}

if(v==V) break;

used[v]=true;

for(m=0;m&lt;V;m++)

{

d[m]=min(d[m],d[v]+cost[v][m]);

}

}

for(i=0;i&lt;V;i++)

{

cout&lt;&lt;"the shortest distance between"&lt;&lt;n&lt;&lt;" and"&lt;&lt;i&lt;&lt;" is"&lt;&lt;d[i]&lt;&lt;endl;

}

}

10.最小生成树算法

设一个网络表示为无向连通带权图G=(V, E), E中每条边(v,w)的权为c[v][w]。如果G的子图G’是一棵包含G的所有顶点的树,则称G’为G的生成树。生成树的代价是指生成树上各边权的总和,在G的所有生成树中,耗费最小的生成树称为G的最小生成树。例如在设计通信网络时,用图的顶点表示城市,用边(v,w)的权c[v][w]表示建立城市v和城市w之间的通信线路所需的费用,最小生成树给出建立通信网络的最经济方案。

构造最小生成树的Kruskal算法和Prim算法都利用了MST(最小生成树)性质:设顶点集U是V的真子集(可以任意选取),如果(u,v)∈E为横跨点集U和V—U的边,即u∈U,v∈V- U,并且在所有这样的边中,(u,v)的权c[u][v]最小,则一定存在G的一棵最小生成树,它以(u,v)为其中一条边。

使用反证法可以很简单的证明此性质。假设对G的任意一个最小生成树T,针对点集U和V—U,(u,v)∈E为横跨这2个点集的最小权边,T不包含该最小权边<u, v>,但T包括节点u和v。将<u,v>添加到树T中,树T将变为含回路的子图,并且该回路上有一条不同于<u,v>的边<u’,v’>,u’∈U,v’∈V-U。将<u’,v’>删去,得到另一个树T’,即树T’是通过将T中的边<u’,v’>替换为<u,v>得到的。由于这2条边的耗费满足c[u][v]≤c[u’][v’],故即T’耗费≤T的耗费,这与T是任意最小生成树的假设相矛盾,从而得证。

Prim算法每一步都选择连接U和V-U的权值最小的边加入生成树。

#include&lt;iostream&gt;

#include&lt;algorithm&gt;

#define MAX_V 100

#define INF 1000

using namespace std;

int main()

{

int V,E;

int i,j,m,n;

int cost[MAX_V][MAX_V];

int mincost[MAX_V];

bool used[MAX_V];

cin&gt;&gt;V&gt;&gt;E;

fill(mincost,mincost+V+1,INF);

fill(used,used+V,false);

for(i=0;i&lt;V;i++)

{

for(j=0;j&lt;V;j++)

{

if(i==j) cost[i][j]=0;

else cost[i][j]=INF;

}

}

for(m=0;m&lt;E;m++)

{

cin&gt;&gt;i&gt;&gt;j&gt;&gt;cost[i][j];

cost[j][i]=cost[i][j];

}

mincost[0]=0;

int res=0;

while(true)

{

int v=V;

for(m=0;m&lt;V;m++)

{

if((!used[m])&amp;&amp;(mincost[m]&lt;mincost[v]))

v=m;

}

if(v==V) break;

used[v]=true;

res+=mincost[v];

for(m=0;m&lt;V;m++)

{

mincost[m]=min(mincost[m],cost[v][m]);

}

}

cout&lt;&lt;res&lt;&lt;endl;

} Kruskal算法每一步直接将权值最小的不成环的边加入生成树,我们借助并查集这一数据结构可以完美实现它。

关于贪心算法的基础知识就简要介绍到这里,希望能作为大家继续深入学习的基础。

三、《coin push小熊推金币机器》是什么游戏

游戏说明

小熊推金币机器全名是《coin push小熊推金币机器》

这是一款推金币游戏,游戏画风非常卡通,小熊的舌头不断推送面前的金币使他们掉落,最终成为你的囊中之物,游戏中随机内置各种收藏品需要你有耐心去收集他们。并且同类产品收藏地越多等级就越高。欲快速获取更多金币可移步至金币商店选择购买。此外,在新版本中还添加了新的蜘蛛功能。掉下一枚蜘蛛币,就会有蜘蛛侠降落帮你拾取。此版本拥有更多趣味性,难度有所降低。

特点:

1高清Retina画面。

2添加升级,收藏品模块。

3成就系统连接Game Center。

4收藏品与金币兑换服务。

5新增蜘蛛功能。

游戏在小黑游戏网上,

本文来自用户投稿,不代表币大大立场,如若转载,请注明出处:https://czxurui.com/jys/181042.html

上一篇 2025年09月15日
下一篇 2025年09月15日

相关推荐

  • 意欧交易所Push区是什么意思?

    意欧交易所Push区是什么意思? 在数字资产交易领域,“意欧交易所Push区”是部分交易所为提升用户交互效率而设计的功能模块,其核心在于通过主动推送与用户行为相关的实时信息,优化交易体验,具体而言,“Push区”通常指交易所APP或网页端中,集中展示动态提醒、重要通知及个

    2026-06-04 22:30:02
    21 0
  • 欧交易所Push区是什么意思?

    欧交易所Push区是什么意思? 在数字资产交易领域,“欧交易所”(通常指专注于欧洲市场或符合欧盟监管规范的加密货币交易所)的“Push区”是一个常见的功能模块,其核心作用是通过主动推送机制,向用户实时传递关键信息与操作入口,提升用户活跃度与交易效率。 Push区的核心功

    2026-05-23 00:30:02
    27 0
  • 币PUSH什么意思,PUSH币值得投资吗

    一、android push 是代表着什么意思android push是安卓的一种消息推送机制。开发者在开发的时候会有这样的几种实现方案:安卓关于消息推送的相关方案介绍------我们国内自己的技术实现前些时间公司有个项目用到了android push功能,于是在google中狂搜,看到好多网友的介绍,

    2026-04-30 16:30:02
    25 0
  • 区块链push什么意思,区块链ToC是什么

    一、区块链ToC是什么TOC和TOB行业是什么意思toB是面向企业,toC是面向个人。toB模式举例,就拿1688来说。1688的模式定位是针对商家进行商品批发,其卖家绝大部分都是国内的厂家,既是企业级用户也是货源的源头。其卖家则是小商家,有批发商品的需求。1688通过批发售卖对物品价

    2025-11-06 22:30:02
    49 0
  • 交易 push是什么意思啊,max是什么意思啊

    一、max是什么意思啊max是英文单词maximum的缩写,有完全;彻底;最大限度;最大量;最大数等多种意思解释。1.在数学应用中,max代表的含义一般指的是最大值,可用于函数计算。2.在html编程中max可以经过用户的定义,在函数中默认求出最大值等。3.max可用于姓名。中文名直译为

    2024-11-25 09:00:02
    166 0

发表回复

8206

评论列表(0条)

    暂无评论

binance币安交易所
已有2000万用户加入币安交易所

立即下载