入门指南

学习路线

C语言
学习C++ STL
刷PTA基础语法题
学习算法基础课
在各大OJ上刷题、参加线上竞赛
参加正式竞赛
学习算法提高课

首先学习C语言基本语法,然后通过练习PTA语法题熟练掌握C语言。下一步逐渐学习C++的STL部分内容,我们会安排学习任务,在一些竞赛平台如 Codeforces 上做题和竞赛,遇到不会的算法,可以看算法基础课学习视频,我们也会找时间讲解算法。经过一段时间的学习,逐渐能够参与正式的比赛如蓝桥杯、天梯赛并取得不错的成绩。后面开始学习算法提高课,打线上竞赛,为 ICPC、CCPC 做准备。

C语言

语法基础过关,掌握以下知识:变量定义、计算和输入输出;顺序结构;选择结构;循环结构;函数;数组;结构体;指针;字符串。

刷PTA基础语法题

注册PTA账号并登录,进入右上角昵称->个人中心,点击应邀做题,填入下方邀请码,加入训练组。

1
b747fa25262a5ebb

C++ STL

  • cin、cout输入输出
  • 字符串类 string
  • 容器
    1. 顺序容器
    2. Array
    3. vector - deque
    4. list - forward_list
    5. stack - queue - priority_queue
    6. 关联容器
    7. set - moltiset
    8. map - moltimap
    9. unordered_map
    10. unordered_moltimap
    11. unordered_set
    12. unordered_moltiset
  • STL算法

Acwing算法基础课

算法基础课 - AcWing

代码源_免费高速下载

第一讲 基础算法 包括排序、二分、高精度、前缀和与差分、双指针算法、位运算、离散化、区间合并等内容。
第二讲 数据结构 包括单链表,双链表,栈,队列,单调栈,单调队列,KMP,Trie,并查集,堆,哈希表等内容。
第三讲 搜索与图论 包括DFS,BFS,树与图的深度优先遍历,树与图的广度优先遍历,拓扑排序,Dijkstra,bellman-ford,spfa,Floyd,Prim,Kruskal,染色法判定二分图,匈牙利算法等内容。
第四讲 数学知识 包括质数,约数,欧拉函数,快速幂,扩展欧几里得算法,中国剩余定理,高斯消元,求组合数,容斥原理,博弈论等内容。
第五讲 动态规划 包括背包问题,线性DP,区间DP,计数类DP,数位统计DP,状态压缩DP,树形DP,记忆化搜索等内容。
第六讲 贪心 包括区间问题,Huffman树,排序不等式,绝对值不等式,推公式等内容。

Codeforces 使用方法

安装油猴汉化插件 contests

在线竞赛:在这个版块可以参加即时的竞赛,一般在晚上22:35开始,持续2小时。难度从高到低分为div1 - div4。

problemset

题库:在这个版块可以根据题目难度和题目算法类型,筛选要训练的题目。每个题目都有一个分数,分数越高的题目越难。

rating

Rating:算法竞赛中的“排位赛”,每场比赛根据表现会加或减自己的分数。每个人都可以看到在全世界的排名,在这种设定下,选手都想为了上分提高排名而学习,产生良性竞争。

练习平台和学习网站

PTA

入门刷完语法题,为天梯赛准备。

Codeforces

俄罗斯OJ,始于2010年,一直以来都是非常热门的OJ,几乎每周都会有比赛,适合全阶段选手练习。

AtCoder

日本OJ,始于2012年,是能够和 Codeforces 媲美的国际OJ。

洛谷

主要面向OI选手(中学生信息竞赛)。有着非常友好的界面以及丰富的国内外OI题库。

牛客竞赛

很多高校的校赛在这里举办,同时也有小白月赛,牛客月赛等比赛,是一个不错的平台。

Virtual Judge

并非真实的OJ,它并不提供评测服务,只是将你提交的代码送到各个OJ评测,然后抓取评测结果返回给你。是集训队训练的主要平台之一。

AcWing

NOI金牌保送北大选手闫学灿创办的OJ。有极为优质的学习资源(包含付费),社区也很完善,你可以在上面找到志同道合的伙伴。

力扣

主要面向找工作刷题。

OI-Wiki

算法竞赛的百科全书。

Graph Editor

图编辑器,图论题画图专用。

VisualGo

算法可视化学习网站。

开发环境

Dev-C++

小熊猫C++

Code::Blocks

Visual Studio

Visual Studio Code

Sublime

CLion

入门推荐使用 Dev-C++ 或 Visual Studio,如果觉得 Dev-C++ 不好用又不想下载体积大的 Visual Studio ,可以选择小熊猫C++ 。之后推荐使用 VScode。参加天梯赛可以选择 Code::Blocks。


评论
avatar
郑航软件开发协会
郑州航院软件开发协会是一支以培养学生编程兴趣和算法能力为目标的学生团队。我们不仅在校内提供丰富的编程语言、数据结构和算法学习资源,还积极组织各种程序设计竞赛训练,为同学们创造了广阔的实践交流平台。
加入我们
公告
欢迎24级新同学 ~ (∠・ω< )⌒☆