AtCoder Beginner Contest 412

题解:洛谷 AT_abc412_a [ABC412A] Task Failed Successfully 等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。求他实际完成任务数超过目标的天数。项任务,而实际完成了。本文分享的必刷题目是从。 阅读详情

比赛链接如下:AtCoder Beginner Contest 412 - AtCoder 

5/7 讲解:

A - Task Failed Successfully

Problem Statement

Takahashi set task goals for N days.

He aimed to complete Ai​ tasks on day i(1≤i≤N)i(1≤i≤N), and actually completed Bi tasks.

Find the number of days when he completed more tasks than his goal.

Constraints

  • 1≤N≤100
  • 1≤Ai,Bi≤100
  • All input values are integers.

 解题思路:统计Bi大于Ai的数量

#include<bits/stdc++.h>
using namespace std;
int main(){
  int n; cin>>n;
  int cnt=0;
  for(int i=0;i<n;i++){
    int a,b; cin>>a>>b;
    if(b>a) cnt++;
  }
  cout<<cnt<<endl;
  return 0;
}

 B - Precondition

Problem Statement

You are given strings S and TT consisting of lowercase and uppercase English letters.

Determine whether the string S satisfies the following condition:

  • Every uppercase letter in S that is not at the beginning is immediately preceded by a character contained in T. More formally, for all integers ii such that 2≤i≤∣S∣, if the ii-th character of S is uppercase, then the (i−1)-th character of S is contained in T.

Constraints

  • Each of S and TT is a string consisting of lowercase and uppercase English letters with length between 1 and 100, inclusive.

解题思路:顺次遍历字符串S,若当前字符S[i]是大写, 就查看S[i-1]是否在字符串T中 

#include <bits/stdc++.h>
using namespace std;
int main() {
    string s, t;
    cin >> s >> t;
    set<char> a;
    for (char c : t) a.insert(c);
    for (size_t i = 1; i < s.size(); i++) {
        if (isupper(static_cast<unsigned char>(s[i]))) {
            if (a.find(s[i - 1]) == a.end()) {
                cout << "No" << endl;
                return 0;
            }
        }
    }
    cout << "Yes" << endl;
    return 0;
}

C - Giant Domino 

 

Problem Statement

There are N dominoes numbered from 1 to N. The size of domino ii is Si​.
Consider arranging some dominoes in a line from left to right and then toppling them. When domino i falls to the right, if the size of the domino placed immediately to the right of domino i is at most 2Si​, then that domino also falls to the right.

You decided to choose two or more dominoes and arrange them in a line from left to right. The arrangement of dominoes must satisfy the following conditions:

  • The leftmost domino is domino 1.
  • The rightmost domino is domino N
  • When only domino 11 is toppled to the right, domino N eventually falls to the right as well.

Does an arrangement of dominoes satisfying the conditions exist? If it exists, what is the minimum number of dominoes that need to be arranged?

You are given T test cases, solve the problem for each of them.

Constraints

  • 1≤T≤10^5
  • 2≤N≤2×10^5
  • 1≤Si≤10^9
  • The sum of NN over all test cases is at most 2×10^5
  • All input values are integers.

解题思路:

我们把每个多米诺i看作图中的一个节点,若S[j]<=2*S[i]则从i->j 有一条有向边
由于 N 最多 2*10^5,完全显式存边会爆炸,因此我们把所有未访问的节点放入一个set<pair<size,i>>
每次从队列中取出节点 u,计算 a = 2·S[u],在 set 里一次性"割去"所有 size≤a的节点v,标记它们距离并入队
最后看 dist[n],若仍是-1则不可达,输出-1,否则输出到达n的最小节点数.

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
  int t; cin>>t;
  while(t--){
    int n; cin>>n;
    vector<ll> s(n+1);
    for(int i=1;i<=n;i++) cin>>s[i];
    vector<int> d(n+1,-1);
    d[1]=1;
    set<pair<ll,int>> st;
    for(int i=2;i<=n;i++) st.insert({s[i],i});
    queue<int> q;
    q.push(1);
    while(!q.empty()){
      int u=q.front(); q.pop();
      ll a=2LL*s[u];
      auto b=st.upper_bound({a,INT_MAX});
      for(auto x=st.begin();x!=b;){
        int v=x->second;
        d[v]=d[u]+1;
        q.push(v);
        x=st.erase(x);
      }
    }
    cout<<d[n]<<endl;
  }
  return 0;
}

 D - Make 2-Regular Graph

