Codeforces Round #675 (Div. 2)A-D题解

Rockit VDEC解码实战:从零构建高效视频处理流水线 本文详细介绍了Rockit VDEC硬件解码模块在RK3568/RK3588平台的应用实践,涵盖开发环境配置、MPI接口使用、码流发送模式选择、内存管理优化及多路解码系统构建。通过实战案例展示如何利用VDEC实现高效视频处理流水线,显著降低CPU占用率,提升嵌入式多媒体开发效率。 阅读详情

Codeforces Round #675 (Div. 2)A-D题解
比赛链接:https://codeforces.com/contest/1422

A题

题意为给定四边形的三条边,让你输出一个整数,与其能够构成一个四边形。

类似三角形的定理,需要满足最小长度的三条边的和需要大于最大的那一条。
这里我选择的构造方式就是用最大的那条边减去另外两条边(和0要取个max)再加1。

#include<bits/stdc++.h>
#define ll long long
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int32_t main()
{
    IOS;
    int t;
    cin>>t;
    while(t--)
    {
        ll a,b,c;
        cin>>a>>b>>c;
        if(a>b) swap(a,b);
        if(b>c) swap(b,c);
        cout<<max(0ll,c-a-b)+1<<endl;
    }
}

B题
简单结论,细节处理。

题意为给定一个n×\times×n的矩阵,你每次操作可以对其中的某一个数字+1或者-1,问你最少需要进行多少次操作,使得整个矩阵每一列都是对称的,每一行也是对称的。

这里的话先观察,我们以矩阵的中心为原点,水平和竖直建立坐标系,会发现在x和y轴上的点,在矩阵中都只需要和另一个数保持一致,而不在坐标轴上的点,都需要与另外三个数保持一致。

让两个数保持一致的操作次数很简单,就是两个数字差值的绝对值。
四个数字保持一致的话,我们可以采用假设最终的数字的值在哪个范围来得到结论。
假设四个数字从小到大排序是a,b,c,d。我们假设最后构造的值落在c的右边,那么我们完全可以让这个值-1,这样的话a,b,c三个数字都少操作了一次,而d多操作了一次,总操作次数-2,会更优。
同理也可以推得最后构造的值在b的左边也不是最优的。
因此我们最后构造的值就是在b到c的闭区间内,并且操作次数相同。所以直接四个数字和c相减取绝对值加起来就是最少操作次数了。

之后就是实现了。

#include<bits/stdc++.h>
#define ll long long
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

ll num[107][107];

int32_t main()
{
    IOS;
    int t;
    cin>>t;
    while(t--)
    {
        int n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++) cin>>num[i][j];
        ll ans=0;
        for(int i=1;i<=n/2;i++)//除了奇数行的中间行外,所有位置都有对应三个另外的位置要保持相同
        {
            for(int j=1;j<=m/2;j++)
            {
                vector<ll>temp;
                temp.push_back(num[i][j]);
                temp.push_back(num[i][m-j+1]);//同一行的另一个数
                temp.push_back(num[n-i+1][j]);//同一列的另一个数
                temp.push_back(num[n-i+1][m-j+1]);//关于矩阵中心对称的另一个数
                sort(temp.begin(),temp.end());
                for(auto &x:temp) ans+=abs(x-temp[2]);
            }
            if(m&1) ans+=abs(num[i][m/2+1]-num[n-i+1][m/2+1]);//中间列是特殊情况
        }
        if(n&1)//奇数行的中间那一行额外处理,此时每个位置需要保持相同的数只有另外一个
        {
            for(int j=1;j<=m/2;j++) ans+=abs(num[n/2+1][j]-num[n/2+1][m-j+1]);
        }
        cout<<ans<<endl;
    }
}

C题
dp

题意为给定一个长度最长为1e5级别的数字,你可以在其中删除长度不为0的连续的某一段数字,把剩下的数字拼接起来构成一个新的数字。
你需要输出所有删除方案得到的数字的和。

