河南省第十一届ACM大学生程序设计竞赛 部分题解

ICPC/CCPC赛事全攻略:从网络赛到总决赛的备赛指南 算法竞赛是计算机领域检验逻辑思维与工程实现能力的重要方式,其核心在于通过限时编程解决复杂问题,强调算法设计、代码效率与团队协作。这种竞赛形式不仅为高校挖掘了顶尖技术人才,更成为保研、校招和科研能力评估的重要参考。从区域赛到全球总决赛,选手需经历网络赛选拔、现场赛角逐等层层筛选,其中网络赛题解、邀请赛真题与省赛记录成为备赛核心资源。ICPC作为全球性赛事,其亚洲赛区竞争激烈;而CCPC则立足国内,为更多高校提供竞技舞台。无论是参考“icpc网络赛2025题解”复盘思路,还是研究“2021年河南省CCPC真题” 阅读详情

题目链接

A 计划日

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;

bool leapyear(int y)
{
	if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0)
		return true;
	return false;
}
int main()
{
#ifdef LOCAL
	//freopen("C:/input.txt", "r", stdin);
#endif
	int month[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
	int T;
	cin >> T;
	while (T--)
	{
		int y, m, d, w, n;
		scanf("%4d%2d%2d %d %d", &y, &m, &d, &w, &n);
		//cout << y << " " << m << " " << d << endl;
 		--w;
		while (n--)
		{
			d++;
			if (d > month[m] + (m == 2 && leapyear(y)))
				d = 1, m++;
			if (m > 12)
				y++, m = 1;
			w = (w + 1) % 7;
		}
		printf("%04d%02d%02d %d\n", y, m, d, w + 1);
	}

	return 0;	
}

B 治安管理 <前缀和>

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 1e5 + 10;
int sum[N], a[N], b[N];

int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int T;
	cin >> T;
	while (T--)
	{
		memset(sum, 0, sizeof(sum));
		int n, m, s, f;
		cin >> n >> m >> s >> f;
		for (int i = 0; i < n; ++i)
			scanf("%d", &a[i]);
		for (int i = 0; i < n; ++i)
			scanf("%d", &b[i]);
		for (int i = 0; i < n; ++i)
			sum[a[i]]++, sum[b[i]]--;
		int mx = 0, mi = INF;
		for (int i = 0; i < N; ++i)
		{
			sum[i] += sum[i - 1];
			if (i >= s && i < f)
				mx = max(mx, sum[i]), mi = min(mi, sum[i]);
		}
		if (mi >= m)
			printf("YES %d\n", mx);
		else
			printf("NO %d\n", mi);
	}

	return 0;	
}

C 山区修路 <dp>

状态转移时使用u、d两个数组求出上个状态高度从第到高、从高到低的最小值前缀。然后进行转移减少复杂度。

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 1e5 + 10;
int f[N][110]; //第i个位置为j高度的代价
int u[110], d[110];
int a[N];

int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int T;
	cin >> T;
	while (T--)
	{
		memset(f, 0x3f, sizeof(f));
		memset(u, 0, sizeof(u));
		memset(d, 0, sizeof(d));
		int n, x;
		cin >> n >> x;
		for (int i = 1; i <= n; ++i)
			scanf("%d", &a[i]);
		u[0] = d[101] = INF;
		for (int i = 1; i <= n; ++i) //位置 
		{
			for (int j = a[i]; j <= 100; ++j) //当前高度
			{
				f[i][j] = (a[i] - j) * (a[i] - j);
				f[i][j] += min(u[j], d[j]); //前面状态转移到j高度的代价 
			}
			memset(u, 0x3f, sizeof(u)); //最值前缀
			memset(d, 0x3f, sizeof(d));
			for (int j = 1; j <= 100; ++j)
				u[j] = min(u[j - 1] + x, f[i][j]);
			for (int j = 100; j >= 1; --j)
				d[j] = min(d[j + 1] + x, f[i][j]);
		}
		int ans = INF;
		for (int i = 1; i <= 100; ++i)
			ans = min(ans, f[n][i]);
		cout << ans << endl;
	}

	return 0;
}

D 求XF+闭包 <模拟>

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
string a[50], b[50], ans;
int n, m, k;