Problem Statement

There is a simple undirected graph G with N vertices and M edges. The vertices are numbered 1,2,…,N, and the ii-th edge is an undirected edge connecting vertices Ai​ and Bi​.

You can repeat the following two operations in any order and any number of times:

  • Add one undirected edge to G
  • Remove one undirected edge from G

Find the minimum number of operations to make G a simple undirected graph where all vertices have degree 2.

解题思路:在当前图中添加一条边/删除一条边, 保证图中所有顶点度数均为2的最少操作次数

我们可以枚举:
所有 n! 的排列,代表顶点的遍历顺序。
对于每个排列,用 2^(n-1) 枚举所有「断环点」的位置,即在哪里断开形成多个环(每个环长度 ≥ 3)。
检查该划分是否合法(每个环长度 ≥ 3),并统计这些环中所有的边。
然后比较和原图重叠的边数,设有 cnt 条边在原图中,那么:
要删除 m - cnt 条多余边;
要添加 n - cnt 条缺失边;
总操作数为:(m - cnt) + (n - cnt) = m + n - 2 * cnt
我们要取最小操作数。

#include<bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;
set<pii> g;
int n,m; 
int solve(){
    vector<int> p(n);
    iota(p.begin(),p.end(),0);
    int ans=INT_MAX;
    do{
        for(int m=0;m<(1<<(n-1));m++){
            vector<vector<int>> c;
            vector<int> cur;
            bool f=true;
            for(int i=0;i<n;i++){
                cur.push_back(p[i]);
                if(i==n-1||(m&(1<<i))){
                    if(cur.size()<3){
                        f=false;
                        break;
                    }
                    c.push_back(cur); cur.clear();
                }
            }
            if(!f) continue;
            set<pii> ne;
            for(auto& x:c){
                int n=x.size();
                for(int i=0;i<n;i++){
                    int u=x[i],v=x[(i+1)%n];
                    if(u>v) swap(u,v);
                    ne.insert({u,v});
                }
            }
            int cnt=0;
            for(auto& [u,v]:ne){
                if(g.count({u,v})) cnt++;
            }
            int ct=g.size()+ne.size()-2*cnt;
            ans=min(ans,ct);
        }
    }while(next_permutation(p.begin(),p.end()));
    return ans;
}
int main(){
    cin>>n>>m;
    for(int i=0;i<m;i++){
        int u,v;
        cin>>u>>v;
        u--; v--;
        if(u>v) swap(u,v);
        g.insert({u,v});
    }
    cout<<solve()<<endl;
    return 0;
}

E - LCM Sequence

Problem Statement

For a positive integer nn, define An​ as the least common multiple of 1,2,…,n.
You are given positive integers L and R. How many distinct integers are contained in the sequence (AL,AL+1,…,AR)?

Constraints

  • 1≤L≤R≤10^14
  • R−L≤10^7
  • L and R are integers.

解题思路:An表示1,2...n的最小公倍数, 求L...R的中不同数的个数

An​ 是一个单调不减的数列。

An 的值会变化(即 An​>An−1​)当且仅当 n 引入了新的质因子或新的质数的高次幂。

情况 1:n 是素数。

因为 n 是新的素数,之前 An−1​ 中不包含 n,所以 An​=An−1​×n。

情况 2:n 是某个素数 p 的高次幂(即 n=p^k, k≥2)。

此时 An−1 中已经包含 p,但可能不包含 pk 的足够高次幂。

例如:A4​=12=LCM(1,2,3,4)。

4=2^2,而 A3=6=2×3 中 2 的最高次幂是 2。

因此 A4=12=2^2×3,比 A3​ 多了一个 2 的因子。

其他情况(n 是合数但不是质数的高次幂):
An​ 不会变化,因为 n 的所有质因子已经在 An−1​ 中以足够高的幂次出现。

例如:A6=LCM(1,2,3,4,5,6)=60=A5​(因为 6 = 2 × 3,而 2 和 3 已经在 A5​ 中)。

