一 竞赛简介

万恶之源 各种竞赛知识的汇总。

1. 赛制介绍

赛制介绍

2. 平台介绍

leetcode 主找工作,周赛/双周赛,每周都有,时间短,可查看别人的代码,学习别人的优秀代码和解题思路,成长快
codeforces 主竞赛,每周也会举办比赛(赛题质量高,全英文)
洛谷 (主竞赛,国内的高质量平台,常举行比赛,模板题讲解清晰,大佬多)
赛氪(主竞赛通告,国内的OJ平台,主要优点是国内竞赛的新闻会在这个平台发布,可多关注)
牛客 (主工作,也有周赛,要自己处理输入输出,比leetcode更贴近工作题/竞赛题)
其他大学的OJ也有不错的,例如北大的poj, 杭电的hduoj, 电子科大的cdoj

3. 竞赛介绍

蓝桥杯(一般四月份举行初赛,认可度高,获奖难度低,非常推荐参加) 获奖可奖学金加分/申请实践分(不需要助教拿学分了,可选择拿工资)尤其推荐参加python组,c++组一般是打ACM的真大佬,卷不过;java组参赛人数太少;python组研究生和本科生同组,优势明显。报名费300块,可信软学院代缴,获得国奖还有额外奖励。
传智杯 (一年一届,一般10-12月举办)
全国大学生算法设计与编程挑战赛 (每个季度一次比赛,才举办到第二届,认可度一般)
电子科技大学ACM校赛(链接是2021年的,没有官网,一般四五月份举行,请关注《成电微教务》,会有报名通知)
“联发科技杯”电子科技大学IEEEXtreme极限编程校内赛(链接是2021年的,没有官网,一般四五月份举行《IEEEUESTC》公众号,会有报名通知)
华为软件精英挑战赛(一般三四月份举行,不是常规的编程算法竞赛,偏工程中的实际应用,感觉难度略大)
中兴捧月杯(一般四五月份举行,难度比华为软挑低)

获取比赛消息的渠道:信软学院有个学科竞赛的qq群(1074685825),计算机学院通知群也有部分竞赛通知,赛氪平台的通知,相关的主办方公众号等。

二 我的一点经验

1. 语言选择

  • C++? java? python? even javascript?
  • C++ 新入坑的必选
  1. 对数据控制的极致,内置的容器,运行效率极高,使用简单;内置的算法,快排/二分查找/找下界等,可自定义数据结构,极其的好用;
    例题 力扣周赛第三题
  2. 运行效率极高,很多数据规模临界的用例,C++能过,但是python过不了;
    例题 IEEEXtreme极限编程校内赛 (比赛完看不了题了)
  3. 例题讲解的示例代码很多都是C++ 写的,包括力扣周赛的排行榜前段的大佬;
  4. 各种OJ必定支持的一门语言.
  • python 蓝桥杯必选 深度学习之友
  1. 蓝桥杯暴打本科生的不二之选,只会暴力解法都能一等奖的天选之组;
  2. 极致的代码简化,神奇的切片操作,写起来非常省心;
  3. 跑模型必须要会的一门语言,即使不搞神经网络算法,毕设也一定会要跑模型的;
  4. 主流OJ支持较好,但是比较老的OJ就不那么好了。(说的就是成电的OJ,ACM校赛居然只支持C++和java)
  • java 工作之友
  1. 后端开发必会,spring全家桶要用的贼溜;
  2. 用来写竞赛算法嘛,就恩恩恩恩。。。个人不太合适,既不如C++运行效率高,没指针操作;也不如python代码简洁,有点鸡肋。之前ACM国际大赛上有队伍用过java,后来也弃用了。当然用来刷题,练java的熟练度,方便找工作的也很好,有不少同学也是这么做的;
  3. 主流OJ的支持较好,目测比python好。
  • javascript 前端玩家打算法比赛的首选
  1. 之前看彦哥和然哥用过,我自己不会,感兴趣的咨询他们吧(很惭愧);
  2. 支持的平台较少,leetcode是支持的,但是主流的OJ支持率很惨淡。
  • 总结:不同语言有不同的适用环境,一般意义上来说没有谁优谁劣,只能说对某个任务是否好用。

2. 编辑工具选择

  • vim 永远的神
  1. 主键盘毁灭者,可完全无视鼠标的存在

  2. 单文件编辑最好用的编辑器

  3. 服务器文件编辑的最好选择,也许是唯一的选择

  4. 功能强大的代码补全插件,C++,python,java均支持

  5. 在编辑器内执行命令的特性让人欲罢不能

  6. 内置的gdb调试工具,代码调试较为方便

  7. 陡峭的学习曲线让人望而生畏

  8. 其他资料:
    vim环境搭建
    vim半小时入门官方教程。命令行执行下方代码:(如果要指定语言,用后面两个命令即可,分别是英文和中文,推荐用英文版,方便编辑)

vimtutor
vimtutor en
vimtutor zh

简要讲解vim的三种模式。

  • pycharm python之友
  1. 不用过多解释,写python的首选工具
  • idea java必选
  1. 也不用过多解释,写java的首选工具

3. 常用技巧

  • 刷题的结构组织
    按照各个OJ平台作为一级目录,题目编号作为二级目录,二级目录下的是源代码和输入输出文件。整个文件夹用git做版本管理,可推送到自己的github上,避免由于系统崩溃等原因导致的数据丢失。
  • 输入重定向
./a.out <in.txt
python3 my.py <in.txt
  • 输入/输出重定向