算是个比较容易看出来的线性dp,具体转移方程看代码和注释吧。

#include<bits/stdc++.h>
#define ll long long
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
const ll maxn=1e5+7;
const ll mod=1e9+7;

string s;

struct Node
{
    ll data,cas;//data记录值总共为多少,cas为有多少组情况
};

Node dp[maxn][3];//方便理解起见,这里每个下标对应三种状态
//dp[i][0]代表用前i个数字在已经删除了一段区间并且这个区间的最后一个位置是下标i的情况下,构成的所有数值和,以及对应有多少组情况
//dp[i][1]代表用前i个数字在已经删除了一段区间并且这个区间的最后一个位置不是下标i的情况下,构成的所有数值和,以及对应有多少组情况
//dp[i][2]代表用前i个数字未删除区间的情况下,构成的所有数值和,以及对应有多少组情况(这里一直是1)

int32_t main()
{
    IOS;
    cin>>s;
    dp[0][2].cas=1;
    for(int i=0;i<s.size();i++)
    {
        dp[i+1][0].cas=(dp[i][0].cas+dp[i][2].cas)%mod;//删除当前位置,由于只能删除一段连续的区间,因此不能从dp[i][1]转移过来
        dp[i+1][0].data=(dp[i][0].data+dp[i][2].data)%mod;

        dp[i+1][1].cas=(dp[i][0].cas+dp[i][1].cas)%mod;//保留当前位置,并且之前已经有删除过,因此从dp[i][0]和[1]转移过来
        dp[i+1][1].data=((dp[i][0].data+dp[i][1].data)%mod*10%mod+dp[i+1][1].cas*(s[i]-'0')%mod)%mod;

        dp[i+1][2].cas=dp[i][2].cas;
        dp[i+1][2].data=(dp[i][2].data*10+s[i]-'0')%mod;
    }
    cout<<(dp[s.size()][0].data+dp[s.size()][1].data)%mod<<endl;
}

D题
思维,结论优化,最短路

题意为在一个二维平面上给定起点和终点的坐标,每次移动你只能朝着上下左右移动1的距离。
但是这个平面上有m个特殊节点,当你的位置与这个节点的横坐标或者纵坐标相同时,你可以不花费任何时间直接到达这个节点的位置。询问从起点到终点最少要移动多少次(不包括瞬移到特殊节点的移动)。

这里很容易想到的,把起点和终点还有m个特殊点当做图的结点,变成最短路问题,其中起点与终点之间的距离是横纵坐标差的绝对值和,而有特殊点作为端点的边,则是横纵坐标差值的较小值作为距离。但是这样构图的话,是一个m+2个结点的完全图,边数量(m+2)2 跑最短路是必然会tle的。
我们注意到起点到m个特殊点的单向边 ,以及起点,m个特殊点到终点的单向边是必须加入到图中的。
但是m个特殊点之间的m2 条特殊边还是可以优化的,并不需要全部加入。
这里要先推一个小结论,对于两个点a[x1,y1],b[x2,y2],x1<x2,y1<y2,如果有第三个点c[x3,y3],满足x1<=x3<=x3或者y1<=y2<=y3的话。
由于从a点到b点,必然是从a点先经过x方向(水平)或者y方向(竖直)走到可以直接瞬移到b的位置。而在这个过程中,必然会经过c点的横纵坐标相同的某个点,瞬移到c点再接着原来的路径方向走,所需移动次数是不会产生变化的。也就是说a到b之间的路径,可以由a到c和c到b这两条路径构成。
也就是任意两个特殊点的距离,都可以用x方向上或者y方向上这两个特殊点中间的点的边来表示。利用这个结论对大边不断分割后,最后全部转化为了x方向和y方向上,相邻两个点之间的边。
由此m2 条边就被压缩成了2m-2条边,此时的最短路算法mlogn就可以在时间内跑完了。