问题转化
根据上述分析:
序列 (AL,AL+1,…,AR) 中不同的值的数量, 等于 An​ 在 n∈[L,R] 中发生变化的次数加 1(初始的 AL​)。
An的变化次数=区间(L,R]内素数的数量+区间(L,R]内质数高次幂的数量。
因此:
统计区间(L,R]内的素数数量cnt1。
统计区间(L,R]内的质数高次幂数量 cnt2。
最终答案=1 + cnt1 + cnt2。

 

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll count_primes(ll l, ll r) {
    ll a = sqrt(r);
    vector<char> m(a + 1, true);
    if (a >= 1) m[0] = m[1] = false;
    vector<int> primes;
    for (ll i = 2; i <= a; i++) {
        if (m[i]) {
            primes.push_back(i);
            for (ll j = i * i; j <= a; j += i) {
                m[j] = false;
            }
        }
    }
    ll s = r - l + 1;
    vector<char> is_prime(s, true);
    if (l == 1) is_prime[0] = false;
    for (ll x : primes) {
        ll st = max(x * x, ((l + x - 1) / x) * x);
        for (ll y = st; y <= r; y += x) {
            is_prime[y - l] = false;
        }
    }
    return count(is_prime.begin(), is_prime.end(), true);
}

int main() {
    ll l, r;
    cin >> l >> r;
    ll prime_cnt = count_primes(l + 1, r);
    ll a = sqrt(r);
    vector<char> m(a + 1, true);
    if (a >= 1) m[0] = m[1] = false;
    vector<int> primes;
    for (ll i = 2; i <= a; i++) {
        if (m[i]) {
            primes.push_back(i);
            for (ll j = i * i; j <= a; j += i) {
                m[j] = false;
            }
        }
    }
    ll tot_cnt = 0;
    for (int pr : primes) {
        ll x = (ll)pr * pr;
        while (x <= r) {
            if (x > l) ++tot_cnt;
            if (x > r / pr) break; 
            x *= pr;
        }
    }
    cout << (1 + prime_cnt + tot_cnt) << endl;
    return 0;
}

感谢大家的点赞和关注,你们的支持是我创作的动力!

吐槽:感觉最近异常倒霉啊...

 

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

相关推荐

保姆级教程:用STM32单片机实现国标交流充电桩的CP信号检测(附完整代码)

本文详细介绍了基于STM32单片机实现国标交流充电桩CP信号检测的全流程,包括硬件设计、软件架构和充电控制实现。通过分压电路设计、ADC配置和状态机逻辑,确保充电过程的安全与可靠性,适用于新能源汽车充电桩开发。附完整代码和调试技巧,助力开发者快速掌握关键技术。

weixin_42641998的博客 251

AtCoder Beginner Contest 412(ABCDE)

ABC412

2402_89326161的博客 798

stm32教程之三重ADC交错采样

ps:本文基于stm32F407ZGT6单片机 stm32F4单片机单通道采集的最大采样率为2.4M,所以有时会难以满足较高频率的采样,于是查阅芯片手册,发现stm32F4支持多重ADC采集,利用每个通道的转换时间,错位采样,从而提高采样率,最大把采样率开到2.4*3=7.2M. (去年初学ADC时研究的,基于cube和HAL库的三重ADC交错采样参考资料不多,我也是研究了一段时间,写下这篇博客希望可以帮助到更多人。) 示意图如下: 以下是官方例子的说明, In this ex...

weixin_52178036的博客 8873

AtCoder Beginner Contest 412(ABCDEF)