bool solve()
{
	for (int i = 0; i < k; ++i)
	{
		//cout << a[i] << " " << b[i] << endl;
		int flag = 1;
		for (int j = 0; j < a[i].size(); ++j)
			if (ans.find(a[i][j]) == -1)
				flag = 0;
		if (flag)
		{
			int sz = ans.size();
			ans += b[i];
			sort(ans.begin(), ans.end());
			ans.erase(unique(ans.begin(), ans.end()), ans.end());
			if (sz < ans.size())
				return 1;
		}
	}
	return 0;
}
int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int T;
	cin >> T;
	while (T--)
	{
		cin >> n >> m >> k;
		cin >> ans >> ans;
		for (int i = 0; i < k; ++i)
			cin >> a[i] >> b[i];
		while (solve());
		cout << ans << endl;
	}

	return 0;
}

E 物流配送 <费用流>

把每个点的需求量和原有量进行比较,原有较多的作为源点,需求较多的作为汇点。建立超级源点和所有源点相连,容量为原有量-需求量,代价为0,建立超级汇点类似操作。
题目所给边建立双向边,代价为题目所给容量无穷大。最后跑最小费用最大流,最小代价即为答案。

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 1e3 + 10;
int a[N], b[N];
bool vis[N];
int dis[N], pre[N];

struct edge
{
	int v, w, c, nxt; //容量 代价
}e[N * 8];
int h[N], idx;

void AddEdge(int u, int v, int w, int c)
{
	e[idx] = { v, w, c, h[u] };
	h[u] = idx++;
}
bool SPFA(int st, int ed)
{
	queue<int> q;
	memset(dis, 0x3f, sizeof(dis));
	memset(pre, -1, sizeof(pre));
	dis[st] = 0;
	vis[st] = 1;
	q.push(st);
	while (!q.empty())
	{
		int u = q.front(); q.pop(), vis[u] = 0;
		for (int i = h[u]; ~i; i = e[i].nxt)
		{
			int v = e[i].v, w = e[i].w, c = e[i].c; //w流量 c代价
			if (dis[v] > dis[u] + c && w)
			{
				dis[v] = dis[u] + c;
				pre[v] = i;
				if (!vis[v])
					q.push(v), vis[v] = 1;
			}
		}
	}
	return pre[ed] != -1;
}
void MCMF(int st, int ed, ll &cost)
{
	cost = 0;
	while (SPFA(st, ed))
	{
		int mi = INF;
		for (int i = pre[ed]; ~i; i = pre[e[i ^ 1].v])
			mi = min(mi, e[i].w);
		for (int i = pre[ed]; ~i; i = pre[e[i ^ 1].v])
		{
			e[i].w -= mi, e[i ^ 1].w += mi;
			cost += 1LL * mi * e[i].c;
		}
	}
}
int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	memset(h, -1, sizeof(h));
	int n;
	cin >> n;
	for (int i = 1; i <= n; ++i)
		scanf("%d", &a[i]);
	for (int i = 1; i <= n; ++i)
	{
		scanf("%d", &b[i]);
		if (a[i] > b[i]) //源点
		{
			AddEdge(0, i, a[i] - b[i], 0); //无代价权值差容量
			AddEdge(i, 0, 0, 0);
		}
		else if (a[i] < b[i]) //汇点
		{
			AddEdge(i, n + 1, b[i] - a[i], 0);
			AddEdge(n + 1, i, 0, 0);
		}
	}
	for (int i = 1; i < n; ++i)
	{
		int u, v, w;
		scanf("%d%d%d", &u, &v, &w);
		AddEdge(u, v, INF, w);
		AddEdge(v, u, 0, -w);
		AddEdge(v, u, INF, w);
		AddEdge(u, v, 0, -w);
	}
	ll cost = 0;
	MCMF(0, n + 1, cost);
	cout << cost << endl;

	return 0;
}

G Checkpoints <tarjan>

如果能从起点到终点再回到起点则起点和终点在同一个强连通分量内。找出起点和终点的强连通分量。尝试暴力删除一些点。
如果删除再次Tarjan得到强连通分量,如果起点和终点依然在同一个强连通内则说明方案可行,并且标记当前节点下次不再处理。
因为此次处理会把所有包含删除当前点的状态都遍历到。

#include <stdio.h>
#include <bits/stdc++.h>
#define fst first
#define sed second
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int N = 110;
int n, m, st, ed;
vector<int> e[N];
int dfn[N], low[N], num, idx; //节点编号 子树能到的最小编号 强连通分量数
bool vis[N], slv[N]; //栈内节点 已处理节点
int stk[N], tot;
int ans;

