USACO section 3.1 Contact(AC自动机)

13.5元低成本模拟乘法器AD633JN实测:手把手教你避开那些坑 本文以13.5元低成本模拟乘法器AD633JN为核心,通过实测搭建混沌电路的全过程,手把手教你避开电源灌流、芯片发烫、输入偏置等常见陷阱。文章详细剖析了AD633JN的比例因子、输入阻抗等关键特性,并提供了正确的电源去耦、信号耦合及稳定性布线方案,旨在帮助硬件爱好者与工程师高效利用这款高性价比芯片,节省调试时间与成本。 阅读详情
Contact
IOI'98

The cows have developed a new interest in scanning the universe outside their farm with radiotelescopes. Recently, they noticed a very curious microwave pulsing emission sent right from the centre of the galaxy. They wish to know if the emission is transmitted by some extraterrestrial form of intelligent life or if it is nothing but the usual heartbeat of the stars.

Help the cows to find the Truth by providing a tool to analyze bit patterns in the files they record. They are seeking bit patterns of lengthA through B inclusive (1 <= A <= B <= 12) that repeat themselves most often in each day's data file. They are looking for the patterns that repeat themselves most often. An input limit tells how many of the most frequent patterns to output.

Pattern occurrences may overlap, and only patterns that occur at least once are taken into account.

PROGRAM NAME: contact

INPUT FORMAT

 

Line 1:Three space-separated integers: A, B, N; (1 <= N < 50)
Lines 2 and beyond:A sequence of as many as 200,000 characters, all 0 or 1; the characters are presented 80 per line, except potentially the last line.

SAMPLE INPUT (file contact.in)

2 4 10
01010010010001000111101100001010011001111000010010011110010000000

In this example, pattern 100 occurs 12 times, and pattern 1000 occurs 5 times. The most frequent pattern is 00, with 23 occurrences.

OUTPUT FORMAT

Lines that list the N highest frequencies (in descending order of frequency) along with the patterns that occur in those frequencies. Order those patterns by shortest-to-longest and increasing binary number for those of the same frequency. If fewer than N highest frequencies are available, print only those that are.

Print the frequency alone by itself on a line. Then print the actual patterns space separated, six to a line (unless fewer than six remain).

SAMPLE OUTPUT (file contact.out)

23
00
15
01 10
12
100
11
11 000 001
10
010
8
0100
7
0010 1001
6
111 0000
5
011 110 1000
4
0001 0011 1100


 

思路:用AC自动机匹配所有字串的个数,然后拍序,按要求输出。自动机里的插入用深搜枚举题目要求的长度。

           然后匹配,在深搜一遍吧结果存到类数组中,排序输出即可。

失误点:原先居然用KMP,毫无疑问死了,很坑人的是此题中有不够的输出就结束,并且个数0的不输出,结果WA了一次

效率还是很好的,

   Test 1: TEST OK [0.000 secs, 3888 KB]

   Test 2: TEST OK [0.000 secs, 3888 KB]

   Test 3: TEST OK [0.032 secs, 4020 KB]

   Test 4: TEST OK [0.000 secs, 3888 KB]

   Test 5: TEST OK [0.065 secs, 4020 KB]

   Test 6: TEST OK [0.097 secs, 3888 KB]

   Test 7: TEST OK [0.162 secs, 4020 KB]

All tests OK.

 

具体看代码:

 

 