./a.out <in.txt >out.txt
python3 my.py <in.txt >out.txt
  • 结果自动对比
diff out.txt std.txt
  • 对拍
    对拍是个啥,用来做什么的

  • 暴力打表找规律
    一个网友的例子

  • 蓝桥杯如何查文档
    python是提供了内置package的使用文档的,查询方式如下:

python3
>>> help()
  • 输出带有固定字符的题目,一定要用CV,别过于相信自己的眼睛和手
    之前比赛有题目的输出只有Y5S!或者NO,比赛结束的时候一群人觉得自己代码没错,结果提交上去一直WA,有人就提示说输出的不是YES!中间的是个5.
  • 要有平和的心态

不是大佬的话,建议还是跟榜做题,挑AC多的题目做。
也不要死磕,某题做不出来,或者一直WA,该放弃就放弃。

三 背包问题

经典中的经典 背包九讲

四 动态规划与记忆化搜索的关系探讨

一个大佬的博客

五 其他资料

cpp reference
倍增思想白话讲解
操作系统革命 开源的哲学

2021年6月组会分享--算法竞赛入门及背包问题解析相关推荐

  1. [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-10/UVa1587:Box 代码: //UVa1587 - Box #include&l ...

  2. 《算法竞赛入门经典训练指南》pdf

    下载地址:网盘下载 基本介绍 编辑 内容简介 <算法竞赛入门经典:训练指南>题目多选自近年来ACM/ICPC区域赛和总决赛真题,内容全面,信息量大,覆盖了常见算法竞赛中的大多数细分知识点. ...

  3. 算法竞赛入门经典训练指南

    最近在看算法竞赛入门经典训练指南这本书,书中不错的算法我将在博客中发布,和大家共同学习. 题目: 在你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个 ...

  4. 刘汝佳《算法竞赛入门经典》---总结

    刘汝佳:<算法竞赛入门经典> 三步: 基本的数据结构+算法知识: 数论等数学基本知识: 锻炼联想建模能力.知识与实际相结合,解决实际问题! 第一章:程序设计入门 1.a/b 当a.b为整数 ...

  5. 算法竞赛入门【码蹄集进阶塔335题】(MT2001-2025)

    算法竞赛入门[码蹄集进阶塔335题](MT2001-2025) 文章目录 算法竞赛入门[码蹄集进阶塔335题](MT2001-2025) 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? ...

  6. 算法竞赛入门经典(第二版)第三章习题

    声明:作者水平有限,只是会基础C语言的小菜,C++还未入门.作者仅根据算法竞赛入门经典(第二版)书上第三章习题所述题意而编写,并未严格按照原题的输入输出编写,代码仅经过个人测试(OJ网站太慢了).代码 ...

  7. 算法竞赛入门知识干货

    前言:本篇总结一部分来自刘汝佳老师的<算法竞赛入门经典>,一部分是个人竞赛学习中的一些算法知识点总结,是初学算法走了不弯路一点点积累起来的干货,对刚刚参加竞赛的盆友应该会很有帮助,如有不足 ...

  8. #《算法竞赛入门经典》勘误

    转自http://code.google.com/p/aoapc-book/wiki/BeginningAlgorithmContestsErrata #<算法竞赛入门经典>勘误 关于勘误 ...

  9. 《算法竞赛入门经典》Chap3

    <算法竞赛入门经典(第二版)>第三章 思考题 题目1 必要的存储量 题目2 统计字符1的个数 示例程序 程序3-1 逆序输出 程序3-2 开灯问题 程序3-3 蛇形填数 程序3-4 竖式问 ...

最新文章

  1. Java EE---Spring框架创建Account小项目
  2. 腾讯极客挑战赛邀你“码上种树”
  3. IOS之截取特定字符串
  4. 数据结构-队列之顺序队列
  5. WEBGL学习【四】模型视图矩阵
  6. [转]java 组播
  7. php 转义字符处理,PHP转义与反转义字符串函数详解
  8. java写的小米商城_Taru-Xmall
  9. 自回归模型的两种策略——马尔科夫假设与隐变量自回归模型
  10. python出现unexpected indent_Python、unexpected indent错误解决方法
  11. Python字符串的‘ ’,“ ”,''' '''
  12. Python人脸微笑识别2-----Ubuntu16.04基于Tensorflow卷积神经网络模型训练的Python3+Dlib+Opencv实现摄像头人脸微笑检测
  13. 如何提高学生对计算机英语的兴趣论文,如何培养小学生英语学习的兴趣_英语论文.doc...
  14. 域名抢注自动提交程序详解
  15. 鸿蒙内核阅读笔记-定时器
  16. Tp6 nginx配置
  17. 很简单的Python小程序:使用random库 实现随机选取元素
  18. DP之钢管切割,最长回文字符串,最长公共子串
  19. Node.js常见面试题
  20. 简述几种人脸识别的主要方法

热门文章

  1. 前端学习日记day3——制作新闻页面
  2. 好书好人生--读书的步骤
  3. C#之CAD二次开发(10) 用户交互之选择集
  4. opencv中RNG 函数释义
  5. 第三部分-微博热搜echart可视化呈现
  6. python调用mysql数据进行计算_python使用peewee实现mysql数据操作
  7. C#下载文件:WebClient
  8. 矩阵开关多路耦合器性能参数解读
  9. [10]ESP32+气压计MS5611移植与调试
  10. -bash: 无法为立即文档创建临时文件: 结构需要清理