void Tarjan(int x, int *blo) //结果保存在blo内
{
	dfn[x] = low[x] = ++idx;
	stk[++tot] = x, vis[x] = 1;
	for (int y : e[x])
		if (!dfn[y])
			Tarjan(y, blo), low[x] = min(low[x], low[y]);
		else if (vis[y])
			low[x] = min(low[x], low[y]);
	if (low[x] == dfn[x])
	{
		int y;
		++num;
		do 
		{
			y = stk[tot--], vis[y] = 0;
			blo[y] = num;
		} while (y != x);
	}
}
void solve(int del) //删除了del节点后
{
	int blo[N]; //强连通最小编号 每层独立
	num = idx = 0;
	memset(dfn, 0, sizeof(dfn));
	memset(low, 0, sizeof(low));
	Tarjan(st, blo); //从起点开始得到强连通分量
	if (blo[st] != blo[ed]) //起点终点不是强连通则无法过去再返回
		return ;
	slv[del] = 1; //删除当前节点后依然满足则标记以后不再处理 因为接下来的递归会把包含删除当前节点的所有状态全部处理到
	int cnt = 0; //和起点在同一强连通内的点数
	for (int i = 1; i <= n; ++i)
		if (blo[i] == blo[st])
			++cnt;
	ans = min(ans, cnt);
	for (int i = 1; i <= n; ++i) //尝试删除每个点并递归处理
		if (i != st && i != ed && !slv[i]) //不删除起点终点
		{
			vector<int> cp = e[i]; //拷贝当前节点的边
			e[i].clear(); //并删除
			solve(i); //递归处理
			e[i] = cp; //还原
		}
}
int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int T;
	cin >> T;
	while (T--)
	{
		cin >> n >> m >> st >> ed;
		for (int i = 1; i <= n; ++i)
			e[i].clear();
		for (int i = 0; i < m; ++i)
		{
			int u, v;
			scanf("%d%d", &u, &v);
			e[u].push_back(v);
		}
		ans = INF;
		memset(slv, 0, sizeof(slv));
		solve(0);
		cout << ans - 2 << endl; //减去起点终点
	}

	return 0;
}
河南省第十一届ACM程序设计大赛榜单 河南省第十一届ACM程序设计竞赛榜单 河南省第十一届ACM程序设计竞赛榜单 河南省第十一届ACM程序设计竞赛榜单 立即下载

相关推荐

ACM程序设计大赛试题及解析

ACM竞赛的经典试题及解析,从经典中领悟编程的方法技巧,领悟编程的精华...

河南省 第十一届 ACM 省赛 试题

A B D F H 五道水题 都签了就是稳银A. 计划日B. 治安管理C. 山区修路D. 求Xf+闭包 E. 物流配送F.Gene mutationG. CheckpointsH. Attack City and Capture TerrioryI. Image Recognition    J.Jigsaw Puzzle...

Zeolim的博客 3975

历年acm程序设计试题与解答.rar

历年acm程序设计试题与解答

河南省第十一届ACM大学生程序设计竞赛题目

河南省第十一届ACM大学生程序设计竞赛题目 A、计划日 B、治安管理 C、山区修路 E、物流配送 F、Gene mutation G、Checkpoints H、Attack City Capture Territory I、Image Recognition J、Jigsaw Puzzle PS:D题缺失 ...

职业炮灰的博客 7759

RAW、RGB、YUV图像格式的采样与存储原理详解

本文详细解析了RAW、RGB和YUV三种核心图像格式的采样与存储原理。RAW是传感器原始数据,信息完整但需后期处理;RGB直接对应显示,直观但数据量大;YUV通过亮色分离与色度下采样,在保证观感的前提下大幅提升传输与存储效率,是视频编码与流媒体的主流格式。理解其差异是图像处理与视频开发的基础。

e4f5g6h7的博客 516

【C++】 详解 lower_bound 和 upper_bound 函数(看不懂来捶我!!!)

这两个函数是我在 LeetCode 上做题见到,看到不熟悉的函数 lower_bound 和 upper_bound让我感觉很难受,于是在C++ 官网去学习,例子就一个是最基础的,我看明白了。虽然是两个函数的接口就两个,但是有时候看别人使用的时候,里面参数还可以放不同的仿函数,我懵逼了。就去网上搜,但是大家讲解的都是它的第一个接口。我只能再把文档一遍一遍过,代码一遍遍的尝试,调试。最终通过查阅资料将其总结如下。

weixin_45031801的博客 9万+

治安管理 - 第十一届河南省ACM省赛题解