/*
ID:nealgav1
LANG:C++
PROG:contact
*/
#include<fstream>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
ifstream cin("contact.in");
ofstream cout("contact.out");
char s[201000];
const int mm=16384;///最大的个数
class node
{public:
  node*fail;
  node*next[2];
  int num;
  node(){fail=NULL;memset(next,NULL,sizeof(next));num=0;}
};
class AC
{
  public:
  char s[14];
  int num;
}ans[mm];
int pos;
int _min,_max;
/**
void insert(node*root,int len)
{  node*p=root;
  for(int i=0;i<len;i++)
  {
    int index=0;
    if(p->next[index]==NULL)
    p->next[index]=new node();
    p=p->next[index];i++;
  }
  p->num++;
}*/
/**使用深搜插入所有可能的情况,其实就是建个字典树啦*/
void insert(node*root,int num,int dep)
{
  node*p=root;
  if(dep>_max)return;
  if(p->next[num]==NULL)
  p->next[num]=new node();
  //if(dep>=_min)p->num++;
  insert(p->next[num],0,dep+1);
  insert(p->next[num],1,dep+1);
}
///构造失败指针
void AC_anto(node*root)
{
  node*temp,*p;
  root->fail=NULL;
  queue<node*>Q;
  Q.push(root);
  while(!Q.empty())
  {
    temp=Q.front();Q.pop();
    for(int i=0;i<2;i++)
    {
      if(temp->next[i]!=NULL)
      {
        p=temp->fail;
        while(p!=NULL)
        {
          if(p->next[i]!=NULL)
          {
            temp->next[i]->fail=p->next[i];break;
          }p=p->fail;
        }
        if(p==NULL)
        temp->next[i]->fail=root;
        Q.push(temp->next[i]);
      }
    }
  }
}
///算出所有匹配情况的个数
int query(node*root,char s[])
{ AC_anto(root);
  int i=0;
  int cnt=0;
  node*p=root;
  while(s[i]!='\0')
  {
    int index=s[i]-'0';
    while(p->next[index]==NULL&&p!=root)
    p=p->fail;
    p=p->next[index];
    if(p==NULL)p=root;
    node*temp=p;
    while(temp!=root)
    {
      temp->num++;
      temp=temp->fail;
    }
    i++;
  }
  return cnt;
}
///从字典树中转化为类数组
void _data(node*root,int num,int dep)
{
  node*p=root;
  s[dep-1]=num+'0';
  //if(p->next[num]==NULL)
  //p->next[num]=new node();
  if(dep>_max)return;

  if(dep>=_min)
  {
   //cout<<p->next[num]->num<<"\n";
   s[dep]='\0';
   //cout<<s<<"\n";
   ///为什么是p->next[num]->num?不解释
   ans[pos].num=p->next[num]->num;
   strcpy(ans[pos].s,s);
   pos++;
  }
  _data(p->next[num],0,dep+1);
  _data(p->next[num],1,dep+1);
}
bool cmp(AC a,AC b)
{ if(a.num==b.num)
  { int c=strlen(a.s),d=strlen(b.s);
    if(c==d)
    return strcmp(a.s,b.s)<0;
    else return c<d;
  }
  return a.num>b.num;
}
int main()
{ int m;
  cin>>_min>>_max>>m;
  char kk[88];
  int lens=0;
  while(cin>>kk)
  {
    strcpy(s+lens,kk);
    lens=strlen(s);
  }
  pos=0;
  node*root=new node();
  insert(root,0,1);insert(root,1,1);
  query(root,s);
  _data(root,0,1);_data(root,1,1);
  sort(ans,ans+pos,cmp);
  cout<<ans[0].num<<"\n"<<ans[0].s;
  int len=0;
  int past=1;///每行保证输出6个
  for(int i=1;i<pos&&ans[i].num/**个数需要大于0才能输出*/;i++)
  {
    if(ans[i].num==ans[i-1].num)
    { if(past%6==0)cout<<"\n"<<ans[i].s;
      else
      cout<<" "<<ans[i].s;
      ++past;
    }
    else
    { ++len;if(len==m)break;
      cout<<"\n"<<ans[i].num<<"\n"<<ans[i].s;past=1;
    }

  }
  cout<<"\n";
}


 

Contact
Russ Cox

For this problem, we keep track of every bit sequence we see. We could use the bit sequence itself as an index into a table of frequencies, but that would not distinguish between the 2-bit sequence "10" and the 4-bit sequence "0010". To solve this, we always add a 1 to the beginning of the number, so "10" becomes "110" and "0010" becomes "10010".

After reading the entire bit string, we sort the frequency table and walk through it to print out the top sequences.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>

#define MAXBITS 12
#define MAXSEQ (1<<(MAXBITS+1))

typedef struct Seq Seq;
struct Seq {
    unsigned bits;
    int count;
};

Seq seq[MAXSEQ];

/* increment the count for the n-bit sequence "bits" */
void
addseq(unsigned bits, int n)
{
    bits &= (1<<n)-1;
    bits |= 1<<n;
    assert(seq[bits].bits == bits);
    seq[bits].count++;
}

/* print the bit sequence, decoding the 1<<n stuff */
/* recurse to print the bits most significant bit first */
void
printbits(FILE *fout, unsigned bits)
{
    assert(bits >= 1);
    if(bits == 1)	/* zero-bit sequence */
	return;

    printbits(fout, bits>>1);
    fprintf(fout, "%d", bits&1);
}

int
seqcmp(const void *va, const void *vb)
{
    Seq *a, *b;

    a = (Seq*)va;
    b = (Seq*)vb;

    /* big counts first */
    if(a->count < b->count)
	return 1;
    if(a->count > b->count)
	return -1;

    /* same count: small numbers first */
    if(a->bits < b->bits)
	return -1;
    if(a->bits > b->bits)
	return 1;

    return 0;
}

