competitive-programming

competitive-programming

完整算法竞赛编程学习资源与指南

该项目是一个全面的算法竞赛编程学习资源库,涵盖主流编程平台、知名竞赛信息、推荐书籍以及按主题分类的学习材料。内容包括核心数据结构、搜索排序算法和数学知识总结。适合不同水平的程序员提升竞赛编程技能,是一个系统学习的宝贵指南。

竞争性编程算法数据结构编程比赛问题解决Github开源项目

横幅

竞争性编程 :high_brightness::high_brightness:

你好,程序员们💻, 这里是你所有竞争性编程资源的一站式目的地。

:pushpin::pushpin: 什么是竞争性编程? :pushpin::pushpin:

在我看来,竞争性编程是一项运动。这项运动基于问题解决能力、思维能力、速度测试、规律性和精确性。竞争性编程将帮助你建立逻辑并实施该逻辑来解决现实世界的问题。对代码进行头脑风暴不仅会提高你的编码技能,还会帮助扩展你的思维能力。因此,日常练习竞争性编程有助于你掌握特定的编程语言。相信我们,如果你经常参与这项运动,你就已经为面试的技术轮做好了准备。那么现在让我们一起潜入竞争性编程的海洋吧。

练习竞争性编程的平台 :telescope::telescope:

竞争性编程的好处

竞争性编程所需的技能对你作为开发者的职业生涯有长期的益处。参与竞争性编程有许多好处,包括:

求职:参与竞争性编程可以使你成为公司青睐的候选人。当你参加像ACM国际大学生程序设计竞赛这样的大型比赛时,你有很好的机会进入苹果、Facebook、IBM、谷歌等公司的视线。科技公司会关注这些比赛和活动以寻找潜在的员工。大型竞争性编程活动非常有声望且难以取得成功,所以如果你表现出色,这就是你技术才能和能力的一个指标。这就是为什么许多公司赞助编程比赛的原因。

团队合作技能:当你参与这些比赛时,你经常会在团队中工作,这意味着你学会了如何在高压时刻与队友互动。这是一项非常重要的技能。当你作为软件工程师工作时,你几乎总是会与他人合作,这意味着公司非常看重你的沟通和团队技能。此外,大多数团队都会有一个领导。如果你是团队的领导,这就展示了管理技能,使你成为更加理想的候选人。公司希望知道你能够有效并舒适地与队友合作。

面试准备:当你尝试获得一份工程工作时,公司会测试你对数据结构和算法的了解。当你参与竞争性编程时,你会努力发展对这些概念的深入理解。此外,编码面试和竞争性编程的环境非常相似。它们都是高压环境,你必须在其中进行问题解决。虽然许多人可能无法适应这种环境,但你的比赛经验给了你一个优势。

最著名的编程比赛 :crown: :crown:

即将到来的比赛时间表 - https://clist.by/

书籍 :high_brightness::high_brightness:

算法 :high_brightness::high_brightness:

代码可视化 :high_brightness::high_brightness:

学习资源(按主题) :checkered_flag::checkered_flag::checkered_flag:

大 O 表示法


C++ 中的 STL


二分查找

问题

  • 分配最少页数(GFG)
  • 愤怒的奶牛(SPOJ)
  • Prata(SPOJ)
  • 画家分区(GFG)
  • EKO(SPOJ)
  • 用二分查找求平方根(GFG)
  • 有序数组中的向下取整和向上取整(GFG)
  • 元素的第一次和最后一次出现(GFG)
  • 有序数组中元素的计数(GFG)
  • 在旋转排序数组中搜索(leetcode)
  • 日志(Atcoder)
  • 在二维矩阵中搜索(Leetcode)
  • 第一个错误版本(Leetcode)
  • 加热器(Leetcode)

数论(数学)


递归和回溯


位运算


图论


动态规划


编程平台


重要数据结构:


搜索

  • 线性搜索
  • 二分搜索
  • 三分搜索
  • 跳跃搜索
  • 插值搜索
  • 指数搜索

排序

  • 选择排序
  • 冒泡排序
  • 插入排序
  • 归并排序
  • 快速排序
  • 堆排序
  • 基数排序
  • 计数排序
  • 桶排序

数学:

播放列表

数论

  • 素数生成(筛法、分段筛法)
  • 欧拉函数定理
  • 费马定理
  • 最大公约数和最小公倍数(欧几里得算法)
  • 扩展欧几里得算法
  • 斐波那契数列
  • 中国剩余定理
  • 线性丢番图方程(扩展欧几里得)
  • 二进制幂
  • 模运算(加法、乘法、减法、模逆元)

概率论

  • 基本概率和条件概率
  • 随机变量
  • 概率生成函数
  • 期望
  • 概率分布 [二项分布、泊松分布、正态分布、伯努利分布]

线性代数

  • 矩阵乘法(Strassen算法)、对数幂
  • 矩阵变换 [转置、矩阵旋转、用矩阵表示线性变换]
  • 矩阵的行列式、秩和逆 [高斯消元法、高斯-约当消元法]
  • 解线性方程组
  • 矩阵幂解递推关系

博弈论 - 视频


贪心算法

问题

  • BUSY MAN(SPOJ)
  • BIASED STANDINGS(SPOJ)
  • life(SPOJ)
  • Defense of a kingdom (SPOJ)
  • Chopsticks(Codechef)
  • EXPEDI(SPOJ)
  • 分数背包(GFG)
  • DIE HARD(SPOJ)
  • GREGOVIA(SPOJ)
  • SOLDIER(SPOJ)
  • CHOCOLA(SPOJ)
  • CMIYC(SPOJ)
  • Station Balance(UVA)
  • 霍夫曼编码(GFG)
  • Maximun Unique Segments(Codechef)
  • 埃及分数(GFG)
  • 作业排序(GFG)
  • Maximum Circles(HackerBlocks)
  • Codeforces Subsequences(Codeforces)
  • Good Strings(Codeforces)
  • Palindromic Paths(Codeforces)
  • Gas Pipeline(Codeforces)

图论:

播放列表

图的表示

  • 邻接矩阵
  • 邻接表

图的类型

  • 有向图
  • 无向图
  • 加权图
  • 非加权图
  • 欧拉图

图的概念

  • 深度优先搜索
  • 广度优先搜索
  • 强连通分量
  • 连通分量
  • 环检测
  • 割点
  • 拓扑排序
  • 二分图检测
  • 泛洪算法

图/树算法

  • Prim算法
  • Kruskal算法
  • Dijkstra算法
  • Bellman-Ford算法
  • Floyd Warshall算法
  • 欧拉回路
  • 使用二进制提升的最近公共祖先
  • Kruskal最小生成树算法

动态规划

播放列表

经典问题

  • 斐波那契数列
  • 最长公共子串
  • 最长递增子序列
  • 最长回文子串
  • 编辑距离
  • 扔鸡蛋问题
  • 0-1背包问题
  • 无限背包问题
  • 子集和问题
  • 硬币找零组合
  • 硬币找零排列
  • 最长公共子序列
  • 无重复字符的最长子串
  • 矩阵链乘法
  • 最大全1正方形子矩阵
  • 最长链
  • 卡特兰数及其应用
  • 蛇梯棋问题
  • 单词拆分问题
  • N皇后问题

问题和疑问

感谢您的贡献 :pray: :dizzy:

105

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多