#include<bits/stdc++.h>
#define ll long long
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
const ll maxm=1e5+7;

struct Edge
{
    ll to,next,dis;
}edge[maxm<<3];

ll head[maxm],tot;
ll n,m;

void init()
{
    for(ll i=0;i<=m+1;i++) head[i]=-1;
    tot=0;
}

void add(ll u,ll v,ll w)
{
    edge[tot].to=v;
    edge[tot].next=head[u];
    edge[tot].dis=w;
    head[u]=tot++;
}

ll dis[maxm];

struct Node
{
    ll pos,val;
    Node(ll pos,ll val):pos(pos),val(val){}
    friend bool operator < (Node a,Node b)
    {
        return a.val>b.val;
    }
};

ll Dijstra()
{
    for(ll i=0;i<=m+1;i++) dis[i]=llINF;
    dis[0]=0;
    priority_queue<Node>Q;
    Q.push(Node(0,0));
    while(Q.size())
    {
        Node now=Q.top();
        Q.pop();
        if(now.val>dis[now.pos]) continue;
        for(ll i=head[now.pos];i!=-1;i=edge[i].next)
        {
            ll to=edge[i].to;
            if(dis[to]>edge[i].dis+now.val)
            {
                dis[to]=edge[i].dis+now.val;
                Q.push(Node(to,dis[to]));
            }
        }
    }
    return dis[m+1];
}

struct Point
{
    ll x,y,tar;
}point[maxm];

bool cmp1(Point a,Point b){return a.x<b.x;}
bool cmp2(Point a,Point b){return a.y<b.y;}

int32_t main()
{
    IOS;
    cin>>n>>m;
    init();
    cin>>point[0].x>>point[0].y>>point[m+1].x>>point[m+1].y;//起点下标0,终点下标m+1
    for(ll i=1;i<=m;i++) {cin>>point[i].x>>point[i].y;point[i].tar=i;}
    for(ll i=1;i<=m;i++) add(0,i,min(abs(point[i].x-point[0].x),abs(point[i].y-point[0].y)));//起点到m个特殊点的边加进图中
    for(ll i=0;i<=m;i++) add(i,m+1,abs(point[m+1].x-point[i].x)+abs(point[m+1].y-point[i].y));//起点和m个特殊点,与终点的边加进图中
    //以上均可以直接设置为单向边
    //之后还需要加的就是m个特殊点之间的边了
    sort(point+1,point+m+1,cmp1);//按照x从小到大排序后,相邻特殊点之间建立双向边
    for(ll i=1;i<m;i++)
    {
        ll dis=min(abs(point[i].x-point[i+1].x),abs(point[i].y-point[i+1].y));
        add(point[i].tar,point[i+1].tar,dis);
        add(point[i+1].tar,point[i].tar,dis);
    }
    sort(point+1,point+m+1,cmp2);//按照y从小到大排序后,相邻特殊点之间建立双向边
    for(ll i=1;i<m;i++)
    {
        ll dis=min(abs(point[i].x-point[i+1].x),abs(point[i].y-point[i+1].y));
        add(point[i].tar,point[i+1].tar,dis);
        add(point[i+1].tar,point[i].tar,dis);
    }
    cout<<Dijstra()<<endl;//跑个最短路完事了
}
【人工智能时代】-什么是MCP?本地如何开发MCP Server MCP(Model Context Protocol)全称模型上下文协议,是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。掌握更多的信息控制更多的工具在没有联网搜索之前,大模型的数据来源只有训练数据的时候以及推理我们告诉他的东西。所以后来的rag、知识库都是让AI掌握更多的信息,而MCP的出现是为了让大模型控制更多的工具,赋予更多能力。在本篇文章中,基于 Python 完成了一个简单的 MCP Server 的开发。 阅读详情

相关推荐

基于STM32的RS485土壤氮磷钾与PH传感器数据采集与OLED显示实战(附完整代码)

