CSDN 每日一练及周赛介绍

CSDN 每日一练及周赛介绍

  • 每日一练
    • 每日一练入口
  • CSDN 周赛
    • CSDN 周赛入口
  • 相关社区
    • 每日一练社区入口
    • CSDN 竞赛专区社区入口
  • 每日一练题库
  • 每日一练速查
    • 每日一练题目题解速查入口
  • 每日一练题解
    • 自行接管输入
  • 根据题号进入题目预习
  • 提交新题目
    • CSDN 编程比赛出题规范
  • 吐槽

每日一练

CSDN 有一个学习栏目

进入到这个栏目之后,就有一个每日一练频道

这个频道里,每天会有三个编程题,12个选择题供人练习。这里,老顾只对编程题进行一下介绍。

每日一练入口

每日一练入口:https://edu.csdn.net/dailycode

CSDN 周赛

在进入到每日一练页面后,顶部导航会有一点点变化,多出了一个有奖竞赛的入口。

这里就是 CSDN 周赛的入口了。在问答区也有一个竞赛入口,比这里的要完整一些。

CSDN 周赛入口

周赛入口:https://edu.csdn.net/contest/all

参加周赛,每期的前三名可以获得实体书籍的奖励,还是很不错的,前10名其他的人则可以得到诸如扑克、挎包、杂志之类的奖励。

不过,也不知道是什么原因,最近周赛举办频次突然降低了。从以前的一周两次,到现在只有一周一次的样子。

现在刷竞赛勋章的难度,可比原来大了一倍了。

相关社区

每日一练社区入口

在社区中,有不少社区和每日一练是存在着强关联性质的,最主要的就是每日一练社区:https://bbs.csdn.net/forums/dailycode?category=0&typeId=1562

在这个社区中,存在着每日一练的所有题目描述,除了部分新出的题目,题目帖子中还包含了每日一练的题目入口。


当然,还有不少小伙伴,在题目贴下留下了各自的代码和题解。

CSDN 竞赛专区社区入口

然后就是和周赛有关的社区:https://bbs.csdn.net/forums/contest?typeId=131386

和周赛相关的内容,都在这个社区内。

通常老顾只关心奖惩公告,因为周赛要求前十名需要写一篇博客文章,才会给实物奖励,所以奖惩公告区的帖子下,跟着很多小伙伴提交的题解博客文章,对于不清楚题目算法或理解的,可以参考这些小伙伴的文章。

这里提上一句啊:所有周赛题目,出自每日一练的题库。

每日一练题库

每日一练的题库其实非常非常小,截止到目前,一共才158个题目,嗯,其中两个是刚刚入库的新鲜题目。有新鲜的题目,都会在每日一练社区内进行公布的。


然后老顾这里放出一段 python 代码,可以获取当前题库的内容,当然,由于懒得做逆向,所以没有去获取每日一练的编号,只获取了题库的编号。

import requests
import json
for i in range(1,300):res = requests.post(url = 'https://dailycode.csdn.net/school/question/retrieve',data='[{"ids":[' + str(i) + '],"type":0}]')j = json.loads(res.content.decode('utf8'))items = j['data']['0']if len(items) > 0:ques = items[0]title = ques['title']print(i,title,)


运行这段代码,就可以得到如上图所示的内容,其中第一列的数字,就是题库的题目编号。

每日一练速查

由于官方没有提供所有的题库入口,只在每日一练频道每天提供6到9个(偶尔抽风)题目入口,所以在每次周赛之后,有很多小伙伴找不到相应的题目进行验证。

每日一练题目题解速查入口

嗯,老顾则闲得无聊的时候,做了一个速查的帖子:https://bbs.csdn.net/topics/615835833

在该帖子里,老顾将每日一练题目的入口以带链接的编号形式直接列出来了,有需要对特定题目练习的小伙伴可以方便的进入指定题目进行练习。

当然,有些题目的每日一练编号,老顾也暂时不得而知,但是,也是可以进入相应题目进行练习的,比如新出的两个题目,老顾就已经完整的预习过了,嘿嘿。

每日一练题解

对于每日一练的题解,目前比较好的内容,是通过CSDN竞赛社区的奖惩公告贴,查看每期的各位小伙伴的不同解答,老顾已经在速查贴中,列出相关题目出现在哪一期了。这里再次感谢问哥提供的周赛记录。

当然,也可以看老顾自己在速查贴中,提供的帖子,点击题目对应的帖子,就可以看到老顾自己的解答了。不过老顾的解答相对比较土,大部分都是暴力计算,毕竟老顾没有专门学过算法。

自行接管输入

在大多数的每日一练题目中,都有各种语言预定义好的一些代码,用来进行数据输入,但是这里容易存在一些坑,所以推荐还是自己写输入信息接收比较好。比如《津津的储蓄计划》,比如《鬼画符门之点点大阵》,又比如《小桥流水人家》。

另外,一些新的题目,并没有预定义好的代码,这些题目就要求各位选手,必须自行接管输入了,嘿嘿。

当然,输入输出是学习编程中,最基础的部分,相信小伙伴们都能很轻松的做到啦。

根据题号进入题目预习

因为 CSDN 的每日一练,里面带了一些乱七八糟的防采集验证,所以老顾懒得做逆向,直接用C站自带的验证信息好了。

在每日一练频道,随便进入一个编程题,然后打开控制台,并在控制台输入 js 指令。

console.log($('iframe').attr('src'))


嗯。。。。这里就是真正的题库入口了,而不是每日一练的入口。

将这个链接复制出来,然后将参数 id 后边的数字修改成老顾速查贴中的题号,就可以进入到相应的题目了,嘿嘿。比如最新的题目《布尔零点计数》,题号就是 222,用这个链接修改成相应题号,就可以提前预习了。

提交新题目

目前为止,在 CSDN 的网站上,没有找到可以提交新题目的地址。但是也有变通的办法。

在每期的比赛详情页面,最下边有一个二维码,这是考试小助手的二维码,可以与小助手进行沟通,进行新题目的提交。

CSDN 编程比赛出题规范

出题规范:https://bbs.csdn.net/topics/610729224

原谅老顾看过之后还是没能看懂,嘿嘿,如果有小伙伴看明白了,并提交成功新题目了,还请告知老顾如何实操。看文档老顾实在不擅长。

吐槽

CSDN 的题目,基本上正经考算法的题目太少了。多数都是阅读理解问题,所以很多题目,需要预习甚至参考一下别的小伙伴的答案,否则以老顾这样的,基本上题意都无法理解,更不要说解题了。

再有就是各种意料之外的展开也挺多的,很多题目,仅仅按照基本做法,甚至无法 AC ,总有各种意料之外的隐藏条件,在题目中未能说明。

也不知道到底啥情况,最近连考试小助手都消失了,有一个月没回馈老顾的消息了,伤心。

本文链接:https://my.lmcjl.com/post/3043.html

展开阅读全文

4 评论

留下您的评论.