得到相连顺序后到的cnt为最终情况下已经存在的边,ans=m-cnt+n-cnt。当第 i 块多米诺骨牌向右倒下时,如果紧邻第 i 块多米诺骨牌右侧的多米诺骨牌的大小不超过 2S_i,那么该多米诺骨牌也会向右倒下。A_n是非严格递增的,只有当n为质数幂时才会A_n>A_{n-1}。那么就是求(L,R】中质数幂的数量,这个可以用二段筛+记录每个值有几种质数构成实现。, N,第 i 条边是连接顶点 A_i 和 B_i 的无向边。他计划在第i天(1≤i≤N)完成A_i个任务,实际完成了B_i个任务。

qq_68286180的博客 771

Dynamics CRM证书更换

  Dynamics CRM产品一般有两种认证方式。第一种是基于声明的内部访问也就是无证书单纯用账号密码验证。第二种就是联合身份认证,需要安装网站证书。   对于联合身份认证的情况因为需要安装证书,而且证书是有一个一年的有效期,所以运维人员每年都需要进行证书更换的操作。以下就是更换证书的方法及过程。 证书根据申请方式一般也分两种,第一种是自建证书,这种证书是没有机构认证的所以安装上之后网站因为没...

bzpfly的博客 877

Android逆向实战:用Xposed Hook微信消息发送(附完整代码)

本文提供了一份Android逆向实战指南,详细讲解如何使用Xposed框架Hook微信消息发送功能。内容涵盖环境搭建、逆向分析定位关键方法、编写Hook模块代码以及调试部署的全过程,并附有完整代码示例,帮助开发者深入理解Android应用底层交互与Hook技术。

weixin_29196315的博客 1117

AtCoder Beginner Contest 422

本文整理了AtCoder Beginner Contest 422(ABC422)的多篇题解资源,包括B站视频讲解、优快云博客和知乎专栏等。内容涵盖比赛实录、题目详解(A-F题)、算法技巧(如DP最短路、FFT优化DP)以及参赛经验分享。同时附带了AtCoder系列其他场次(408-421)的竞赛题解链接,为算法竞赛学习者提供了系统的学习参考资料。这些资源既有视频讲解也有文字解析,适合不同学习偏好的选手参考使用。

青少年趣味编程 580

背靠背VSC直流母线电压控制与同步发电机并网发散问题:原理、分析与解决方案

背靠背VSC直流母线电压控制与同步发电机并网发散问题分析 摘要: 本文研究了背靠背VSC系统在整流侧由理想三相电源切换为同步发电机时出现的直流母线电压振荡和发散问题。通过理论分析发现,锁相环同步失稳、等效阻抗失配和直流母线电容参数失配是导致系统失稳的关键因素。当整流侧接入同步发电机后,系统形成正反馈振荡回路,同时等效电感增大导致电流环响应速度降低,直流侧电容容量不足无法吸收发电机功率波动。文章提出了从跟网型控制到构网型VSG控制的完整升级方案,包含详细的MATLAB/Simulink建模和控制算法实现,并通

huanghm88的专栏 120

AtCoder Beginner Contest 411-424

该系列文章整理了AtCoder Beginner Contest (ABC) 多个场次的比赛内容,包括411-424场以及131-410场的部分场次。每篇文章详细记录了对应比赛的题目解析、解题思路和代码实现,为参赛者提供参考。内容涵盖算法竞赛常见题型如贪心、动态规划、图论等,适合编程竞赛选手学习备赛。文章按比赛编号顺序发布,时间跨度从2023年持续更新,可作为AtCoder竞赛的系统性学习资料。

青少年趣味编程 814

PD详解 扩展消息——Source_Capabilities_Extended Message

PD的协议层分为控制消息,数据消息还有扩展消息,今天大师匈讲一下扩展消息中的source_cap_extended。这个消息在扩展消息中算是比较关键的东西。 扩展消息中的source_cap_extended 大师匈先上图,然后逐一解释; 上面的图表说了source_cap_ext中包含了哪些内容。 我们注意到在source_cap扩展消息中是以字节为单位的,并不是像source_cap中以一个object为单位,当然有注意到PD标准spec中说明的扩展消息的话,那里有说明,在header之后的字节

大师匈的博客 3516

MicroCap声学仿真介绍(二)-创建声学仿真元件

声学库里包含孔、管、障板辐射器等器件,我们只需要按照仿真的需求,将声学库里的器件排列好,输入参数,用线连接起来即可。这里我们用D指代孔的直径,L指代孔的长度,N代表孔的数量。26.在弹出的界面中做如下设置:需要先在右面的选框里找到对应的项,然后右键Add Part,再之后就如下设置。3.在弹出的界面中,选择“Macro file(.mac)”,并点击右上角的“OK”下面就以声学仿真中常见的“孔”来做示例,跟大家一块演示一下宏程序的新建。10.在上图中“Value”中填入“R”,然后点击左边的“OK”按钮;

山无忧的博客 2195

AtCoder Beginner Contest 428

本文汇集了AtCoder Beginner Contest 428及相关竞赛资源,包含B站视频讲解、优快云技术博客和博客园题解等。内容涵盖比赛A~G题解析、BC题专项解答以及算法沉淀训练,涉及竞赛401-427的延伸学习资料。多位博主提供了详细的代码实现和解题思路,适合编程竞赛初学者系统学习AtCoder比赛题目和提升算法能力。资源类型包括视频讲解、文字题解和训练赛分析,形成完整的学习路径。

青少年趣味编程 419

7、PPG信号处理与质量评估

本文详细介绍了PPG信号的处理与质量评估方法,包括信号滤波技术(如卷积和互相关)、滤波器选择、信号质量指标(SQI)的定义与应用,以及标注一致性的评估。同时,提供了MATLAB代码示例和操作步骤,并分析了不同指标的优势与适用场景,旨在提高PPG信号在诊断和监测中的准确性与可靠性。

salt的博客 253

AtCoder Beginner Contest 161 F Division or Substraction 打表+找规律+数论

AtCoder Beginner Contest 161 比赛人数9927 快,比赛开始后5分钟看到所有题 AtCoder Beginner Contest 161 F Division or Substraction 打表+找规律+数论 总目录详见https://blog.youkuaiyun.com/mrcrack/article/details/104454762 在线测评地址http...

mrcrack的博客 530

计算机控制技术及应用

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

AtCoder Beginner Contest 401-458

本文整理了AtCoder Beginner Contest 401-456的系列比赛题解链接,以及Codeforces 881-1076轮次的比赛资源,同时涵盖信息学竞赛(CSP-J/S、NOIP、NOI)的备考资料,包括数学、数据结构、英语等学科的学习资源汇总。内容涉及考研保研、清华预科班前沿研究,以及适合中小学生到大学阶段的微积分、数学前沿和物理学习资料,为信息学竞赛选手和编程爱好者提供全面的学习参考。

青少年趣味编程 36

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Atcoder Beginner Contest 224 F 题解

多化简了一下发现好简洁哈哈

m0_57883655的博客 998

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

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

AtCoder Beginner Contest 447

本文整理了AtCoder Beginner Contest 447相关资源合集,包含多个B站视频讲解(A-F题解、多测分析等)和优快云技术博客(赛时题解、图论专题等)。内容涵盖从ABC411到ABC420的系列竞赛解析,涉及补题思路、初学者指南及具体题目解答,为参赛者提供全面的学习参考资料。

青少年趣味编程 365

AtCoder Beginner Contest 084 C - Special Trains

Special Trains Problem Statement A railroad running from west to east in Atcoder Kingdom is now complete. There are NN stations on the railroad, numbered 11 through NN from west to east. Tom...

weixin_33912246的博客 168

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 15

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 437

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 362

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 77

AI和大模型—从克里金算法说开去

克里金算法源于矿业勘探,通过空间自相关性实现稀疏数据下的最优预测,核心优势在于不确定性量化。在AI大模型中,其等价于高斯过程,广泛应用于超参数优化、小样本建模与推理调度。尽管面临计算复杂度高、核函数选择难等问题,通过稀疏化、分治法与低秩近似可有效优化。该方法在降低训练成本、提升泛化能力及减少幻觉方面表现突出,尤其适用于高维、高成本的智能系统优化,具有重要借鉴价值。

fpcc的专栏 602

算法日常・每日刷题--<动态规划>32

给定严格递增的正整数数组,求最长斐波那契子序列长度。使用二维DP,dp[i][j]表示以arr[i]、arr[j]为最后两项的序列长度,初始化均为2。通过哈希表快速查找前一项target = arr[j] - arr[i],若存在且下标小于i,则状态转移:dp[i][j] = dp[k][i] + 1。遍历更新全局最大长度,最终若结果小于3则返回0。时间复杂度O(n²),空间复杂度O(n²)。

2503_92261635的博客 176

算法札记:几何分布在算法题UVA1262的运用

集卡问题求解核心:将集齐n种优惠券的过程分为n个阶段,每个阶段期望购买次数为 $ \frac{n}{k} $(k为剩余种类数),总期望为 $ n \cdot H_n $(调和数)。通过自洽方程推导单阶段期望,无需几何分布或无穷级数,逻辑清晰且适用于大一水平。例如,n=5时期望约11.42,非5。题目要求以带分数形式输出精确结果,算法上需累加分数并化简。

Keven_11的博客 302
上一篇: 力扣第455场周赛
下一篇: 基础算法合集-埃氏筛/欧拉筛
一只鱼^_
博客等级 码龄3年 1073粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值