void
main(void)
{
    FILE *fin, *fout;
    int i, a, b, n, nbit, c, j, k;
    unsigned bit;
    char *sep;

    fin = fopen("contact.in", "r");
    fout = fopen("contact.out", "w");
    assert(fin != NULL && fout != NULL);

    nbit = 0;
    bit = 0;

    for(i=0; i<=MAXBITS; i++)
	for(j=0; j<(1<<i); j++)
	    seq[(1<<i) | j].bits = (1<<i) | j;

    fscanf(fin, "%d %d %d", &a, &b, &n);

    while((c = getc(fin)) != EOF) {
	if(c != '0' && c != '1')
	    continue;

	bit <<= 1;
	if(c == '1')
	    bit |= 1;

	if(nbit < b)
	    nbit++;

	for(i=a; i<=nbit; i++)
	    addseq(bit, i);
    }

    qsort(seq, MAXSEQ, sizeof(Seq), seqcmp);

    /* print top n frequencies for number of bits between a and b */
    j = 0;
    for(i=0; i<n && j < MAXSEQ; i++) {
	if(seq[j].count == 0)
	    break;

	c = seq[j].count;
	fprintf(fout, "%d\n", c);

	/* print all entries with frequency c */
	sep = "";
	for(k=0; seq[j].count == c; j++, k++) {
	    fprintf(fout, sep);
	    printbits(fout, seq[j].bits);
	    if(k%6 == 5)
		sep = "\n";
	    else
		sep = " ";
	}
	fprintf(fout, "\n");
    }

    exit(0);
}


 

 

 

 

 

 

低速信号设计之 LPC 篇 摘要:LPC总线作为服务器低速信号设计的关键技术,在BIOS芯片连接、Super I/O芯片控制和嵌入式管理等方面发挥着重要作用。其采用33MHz时钟频率和4位并行传输机制,理论速率达16.5MB/s。设计时需重点关注布线长度(建议<10cm)、信号完整性(45°走线、合理层间隔离)和过孔优化等要点。典型应用案例表明,通过规范设计可确保在工业控制等复杂环境中稳定工作。LPC总线凭借低成本、低引脚数和良好兼容性,仍是服务器低速外设连接的重要解决方案。 阅读详情

相关推荐

LVGL按键触发回调函数的完整流程

如果是我的话我会怎么写:例如按键,我先定义一个结构体里面包含ID,事件名等和回调函数的链表节点结构体里面有具体函数的指针,也有指向下一个回调函数的链表节点的指针,初始化一个结构体变量的,通过BSP层来驱动触摸屏幕,再通过中间层与被按下时就会判断是长按还是短按还是其他,改变变量的事件例如:改成长按,生成事件包后再注册你长按的回调函数链表节点,再根据变量的事件到链表中遍历最后实现功能.父容器监听所有子列表项的点击事件,无需为每个列表项单独注册回调。的回调,打印所有事件日志,观察事件触发顺序。

solomonzw的博客 3239

洛谷 P3041 [USACO12JAN]Video Game G(AC自动机+DP)