治安管理 - 第十一届河南省ACM省赛题解 judge:第十一届河南省ACM省赛题 时间限制: 3 Sec 内存限制: 128 MB 题目描述 SZ市是中国改革开放建立的经济特区,是中国改革开放的窗口,已发展为有一定影响力的国际化城市,创造了举世瞩目的“SZ速度”。SZ市海、陆、空、铁口岸俱全,是中国拥有口岸数量最多、出入境人员最多、车流量最大的口岸城市. 为了维护SZ经济特区社会治安秩序,保障...

画船听雨眠 520

强化学习 reward 曲线可视化:从基础绘制到顶刊级对比分析

本文详细介绍了强化学习reward曲线的可视化方法,从基础绘制到顶刊级对比分析。通过matplotlib和seaborn的实战示例,展示了如何优化曲线图的视觉效果,包括多实验对比、置信区间添加和分面图应用。文章还分享了顶刊级图表的进阶技巧,如字体排版、颜色选择和关键标注,帮助研究者提升论文图表质量。

weixin_29096377的博客 270

问题 : A. 计划日

2018年河南省省赛的第一题,这个算是一道水体。题目描述 为什么花那么多时间、精力还是学不好学不通,如何把握各科目的重难点,期中和期末如何梳理本学期各知识点及内部联系……在孩子学习的过程中,我们该如何帮助孩子快速提高成绩呢? 打造名校进阶计划,让孩子会学习、会考试,实现名校梦想! Dr.Kong, 作为一名从教多年的老师,跟踪了大量成绩好的学生,发现他们的学习习惯非常规律,有方法、有计...

dai_ma_dong的博客 358

别再乱删文件了!修复Print Spooler服务自动停止的3个关键检查点(附Win10/Win11实测)

本文深入解析Windows系统中Print Spooler服务自动停止的常见原因及修复方法。从第三方驱动冲突、权限与服务依赖关系到打印队列积压,提供3个关键检查点的详细排查步骤,帮助用户彻底解决打印服务异常问题,适用于Win10/Win11系统。

weixin_31569671的博客 675

正确使用 SGLang 和 vLLM 中为 Qwen3 开启工具调用能力的完整指南

本文介绍了在vLLM和SGLang框架中部署Qwen3大模型并启用工具调用功能的方法。主要内容包括:vLLM中需配置--tool-call-parser hermes和--enable-auto-tool-choice参数,SGLang中使用--tool-call-parser qwen25参数;提供了完整的部署命令示例和测试工具调用的curl请求模板;对比了两个框架的关键参数差异;总结了常见问题解决方案和性能优化建议。正确配置后,Qwen3能够充分发挥其外部工具调用能力,为AI应用开发提供支持。

Ven%的博客 4451

第四届河南省程序设计大赛 - 部分题解

Substring 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 You are given a string input. You are to find the longest substring of input such that the reversal of the substring is also a substrin

Never say never 1321

FLUKA软件在Ubuntu的安装指南(亲测有效)

FLUKA其强大的蒙特卡洛模拟能力使得用户能够模拟复杂的辐射相互作用过程

chencheng1127的博客 2887

河南省第九届ACM程序设计竞赛 部分题解

A 表达式求值 <逆波兰> #include <stdio.h> #include <bits/stdc++.h> #define fst first #define sed second using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const ll LINF =...

CaprYang的博客 1325

TriCore架构-基于TC397的启动流程

TC397芯片的启动流程分为三个关键阶段:固件启动(BootFirmware)、Bootloader引导和应用程序启动。BootFirmware作为硬件信任根,包含SSW基础初始化、CHSW自检和BSL应急刷写通道。Bootloader承担安全验证和程序引导功能,支持双分区(AB-SWAP)和双引导方案(PBL/SBL)。安全启动通过校验机制确保软件完整性,提供三种可选技术方案。应用程序启动阶段实现软件双分区管理,支持SOTA更新。整个流程体现了汽车电子系统的安全设计理念,通过硬件级保护与软件验证相结合确保

xiandang8023的博客 987

手把手教你学Simulink——基于Simulink的隔离型DC-DC全桥变换器移相控制建模示例

本文详细介绍了基于Simulink的全桥移相变换器(PSFB)建模与控制方法。首先分析了全桥移相拓扑在大功率应用中的优势,包括ZVS实现、高频化和小型化特点。随后给出了具体设计参数和移相控制策略,采用电压外环+移相角内环的双闭环控制架构。文章重点演示了Simulink建模步骤,包括主电路搭建、移相PWM生成和PI控制器设计,并通过满载稳态、负载阶跃和轻载测试三种场景验证了系统性能。最后总结了工程实践要点,提出自适应控制等扩展方向,强调移相控制通过精准时间管理实现高效能量转换的核心价值。

