回顾【CSDN竞赛第四期】编程能力PK赛

大家好,我是工藤学编程 一个正在努力学习的小博主,期待你的关注
作业侠系列最新文章 Java实现聊天程序
SpringBoot实战系列 【【SpringBoot实战系列】AOP+自定义注解-接口防重提交多场景设计实战
环境搭建大集合 环境搭建大集合(持续更新)

本篇主题:回顾【CSDN竞赛第四期】编程能力PK赛(顺便应官方要求)
回顾【CSDN竞赛第四期】编程能力PK赛_第1张图片
本次比赛很荣幸的获得了第26名(终榜19)
回顾【CSDN竞赛第四期】编程能力PK赛_第2张图片
很幸运的之前在成长一夏活动中获得了第6名的成绩

不过我还是首先说明:本人算法能力超级菜,大佬们可直接看其他大佬的了,勿喷
希望能和大家相互学习,向大家求个三连

本文速览:
1.参赛总结与体会和给官方的建议
2.比赛题目回顾

  • 2.1小玉家的电费
  • 2.2单词逆序
  • 2.3小Q分割整数
  • 2.4新型美丽数列

3.自己的参赛经历与笨鸡先飞!

1.先来个总结:

1.csdn的比赛前两题都很简单,就是只要你有语言基础,就能ac的那种,后两题难度个人感觉直接飙升,但是这样还是挺好的,可以让大家的参赛体验都非常好
2.赛制个人感觉非常棒,oi赛制的改版,提交答案不限次数,每次提交可以看到自己的通过率,代码也类似于力扣的核心代码模式,也就是我们只需要实现答案函数,不需要处理输入输出。对于菜逼的我来说,简直爱了爱了
3.希望官方大大题目样例什么的描述清楚,可以给个样例解释什么的,还有就是希望比完赛之后,可以有题目链接,官方题解,方便大家补题,这样大家才能有更好的提升

2.题目回顾

  • 2.1小玉家的电费
    回顾【CSDN竞赛第四期】编程能力PK赛_第3张图片简单ifelse即可,ac代码
float solution(int amount){
float result;
if(amount>=401) result=(amount-400)*0.5663+(400-150)*0.4663+150*0.4463;
else if(amount>=151) result=(amount-150)*0.4663+150*0.4463;
else result=amount*0.4463;
return result;
}

+ 2.2单词逆序
回顾【CSDN竞赛第四期】编程能力PK赛_第4张图片由于c++官方给的输入是vector < s t r i n g > <string>,并且我们可以发现每个单词也就是string内部顺序是不会改变的,所以我们只需要翻转vector即可。
ac代码:

std::vector<std::string> solution(std::vector<std::string>& vec){
std::vector<std::string> result;
int n = vec.size();
for(int i=0;i<vec.size()/2;i++)swap(vec[i],vec[n-i-1]);
result = vec;
return result;
}
  • 2.3小Q分割整数
    回顾【CSDN竞赛第四期】编程能力PK赛_第5张图片经典计数dp问题,考虑以下集合划分
    1.最小数字等于 1。这类划分,不变的部分是每个划分都至少含有一个 1,变化的部分是除去一个 1 后的 j−1 个数,去掉不变的部分,问题等价于 f[i−1,j−1]
    2.最小数字大于 1。这类划分,不变的部分是划分中的每个数都能写成 1+x,变化的部分是 x,则每个数都去掉不变的 1 后问题等价于 f[i−j,j]
    代码:
int solution(std::vector<int>& vec){
int result;
long long f[110][110];
int vec[0]=n,vec[1]=k;
f[0][0] = 1;
    for (int i = 1; i <= n; i ++) f[i][1] = 1;

    for (int i = 1; i <= n; i ++)
        for (int j = 2; j <= min(i, k); j ++)
            f[i][j] = f[i - 1][j - 1] + f[i - j][j];
 return f[n][k];
}
  • 2.4新型美丽数列 回顾【CSDN竞赛第四期】编程能力PK赛_第6张图片不会,摆了,求个大佬给个思路!

3.说说自己的参赛经历(证明自己是真菜鸡,不过我相信笨鸡先飞):
1.考过一次csp,170
2.考过一次蓝桥杯:省三
经过前两次暴打,下定决心一定要好好刷算法,此前出过专栏要刷爆csp第三题,拿下300分,但是前面几年的第三题做起来还好,后面的第三题是真的难写,不过还是怪自己太菜,所以转战力扣去了,适合我们普通人的地方,先好好练练自己的码力,打打力扣周赛,稳二冲三选手,所以专栏停更了,但是停更之后每天都有要求自己刷五题,加油!

你可能感兴趣的:(算法,算法)