2021年6月组会分享--算法竞赛入门及背包问题解析
一 竞赛简介
万恶之源 各种竞赛知识的汇总。
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++ 新入坑的必选
- 对数据控制的极致,内置的容器,运行效率极高,使用简单;内置的算法,快排/二分查找/找下界等,可自定义数据结构,极其的好用;
例题 力扣周赛第三题 - 运行效率极高,很多数据规模临界的用例,C++能过,但是python过不了;
例题 IEEEXtreme极限编程校内赛 (比赛完看不了题了) - 例题讲解的示例代码很多都是C++ 写的,包括力扣周赛的排行榜前段的大佬;
- 各种OJ必定支持的一门语言.
- python 蓝桥杯必选 深度学习之友
- 蓝桥杯暴打本科生的不二之选,只会暴力解法都能一等奖的天选之组;
- 极致的代码简化,神奇的切片操作,写起来非常省心;
- 跑模型必须要会的一门语言,即使不搞神经网络算法,毕设也一定会要跑模型的;
- 主流OJ支持较好,但是比较老的OJ就不那么好了。(说的就是成电的OJ,ACM校赛居然只支持C++和java)
- java 工作之友
- 后端开发必会,spring全家桶要用的贼溜;
- 用来写竞赛算法嘛,就恩恩恩恩。。。个人不太合适,既不如C++运行效率高,没指针操作;也不如python代码简洁,有点鸡肋。之前ACM国际大赛上有队伍用过java,后来也弃用了。当然用来刷题,练java的熟练度,方便找工作的也很好,有不少同学也是这么做的;
- 主流OJ的支持较好,目测比python好。
- javascript 前端玩家打算法比赛的首选
- 之前看彦哥和然哥用过,我自己不会,感兴趣的咨询他们吧(很惭愧);
- 支持的平台较少,leetcode是支持的,但是主流的OJ支持率很惨淡。
- 总结:不同语言有不同的适用环境,一般意义上来说没有谁优谁劣,只能说对某个任务是否好用。
2. 编辑工具选择
- vim 永远的神
主键盘毁灭者,可完全无视鼠标的存在
单文件编辑最好用的编辑器
服务器文件编辑的最好选择,也许是唯一的选择
功能强大的代码补全插件,C++,python,java均支持
在编辑器内执行命令的特性让人欲罢不能
内置的gdb调试工具,代码调试较为方便
陡峭的学习曲线让人望而生畏
其他资料:
vim环境搭建
vim半小时入门官方教程。命令行执行下方代码:(如果要指定语言,用后面两个命令即可,分别是英文和中文,推荐用英文版,方便编辑)
vimtutor
vimtutor en
vimtutor zh
简要讲解vim的三种模式。
- pycharm python之友
- 不用过多解释,写python的首选工具
- idea java必选
- 也不用过多解释,写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月组会分享--算法竞赛入门及背包问题解析相关推荐
- [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-10/UVa1587:Box 代码: //UVa1587 - Box #include&l ...
- 《算法竞赛入门经典训练指南》pdf
下载地址:网盘下载 基本介绍 编辑 内容简介 <算法竞赛入门经典:训练指南>题目多选自近年来ACM/ICPC区域赛和总决赛真题,内容全面,信息量大,覆盖了常见算法竞赛中的大多数细分知识点. ...
- 算法竞赛入门经典训练指南
最近在看算法竞赛入门经典训练指南这本书,书中不错的算法我将在博客中发布,和大家共同学习. 题目: 在你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个 ...
- 刘汝佳《算法竞赛入门经典》---总结
刘汝佳:<算法竞赛入门经典> 三步: 基本的数据结构+算法知识: 数论等数学基本知识: 锻炼联想建模能力.知识与实际相结合,解决实际问题! 第一章:程序设计入门 1.a/b 当a.b为整数 ...
- 算法竞赛入门【码蹄集进阶塔335题】(MT2001-2025)
算法竞赛入门[码蹄集进阶塔335题](MT2001-2025) 文章目录 算法竞赛入门[码蹄集进阶塔335题](MT2001-2025) 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? ...
- 算法竞赛入门经典(第二版)第三章习题
声明:作者水平有限,只是会基础C语言的小菜,C++还未入门.作者仅根据算法竞赛入门经典(第二版)书上第三章习题所述题意而编写,并未严格按照原题的输入输出编写,代码仅经过个人测试(OJ网站太慢了).代码 ...
- 算法竞赛入门知识干货
前言:本篇总结一部分来自刘汝佳老师的<算法竞赛入门经典>,一部分是个人竞赛学习中的一些算法知识点总结,是初学算法走了不弯路一点点积累起来的干货,对刚刚参加竞赛的盆友应该会很有帮助,如有不足 ...
- #《算法竞赛入门经典》勘误
转自http://code.google.com/p/aoapc-book/wiki/BeginningAlgorithmContestsErrata #<算法竞赛入门经典>勘误 关于勘误 ...
- 《算法竞赛入门经典》Chap3
<算法竞赛入门经典(第二版)>第三章 思考题 题目1 必要的存储量 题目2 统计字符1的个数 示例程序 程序3-1 逆序输出 程序3-2 开灯问题 程序3-3 蛇形填数 程序3-4 竖式问 ...
最新文章
- Java EE---Spring框架创建Account小项目
- 腾讯极客挑战赛邀你“码上种树”
- IOS之截取特定字符串
- 数据结构-队列之顺序队列
- WEBGL学习【四】模型视图矩阵
- [转]java 组播
- php 转义字符处理,PHP转义与反转义字符串函数详解
- java写的小米商城_Taru-Xmall
- 自回归模型的两种策略——马尔科夫假设与隐变量自回归模型
- python出现unexpected indent_Python、unexpected indent错误解决方法
- Python字符串的‘ ’,“ ”,''' '''
- Python人脸微笑识别2-----Ubuntu16.04基于Tensorflow卷积神经网络模型训练的Python3+Dlib+Opencv实现摄像头人脸微笑检测
- 如何提高学生对计算机英语的兴趣论文,如何培养小学生英语学习的兴趣_英语论文.doc...
- 域名抢注自动提交程序详解
- 鸿蒙内核阅读笔记-定时器
- Tp6 nginx配置
- 很简单的Python小程序:使用random库 实现随机选取元素
- DP之钢管切割,最长回文字符串,最长公共子串
- Node.js常见面试题
- 简述几种人脸识别的主要方法