本文详细介绍了基于STM32单片机通过RS485协议采集土壤氮磷钾与PH传感器数据的实战项目。涵盖硬件选型、连接方法、Modbus-RTU通信协议解析、STM32程序实现及OLED显示,提供完整代码和调试技巧,适用于农业物联网环境监测系统。

kotlin6android的博客 335

Codeforces Round #675 (Div. 2)

A. Fence 签到题 题设:给定三个代表三条边的值:a,b,c,求出任意一个能和这三条边构成一个四边形长度d。 思路:知道构成合法四边形的规则是任意三边和要绝对大于第四条边即可。因数据范围是三个1e9,为了防止溢出采用了保守方法。先计算a,b,c中较小两个值的和sum和a,b,c中最大值max,若这个sum已经比a,b,c中最大值max还大了,输出d=1即可,否则,令d=max-sum+1。 ——AC代码 B. Nice Matrix 思维题 题设:给定一个n×m大小的矩阵,每次可对其中任意一个位置的元

自伤无色的博客 1159

PADS Layout新手必看:从元件摆放到地线处理的10个实用技巧

本文为PADS Layout新手提供了10个实用技巧,涵盖元件摆放、地线处理等关键环节。从功能模块化布局到高频信号处理,再到电磁兼容性设计,帮助初学者快速掌握PCB设计核心技能,提升Layout效率和质量。特别适合需要优化PADS Layout工作流程的设计师参考。

stone的博客 254

Codeforces Round #675 (Div. 2) Solution

XD

curry的博客 1104

e-puck场景搭建

可以注意到一个黑色的小窗口出现在三维视图的左上角。它显示了电子吸盘机器人的摄像头拍摄的图像。该图像将保持黑色,直到机器人的控制器明确启用相机。最后,单击右上角的“x”可以关闭它。在对话框中,选择PROTO节点(Webots项目)/robots/gctronic/e-puck/e-puck(Robot)。一个电子吸盘机器人应该出现在竞技场的中央。通过按Alt+左键单击+拖动,对机器人施加力。无法对WoodenBox节点施加力,因为默认情况下,它们没有质量,并且被视为粘在地板上。将新控制器与机器人链接。

weixin_66540163的博客 767

零基础学习CANoe Panel(5)——改变变量的值,控件图像也改变,这是怎么回事?

Panel 中控件的图像随着值变化,是怎么回事?

蚂蚁小兵 2145

Codeforces Global Round 8 A-D