题目不难想到要应用 DP,建好 AC自动机之后 dp[i][j] 表示到第i 个字符标号为j 的节点时最大的连击数是多少 dp 方程也不难想 由于本人实力欠缺,dp 数组的初始化为什么要设为 -1 没想明白,先给自己挖个坑 QAQ const int N=300+5; int n,m; int i,j,k; char s[N]; int t[N][3],tot=0; int vis[N],f[N]; int dp[(int)1e3+5...

C_Dreamy的博客 501

【编译原理】LL(1)分析方法 生成语法树(c++实现)

基本流程 输入文法->消除左递归->提取左公共因子->求FIRST集->求FOLLOW集->LL(1)分析表->表驱动的预测语法分析过程->输出语法分析结果和语法树

qq_43417265的博客 1万+

【USACO】AC自动机

Description 对,这就是裸的AC自动机。要求:在规定时间内统计出模版字符串在文本中出现的次数。 Input 第一行:模版字符串的个数N。第2->N+1行:N个字符串。(每个模版字符串的长度<=50)第N+2行:一行很长的字符串。长的很。(使用AC自动机能在1s内计算出) ...

weixin_30273763的博客 138

单细胞分析实录(12): 如何推断肿瘤细胞

公众号后台回复20210418,获取本文的测试数据 1. 回顾 前面我已经讲解了inferCNV的基本用法,这一节继续学习:如何推断肿瘤细胞。本文应该是到目前为止,全网最详细的帖子(之一)。 关于肿瘤细胞的推断,比如研究上皮细胞起源的肿瘤,我见过的一些做法如下 简单粗暴型:将来源肿瘤病灶的所有上皮细胞都看成是肿瘤细胞 看CNV:将来源于肿瘤病灶的上皮细胞和参考细胞比较,将那些有明显CNV的细胞看作肿瘤细胞 看表达特征:考虑到有的肿瘤细胞可能没有CNV层面的变化,有的文章会根据肿瘤与正常的表达谱来区分是.

TOP生物信息 1万+

EXCEL VBA 导出高清图片方法

EXCEL VBA 导出高清图片方法 将EXCEL表格内容另存为图片的方法有很多种,简单的比如“复制为图片格式并另存”,“打印成XPS”等等,本文着重的是利用VBA实现的方法。 该方法适合用于中大型图文表格输出为图片格式,方便传阅,在office2010及以上版本最为流畅。 具体看代码: Sub printA4() Dim rng As Range '定义截图范围变量 'm = 20...

nfser_burn7的专栏 1万+

【USACO3.1.5】联系 位运算/KMP/AC自动机

吐槽:这题的输出真恶心恶心恶心恶心恶心*10000…… TLE方法: 暴力KMP,把所有的100 101 111之类的方案,全部和原串匹配一次…… 然后排序输出。 Compiling... Compile: OK Executing... Test 1: TEST OK [0.008 secs, 9424 KB] Test 2: TEST OK [0.003 sec

ACMer不要报考高校代码为13627的移通学院! 942

利用正射影像对斜射图像进行反向投影

因此,RANSAC算法可以通过计算inliners和outliers的数量来评估估计关键点的质量,确保与其他点不一致的点不会在Homography矩阵中被估计。然后,它通过考虑关键点周围区域中图像的梯度大小和方向来计算每个提取的关键点的方向。由于单应性矩阵的计算可能会受到两个图像中异常值的存在的影响,这将导致矩阵的不正确估计并导致沿图像的对准和映射不良。FLANN匹配器的方法基于K近邻搜索的概念,即从图像中找到k个近邻。找到相机在正射影像坐标系中的位置并在正射影像上绘制重叠区域的边界框。

gis收藏家的博客 1511

3.1.5 Contact

ContactIOI'98 The cows have developed a new interest in scanning the universe outside their farm with radiotelescopes. Recently, they noticed a very curious microwave pulsing emission sent right from...

weixin_30725467的博客 1604

110、3A 端到端调试:从 ISP register dump 到主观画质的完整调试流程

文章摘要 本文分享了ISP 3A(AE/AWB/AF)端到端调试的实战经验,通过具体案例解析常见问题排查方法。从硬件链路确认、寄存器dump分析、算法闭环验证到主观画质调优,提出了一套系统化调试流程。重点包括:如何通过示波器和寄存器抓包定位时序问题,AWB调试中black level校正的关键作用,AF闭环控制中hall传感器反馈的重要性,以及算法与硬件联调的"三板斧"方法论。作者强调3A调试本质是系统工程,需结合物理层信号测量、数据通路验证和算法状态跟踪,避免陷入局部优化陷阱。

sundong_81的博客 57

【ComfyUI】SD1.5 + ControlNet 边缘检测融合动漫转真人

本文介绍了一个基于ComfyUI的动漫转真人图像生成工作流,通过多模型协同实现高质量的二次元图像转换。该工作流集成了Canny线稿预处理、ControlNet结构控制、VAE编码解码和人脸精细化处理等核心环节,采用majicmixRealistic_v7作为主模型,配合yolov8、SAM等辅助模型。整个流程包含11个标准化步骤,从图像输入、预处理到最终超分输出,通过ControlNet引导和CLIP语义控制确保生成图像的写实感和结构准确性,特别针对人脸区域进行专业优化,最终可输出高分辨率写实人像。

Mr数据杨 1124

USACO Section 3.1 Contact - AC自动机..

赤果果的AC自动机~并且比较阉割~比完整的AC自动机好写多了..  首先构造一个完全二叉树..根据题目要求构造13层..根节点为1,根的左孩子为2,右孩子为3..依次类推..那么一个节点P的父亲为P/2...左孩子为P*2...右孩子为P*2+1..所以整棵树用一维数组来存就okl了...这棵树转化为字典数..可以看成..1是超级节点..2是'0'...3是'1'..4是'00'..5是'01'

zzyzzy12 1846

NVIDIA - 人形机器人扼要

人形机器人是仿照人类外形设计的通用双足机器人,旨在与人类并肩工作,提高生产效率。它们能够学习和执行各种任务,如抓取物体、移动集装箱、装卸箱子等。

机器人控制与仿真应用 1288

USACO题解——Section 1.2——Greedy Gift Givers

题目地址:https://train.usaco.org/usacoprob2?a=BGOMbIJsisd&S=gift1。 或者我的OJ网站,http://47.110.135.197/problem.php?id=5184。 题目 A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange ...

努力中的老周的专栏 7657

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[USACO Training] Section 1.4

这一章的主题是枚举。 搜索 时间 空间 何时使用 DFS O(c^k) O(k) 必须搜索整棵树,知道解所在的层数,或者不需要层次最浅的解 BFS O(c^d) O(c^d) 知道解所在的层次很浅,或者需要最浅的解 DFS+ID O(c^d) O(d) 想要BFS,却没有足够的空间,并且能承受以时间换空间 c是每层做出的选择的数目 d是解的深度 k是搜索的深度 d <= k

chrt's blog 830

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

USACO Training Section 1.3 Calf Flac 解题报告&AC代码

解题报告: 主要方法是生长法,考虑每一位的左右各有多长的回文串,输出最长的那个,比较好想……不过要注意区分字串的奇偶。 其他实现细节看代码里的注释吧…… AC代码: /* ID: yuanmz91 PROG: calfflac LANG: C++ */ #include #include #include using namespace std; const int MAX_LEN

堆放杂物 6821

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

USACO section 1.1 C++题解

USACO section1.1题解

箜瑟_qi的博客 1296

USACO题解——Section 1.2——Your Ride Is Here

题目地址:https://train.usaco.org/usacoprob2?a=g6aKKOrpotS&S=ride。估计这个网页需要登录才能看到。 我自己的OJ上题目链接是http://47.110.135.197/problem.php?id=4362。 题意 就是输入两个不超过 6 长度的全部由大写字符构成字符串,然后按照某种规定(A变1,B变2,...,Z变26),计算两...

努力中的老周的专栏 7530

P1208 [USACO1.3] 混合牛奶 Mixing Milk【贪心】

由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。Marry 乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格可能相同。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天 Marry 乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。给出 Marry 乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。

海岛Blog 700

USACO section 1.5.3 SuperPrime Rib

USACO section 1.5.3 SuperPrime Rib 1. 从数学的角度: 1.首位只能是质数2 3 5 7 2.其余位只能是1,3,7,9 3.若n=1,直接输出2,3,5 7 直接DFS 1~9,加入当前数末尾,并判断是不是素数,是则递归...

dayong9372的博客 173

USACO Training Section 1.2 [USACO1.2]方块转换 Transformations

题目描述 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 1:转90度:图案按顺时针转90度。 2:转180度:图案按顺时针转180度。 3:转270度:图案按顺时针转270度。 4:反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。 5:组合:图案在水平方向翻转,然后...

日拱一卒,功不唐捐 2849

USACO 之 Section 1.1 Ad Hoc Problems

Your Ride Is Here

JmingS 752

USACO题解——Section 1.2——Friday the Thirteenth

题目地址:https://train.usaco.org/usacoprob2?a=ddY7pfROLpX&S=friday。 或者我的OJ,http://47.110.135.197/problem.php?id=5185。 题目 Is Friday the 13th really an unusual event? That is, does the 13th of the m...

努力中的老周的专栏 7804

USACO-Section 3.1 Stamps(DP)

这种简单的dp直接能想到做法 提交的代码没有判断i<2000003也AC,没有越界,不过感觉这样更严谨

idealism_xxm的专栏 569

洛谷 P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers

题目描述 对于一群(NP个)要互送礼物的朋友,GY要确定每个人送出的钱比收到的多多少。在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。然而,在任何一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人有准备了较多的钱。给出一群朋友,没有人的名字会长于 14 字符,给出每个人将花在送礼上的钱,和将收到他的礼物的人的列表,请确定每个...

anshuo0835的博客 291

Usaco Training Section 1.6 Superprime Rib

让你求n位数中的超级素数(sp)。(如7331,7331、733、73、7都是素数,7331就是sp) 这题我写了三个版本。第一个版本是线性筛,求出所有素数,判断前缀是否为素数。但打完自测时发现会超时,换了第二个版本。第二个版本就是暴力。暴力枚举所有n位数,再判断。打了一半突然想到第三种做法。因为sp有一个性质:一个sp的前缀肯定也是sp。于是我们可以用构造的方法。一位的sp只有2,3,5,7。...

Monster的博客 316
上一篇: USACO section 3.1 Stamps(dp)
下一篇: USACO section 3.2 Factorials(dp)
剑不飞
博客等级 码龄15年 86粉丝 505原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值