2018年九月 第一次参加 ccf csp

博主分享了参加CCF CSP认证的经历,从考前准备到考试过程,详细描述了解题思路和遇到的问题,以及最终的成绩反馈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      记录一下这次ccf csp。

      这次认真本就是抱着过去水一水,感受一下的小态度。

      考前我还在贵州,当着我哥哥的伴郎,第二天赶回去参加这次认真,也没有很充分的准备,下次参加一定会准备好。

      说说考试吧,当时的心态还是很好的,毕竟没报太大的期望,能高则高。

      之前也有刷一小部分的题目,基本上把每次的第一题做了,然后也是只想要150分左右的。

      第一题,好像事卖菜吧,理解题意还是很容易的,不到几分钟就写好的,测了一下边角和一些特殊情况就交了。

      第二题,买菜,然后交谈,我的理解就是求交集,然后在看了一看数据范围,数组足够,我就开一个超大的数组(初始化为0),两个人,然后在他们在的那个有的那个区间就加一,然后sort 一下,但是sort是小到大,我要从大到小,重载一下,就只要记录有多少个2就可以了,其实不用sort,直接遍历应该也行,但是sort一下,会稍微快一点。测试,然后发现有点问题,开始一位自己的思路不对,后来,改成前闭后开的区间就对了,也是看了一下一些特殊情况,测试几发直接交了。

     接下来我就在看第三题,一道长长的模拟题,我就直接跳过,最后做,为啥呢,主要是看看后面的题目,果然都是算法题了,在买菜开始并没有什么想法,看了一下数据点,2--5,1--10,就有30%的分,然后 就开始了傻逼的暴力之路,五个for ,四个for ,三个for ,当然 用了计算器看了一下那些数据的范围,也有稍微加大,想着还能不能水多几分,结果是否定的 0.0,n==2的情况不用解释把,嗯哈。

     然后就是最后一题,我觉得我这种人,其实想都不用想就是按他来的做,开始用的int,结果他的测试数据最后一组样例过不了,想着也没啥,肯定不是基础分了,不过,我还是回去看了一看那个数据范围,那一组是第一个分数点的,然后,我就很懵了,我就看那个Q也没超int,取模肯定也没问题,就一直找不到bug,然后就歇了几分钟,突然想到貌似两个数相加就会超了,结果,默默改成lld,果然那个样例过了,那我就没什么想法了回去慢慢模拟第三题把。

     第三题的模拟,是让人绝望的,不过还好,我的心态还算不错,就慢慢的模拟,对于模拟题,我也没有看数据点,有点后悔,看了之后可能目标会明确一点,当然不看也看就按要拿满分的去,小菜的我,以后还是看数据点吧。第三题,gets读入,然后开一个三维数组,第一个存行数,第二个就单词,总感觉表达有误,算了,应该能懂的。当然这里面就是要取出字符,但是我开始一直找,写完之后,样例还是过不了,然后就知道是那个#  把#也保存,样例就过了,本来以为很perfect,不过,后来和同学讨论,之后那个div,(对于div 这个的处理,我就是开一个数组,存第一个在哪一行,下面出来就从那一行开始,往下找)可以不是div ,至今还是不懂,那个同学,他的模拟有90,nb,有没有大佬可以在下面告诉小弟怎么写呢? 写完全部,也就还剩差不多半个小时,记不清了,模拟就差不多有2个多小时,结果也还是可以接受把,30分。

     做完了,也没有想离开,然后就又看了看第四题,发现貌似可以用dfs,但是我也没有时间改了,还有就是自己感觉写dfs的话也不一定可以实现,哎,还是基础太菜0.0。

     这就是这次的ccf csp认证,总分也是让人接受的,比之前的期望高,主要是自己水数据,期待下次的,一定好好准备,期待更高分。

      也期待大佬对于第三第四第五一起讨论一下,感激不尽!!

 

经过分析,当前提供的引用并未直接涉及 **CCF CSP 第四次认证第一题** 的具体题目解析或答案。然而,可以从已知的其他 CSP 认证题目中推测可能的考察方向以及类似的解法。 以下是基于已有信息和专业知识的回答: --- ### CCF CSP 考核特点概述 CCF CSP 认证通常会设计一些基础编程问题作为第一题,这些问题往往围绕字符串处理、简单数据结构操作或者基本算法展开[^1]。因此,在缺乏明确第四次认证第一题具体内容的情况下,可以通过类比其他认证中的典型题目来探讨其可能的形式与解答方法。 #### 可能形式之一:密码安全等级判断 如果参考 CCFCSP 第35次认证第一题关于密码强度评估的内容,则该类型的题目可能会要求选手编写程序依据特定规则判定一组给定密码分别属于哪一种安全性类别 (如样例所示分别为0, 1 和2)[^1] 。解决此类问题的关键在于理解并实现评分标准逻辑,比如检查长度、字符多样性等因素。 ```cpp #include <bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; while(n--){ string s;cin>>s; bool hasUpper=false,hasLower=false,digit=false,specialChar=true; for(auto &c:s){ if(isupper(c))hasUpper=true; else if(islower(c))hasLower=true; else if(isdigit(c))digit=true; else specialChar=false;//assuming only letters and digits are allowed as per sample input/output. } if(hasUpper && hasLower && digit &&specialChar ) cout<<2<<"\n"; else if((hasUpper || hasLower)&&digit&&specialChar)cout<<1<<"\n"; else cout<<0<<"\n"; } } ``` 上述代码片段展示了如何通过遍历字符串中的每一个字符去检测是否存在大写字母、小写字母、数字以及其他特殊符号,并据此分配相应的分数。 #### 可能形式之二:序列查找 另一种常见模式体现在引用[2]所提到的商品价格区间匹配上。这类问题一般需要参赛者能够快速定位满足条件的数据项位置或是统计符合条件的数量等基本信息[^2]。这背后涉及到的知识点包括但不限于数组索引访问、循环控制语句的应用等方面的基础技能训练。 对于这种类型的问题解决方案可以采用简单的线性扫描方式完成初步筛选工作然后再进一步优化效率更高的搜索策略例如折半查找等等取决于实际需求场景下的性能考量因素不同而有所差异。 --- 尽管目前无法确切得知具体的试题原文及其官方标准答案,但从历真题来看,无论是针对单一对象属性多维度综合评价还是集合内部成员间关系探索都构成了非常重要的命题角度值得深入研究学习掌握其中蕴含的核心思想技巧以便从容应对未来可能出现的各种挑战情境之中脱颖而出成为佼佼者。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值