A:显然 交替加 增大最快 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const double PI= acos(-1.0); const int M = 1e5+7; /* int head[M],cnt=1; void init(){cnt=1,memse

bjfu170203101的博客 358

FPGA面试题目笔记(一)——FPGA开发流程、亚稳态和竞争冒险、建立保持时间、异步FIFO深度等

同步异步电路、同步异步复位、时钟偏移和抖动、最小工作周期计算、触发器锁存器

H19981118的博客 1万+

Codeforces Round #675 (Div. 2) A - D

A. Fence 题意 为了组成一个四边形,给定三边的长度,求最后一个边的长度 思路 我们可以想一下,当一个边固定,其余两个边分别在这个边的两个端点,且边在一边,只有有这个边的角度越大,第三个边越大,当为180°,就会成为一个直线,所以只需要小于三边之和就可以满足不是一个直线的情况,且为最大的可能,必然满足情况 代码 #include<iostream> using namespace std; #define int long long signed main(){ int T;

qq_45074215的博客 419

Python爬虫终极实战:逆向解析+异步处理,高效爬取中关村在线万级产品数据

爬虫工程师的战场,已经从简单的HTML解析,转向了对网络协议、JavaScript执行逻辑的深度逆向工程。然后刷新页面,当浏览器发起这个请求时,执行会暂停,我们可以一步步跟蹤调用栈(Call Stack),找到发起请求前的JavaScript代码,从而发现参数的计算逻辑。它们会添加一个动态的、一次性的签名(token)或加密参数,用于验证请求的合法性。这是整个爬虫最核心、最具技术含量的部分。的请求,其响应体正是结构清晰的JSON数据,包含了当前页面的所有手机信息(产品ID、名称、价格、图片等)。

2201_76125261的博客 429

NVP6324、NVP6188、NVP6158C的区别详解

根据搜索结果,NVP6324、NVP6188、NVP6158C是Nextchip公司推出的不同型号视频处理芯片,主要区别体现在应用场景、功能特性、接口支持及封装规格等方面。如需进一步技术细节(如寄存器配置或开发支持),可参考具体型号的规格书或联系Nextchip代理商。

小灰灰的博客 3001

Codeforces Round #675 (Div. 2) F.Boring Queries(主席树+lcm)

题目 长度为n(n<=1e5)的数组a[],ai在[1,2e5]之间, q(q<=1e5)个询问,每次给出[l,r],询问[l,r]区间内的ai的lcm, 本题强制在线 思路来源 ustze、Heltion代码 题解 强制在线,n=1e5,所以用主席树, 主席树直接维护区间乘积,所以要将lcm引起的乘积变小的部分预先除掉, 询问[l,r]的时候,直接回答r为右端点的主席树在[l,r]的区间乘积 考虑lcm,对于每个质因子p来说,若区间内有两个含p的数,则 lcm应该是.

小衣同学的博客 566

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Codeforces Round #353 (Div. 2)题解

比赛传送门:http://codeforces.com/contest/675 A:水题 判断是否在等差数列里,一定要分类讨论公差正负,b和a的大小,不能直接模 B:水题 5个位置变量设为x1到x5,发现4个正方形里都有x3,所以x3是有n种取法,接下来就是x1取定,另外3个都取定了,算出另外3个由x1表达的式子,判断是否在范围里即可 C:前缀和 给你n个数字,围成一个

Miracle_ma的专栏 526

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Codeforces Round #675 (Div. 2)D. Returning Home

Codeforces Round #675 (Div. 2)D. Returning Home 题意: 题意为在一个二维平面上给定起点和终点的坐标,每次移动你只能朝着上下左右移动1的距离。 但是这个平面上有m个特殊节点,当你的位置与这个节点的横坐标或者纵坐标相同时,你可以不花费任何时间直接到达这个节点的位置。询问从起点到终点最少要移动多少次(不包括瞬移到特殊节点的移动)。 思路: 考虑点与点之间的转移,一个点到很远的点,可以通过到x,y轴距离最相近的四个点,连边,建边跑dij #include<bit

weixin_45722843的博客 140

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Codeforces Round #675 (Div. 2) A - D

1:24 做出 D, 这场打的还行,主要是最近手感不错。 A - Fence 直接取上界-1即可: #include <bits/stdc++.h> using namespace std; typedef long long ll; #define re register #define ls (o<<1) #define rs (o<<1|1) //#define m (l+r)/2 #define pb push_back const double PI..

bjfu170203101的博客 351

Codeforces Round #675 (Div. 2)、Codeforces Round #676 (Div. 2)

Codeforces Round #675 (Div. 2)、Codeforces Round #676 (Div. 2) A. XORwice # include <iostream> # include <cstdio> void solve() { int a, b; scanf("%d%d", &a, &b); int x = a & b; int ans = (a ^ x) + (b ^ x); printf("%d\n", ans)

星宇康的博客 297

Codeforces Round 353 div2 675ABCDE

Codeforces Round 353 div2 通过数: 2 A:#include <bits/stdc++.h> using namespace std; int main() { int a, b, c; while(scanf("%d%d%d", &a, &c, &b) != EOF) { if((c - a) < 0 && b > 0) printf(

beihai2013 339

Codeforces Round #675(Div. 2) A,B,C,D,E

文章目录A. FenceB. Nice MatrixC. BargainD. Returning HomeE. Minlexes A. Fence 这题只要找最大值输出即可。 #include <iostream> #include <stdio.h> #include <cstring> #include <algorithm> using namespace std; int T; int a,b,c; int main() { scanf("%d

hhhcbw的博客,欢迎各位来访 353

Codeforces Round #675 (Div. 2) A-B

Codeforces Round #675 (Div. 2) A. Fence 题意: 给定 三条边的长度 让你求能组成四边的第四条边长度 其中三边不共线 问题分析: 四边形的一个性质:三边之和大于第四边 注意开 long long AC代码: #include<map> #include<set> #include<cmath> #include<queue> #include<vector> #include<cstdio> #i

MaxVen 462

Codeforces Round #675 (Div. 2) A.fence

A.fence Description Yura is tasked to build a closed fence in shape of an arbitrary non-degenerate simple quadrilateral. He’s already got three straight fence segments with known lengths a, b, and c. Now he needs to find out some possible integer length d

five_east_west的博客 295

Codeforces Round #353 (Div. 2)D. Tree Construction

链接:http://codeforces.com/contest/675/problem/D 题意:按二叉搜索树的方法插入n个互不相等的数,然后要求输出除根以外n-1个点的父亲的权值。 分析:当我们建好整棵树后,我们会知道这棵二叉树的中序遍历就是这些数从小到大排列,那么每个数的父亲就是比它小的中最大的那个数或者比它大的数中最小的。知道了这些之后我们随便用点结构或者stl里面的容器都行啦。我用的

Fsss 482

Codeforces Round #675 (Div. 2)——F主席树待补?

A - Fence #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include

Fighting_Peter的博客 272

codeforces Round #675 (Div. 2) 1422A Fence

题目链接 题目翻译: Yura的任务是建立一个简单四边形形状的封闭围栏(即一个围栏由四个栅栏围成)。他已经得到三个栅栏,长度分别是a,b,c。现在他需要计算出第四个栅栏的长度,使得这四个栅栏能围成一个围栏。请帮助Yura计算出第四个栅栏任何可能的长度。 一个合法的简单四边形,其任意三个角不会在同一直线上,并且边不会相互交错。 解题思路: 直接将a,b,c中的最大值作为d的值。 代码: #include<iostream> #include<cmath> using namespa

lmmmmmmmmmmmmmmm的博客 462

Codeforces Round #675 (Div. 2) D. Returning Home【思维建图,最短路】

传送门:D. Returning Home 题意 在二维平面上,给你起点和终点的坐标,你从起点出发,每秒可以上下左右选个方向移动一格。平面上还有m个传送门,当前位置的 x或y 与任意一个传送门的 x或y 相同,就可以不花费时间立即到达该传送门。求起点到终点的最短时间。 思路 首先,对于走传送门,那么只移动了x或y;对于走终点,必须移动x和y。

nefu_ljw的博客 361

Codeforces Round #675解题报告

题目链接 A、Fence 水题,多种做法。 //可能解法不是常规思路。 #include<bits/stdc++.h> using namespace std; #define ll long long int main() { int t; cin >> t; while(t--){ ll a,b,c; cin >> a >> b >> c; int minn = min(a

qq_45949914的博客 334

A. Fence(欧几里得四边形形成条件)Codeforces Round #675 (Div. 2)

原题链接: https://codeforces.com/contest/1422/problem/A 测试样例 input 2 1 2 3 12 34 56 output 4 42 Note We can build a quadrilateral with sides 1, 2, 3, 4. We can build a quadrilateral with sides 12, 34, 56, 42. 题意: 给你三条边的边长,需要你再找到一条边,使得这四条边构成一个四边形。 解题思路:

pursuit的博客 794
上一篇: Grakn Forces 2020A-F题解
下一篇: Educational Codeforces Round 96 (Rated for Div. 2)A-E题解
StandNotAlone
博客等级 码龄7年 338粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值