MHD0815的博客 261

河南省第三届ACM/ICPC大学生程序设计竞赛题解

河南省第三届省赛 感觉这一套题挺简单的,大部分都是模拟题,最难的就是线段树了。每题都是多组数据输入,然而题目并没有说明。 A 房间安排 区间问题,离开的那一天房间数设成负的,然后按日期进行排序,日期相同的话房间数小的放前面(先退房),循环找最大值即可。 感觉和2020河南ccpc省赛发通知差不多。 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int

海马有力量的博客 791

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...

2020年河南省CCPC大学生程序设计竞赛————I.太阳爆炸

题目链接 http://acm.zzuli.edu.cn/problem.php?id=2698 思路       一个经典的概率题,n个子弹,每个子弹打中的概率为p,打死目标至少需要k枚子弹,问打中的概率是多少,在本题,p是((r1+r)∗(r1+r))/(r2∗r2)((r1+r)*(r1+r))/(r2*r2)((r1+r)∗(r1+r))/(r2∗r2),k是 (h+a−1)/a(h+a-1)/a(h+a−1)/a(实现向上取整),那么如果

洞·爺·湖的博客 582

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

“玲珑杯”郑州轻工业学院第九届ACM程序设计大赛圆满结束

“玲珑杯”郑州轻工业学院第九届ACM程序设计大赛圆满结束,玲珑OJ官网博客奉上大赛题目,以及对应题解!

lonlife_acm的博客 968

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

河南第十二届ICPC参赛小记

河南省第十届ICPC参赛感受 第一天中午到比赛点报道,没有午餐券差评。下午热身赛,hxw巨巨和我们说,热身赛就是试一试环境,然后我还真信了,热身赛 != 签到题 最后,未来酒店好评,奖牌尺寸好评。 ...

zhmeng 395

郑州大学“战疫杯”大学生程序设计在线邀请赛(2)(C++题解+详细思路)2022年5月10日

目录 1 公司的Logo 2 解封日期 3 语音设备是否正常? 1 公司的Logo 为了感谢河南省八六三软件有限公司对战疫杯ACM在线程序设计竞赛的大力支持,小Y决定为公司制作个logo。 logo通常要用在各种不同的场景,因此logo的尺寸必须是可变的。现给你原始的logo,以及其改变尺寸的例子,你能寻找规律并输出任意缩放后的logo图案吗? 原始logo: ### ### ### # # # # ### ### ### # # # # # ### ### ### 将

m0_61409183的博客 3048

河南省第十一届ACM总结

今天在信阳师范打完了ACM。有点遗憾,差一题拿金吧。从去年的打铁到今年的银牌,也成长了很多,也学会了很多东西,感谢我的队友带我拿银。都尽力了,有点小遗憾,但是不后悔吧。没有过多的罚时,只是在时间分配上还不是很合理。我不知道我还能不能再打一次,如果可以,希望能拿金吧。今年也出了一个新的突破题吧。是我刷往年省赛没有碰到的过。可能去年出了,但是找不到提交的地方。简单说两个题吧。H题  好像是博弈论,队友...

Evildoer_llc的博客 774

河南省第十一届acm G- Checkpoints

As a landlocked country in central and southern Africa , the political situation has been relatively stable since the implementation of multi-party elections in ZBA in 1991. But the ZBA parliament pas...

xiaozheng的博客 860

第十一届山东省大学生程序设计竞赛 K Piggy Calculator 笛卡尔树+倍增

link 题意:定义运算符号x(i), A x(i) B =(A+B)*i,i越大优先级越大,其次从左往右。,给定一个只有该符号的式子,q次询问求区间表达式的值。 题解:对符号建笛卡尔树,区间操作转化为在树上跑链的操作(要先维护前驱结点),存储一些信息后倍增就可以了。 #include<bits/stdc++.h> #define mp make_pair #define pb push_back #define SZ(x) (int)(x.size()) #define all(x) x.

qq_43914084的博客 524
上一篇: “卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 题解
下一篇: 郑州轻工业大学“CCPC2019-河南省赛”选拔赛(2) 部分题解
CaprYang
博客等级 码龄8年 147粉丝 277原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值