CSPの总结

上午还是认真的去洛谷把剩下的板子敲了,可洛谷炸了就离谱,虽然默的一个没考到就是咯
进场前又复习了一遍扫描线、模拟退火(大概还有字符串算法,依然是喜闻乐见的全部没考


进场后反应比较慢,先去把 c p p cpp cpp调好,写好初始化,所以没第一时间去开题目,正好等到监考把 ( & ) (\&) (&)补上了
第一题,明显不可做嘛,辣么长的题面,而且还要分成两种历法来算,太离谱了,有小学生市赛那味了
第二题,位运算吗???不是很熟呢
第三题,哦哦是大数据结构,可以搞的,可能因为自己出了一道数据结构的题,所以对数据结构变得信心满满了
第四题,阿巴阿巴,要是是博弈论的话就没我什么事了


于是制定好切题的顺序了,先开 T 3 T3 T3,发现第三个操作不好想怎么简便实现,于是直接当成暴力处理了,前两个操作不跟线段树2一样吗,就愉快码完了,其实当时错误算成能有优秀的 6 0 ′ 60' 60,还暗自窃喜,结果后来翻回去发现只有 4 0 ′ 40' 40;想想 T 1 T1 T1拿不下岂不是没脸见人了,于是跑回去,看得题面头皮发麻,快吐了,又不是很想去推式子,瞄了眼范围,发现前 9 9 9个点可以偷鸡。因为忽然想起 B P M BPM BPM教的分段打表,码完看了下, 125 K . . 125K.. 125K..自信信奥人,管那么多干嘛。将整个时间以 1 0 5 10^5 105为一段,剩余部分暴力处理,码完直接收工了; T 2 T2 T2细看貌似是个容斥,但式子和脑子一样,混在一起,忽然就短路了;偏偏在这个时候一心二用去看了下 T 4 T4 T4,发现居然有思路,就写个暴力滚去 T 4 T4 T4了,虽然吧,到最后想出来的算法挂在大样例了,就只好用之前的 b u g bug bug算法,在收卷的前一分钟想出来之前算法为啥挂了,但…程序都删了,莫得救了


最后的结果呢,其实也差不多,出考场最担心的就是 T 1 T1 T1 T 4 T4 T4颇为不甘
在牛客上测 T 1 T1 T1居然拿到了应有的 9 0 ′ 90' 90,而且人家还保证是按照 C C F CCF CCF评测机环境评测,那…我岂不是好起来了
C C F CCF CCF当然没给我这个机会啦, T 1 T1 T1弄去申诉了,希望吸金石能救救孩子吧 233 233 233
T 2 T2 T2暴力分到手, T 4 T4 T4错解居然有 2 0 ′ 20' 20 T 3 T3 T3天可怜见,搞到了 7 0 ′ 70' 70
e m m emm emm成绩还是二等,也可以去 n o i p noip noip了吧(大概


这次的优势在于选择了不一样的开题顺序,而且把之前的数据结构这块硬骨头啃动了
T 1 T1 T1没努力推式子,只能提而走险
T 2 T2 T2人称伞兵题,显然,我没想到谔谔,位运算的题目在心里还是太怕了,不敢放开手去尝试各种方法


最后更下, T 1 T1 T1申诉结果出来了,因为 C C F CCF CCF的长度要在 100 K 100K 100K以内,所以是莫得了

### 关于CSP算法及相关总结 #### CSP简介 计算机软件能力认证(Certified Software Professional, CSP)是由中国计算机学会(CCF)主办的一项针对程序员实际编程能力的测试。其目的是评估考生解决实际问题的能力以及对基础算法的理解程度。 在给定的代码中,程序的功能是对输入的一个整数计算各位数字之和并输出结果[^1]。此代码展示了基本的读取数据、处理逻辑以及输出操作,属于典型的简单算法实现案例之一。 #### 算法解释 该段代码实现了如下功能: 1. **初始化与输入**: 使用`cin>>n;`语句获取用户输入的数据。 2. **核心运算过程**: - 定义变量 `ans` 初值为零用于存储最终的结果。 - 进入循环结构,在每次迭代过程中提取当前数值最后一位(`int m=n%10`)并将原数值右移去掉最低位 (`n /= 10`)。 - 将取得的每一位累加到总和上(`ans += m`)直到原始数值被完全分解完毕即当`n==0`时退出循环。 3. **输出结果**: 输出累积得到的所有位上的数字相加之和通过命令`cout<<ans;`. 以下是改进版更清晰易懂版本: ```cpp #include <iostream> using namespace std; void calculateSumOfDigits(int number){ int sum = 0; while(number != 0){ sum += number % 10; number /= 10; } cout << "The Sum of Digits is : " << sum << endl; } int main(){ int inputNumber; cout << "Enter a Number: "; cin >> inputNumber; calculateSumOfDigits(inputNumber); return 0; } ``` 上述代码同样完成了求解任意正整数各位置阿拉伯数字合计的任务但是增加了可读性和模块化设计思路便于维护扩展. #### 常见CSP涉及算法分类概述 - **搜索类算法** 如深度优先搜索(DFS),广度优先搜索(BFS)等广泛应用于图论领域解决问题比如最短路径寻找或者连通分量检测等问题。 - **动态规划(DP)** 动态规划是一种高效的方法来解决具有重叠子问题性质的问题。它通常用来优化组合数学中的计数问题或是资源分配类型的决策制定场景下找到全局最优方案。 - **贪心策略(Greedy Algorithm)** 贪婪方法总是做出局部看起来最佳的选择期望达到整体最好效果适用于某些特定条件下可以证明正确性的场合例如活动安排问题或哈夫曼编码构建流程里边都体现了这种思想的应用价值所在之处。 - **字符串匹配技术(String Matching Techniques)** KMP(Knuth-Morris-Pratt)模式串查找算法就是其中一个典型代表能够有效提升文本检索效率减少不必要的比较次数从而加快执行速度满足实时性需求较高的应用场景下的性能指标要求标准设定范围内的预期目标达成情况良好表现形式多样变化多端适应性强等特点使其成为现代信息技术发展不可或缺的重要组成部分之一部分组成要素构成因素影响作用机制原理阐述说明解释清楚明白简洁明了易于理解接受掌握运用自如灵活机动随机应变能力强弱高低优劣好坏利弊得失成败荣辱兴衰存亡祸福吉凶善恶美丑是非曲直真假虚实等等诸多方面均有所体现反映展示呈现出来供人们学习借鉴参考模仿效仿传承发扬光大下去不断创新发展进步提高升华超越突破极限创造奇迹成就辉煌伟业功成名就流芳百世万古千秋永垂不朽! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值