paoxiaomo的XCPC算法竞赛训练经验

楼主作为一个普通二本的ICPC选手,在0基础的情况下凭借自学,获得过南昌邀请赛金牌,杭州区域赛银牌,一路上经历过不少的跌宕起伏,如今将曾经摸索出来的学习路线分享给大家

一,语言基础

学习C++语言基础语法,尝试简单循环,递归等算法的实现,学习C++STL库,了解基本用法,刷洛谷的入门,基础题,熟练运用c++进行基本的实现,夯实基础。掌握基本调试技巧。

二,算法筑基

针对洛谷上的知识点题单进行板刷,掌握动态规划,图论基础,数论基础等基础算法,如:

●双指针/滑动窗口

●DFS/BFS

●动态规划基础

●图论基础

●数论基础

一般做题难度在绿题和黄题之间,可以参加codeforces的div3,4

三,算法进阶

1,研究数据结构

掌握如下数据结构的原理,最好能手撕:

●树状数组

●线段树(最好会可持久化线段树)

2,掌握进阶算法

●各种数位DP

●网络流

●字符串基础(kmp/字典树)

3,实战训练

●CF每周都打,目标1600+,补到div2D难度的题

●VP区域赛并补到铜牌题

ACM过往的拿牌团队中,至少有一人达到1600分,到达1600后初步有冲击铜牌的水平

四,比赛冲刺

学习所有高级算法几乎是不可能的,我们要有取舍。

1,高阶算法学习

部分高阶算法可以不用全部学会,可以选择几个方向重点突破,我列举其中几个

●各种平衡树应用(Link-cut-tree,分裂,合并)

●后缀自动机以及后缀自动机相关应用(自动机上DP等)

●计算几何(旋转卡壳等,需要有一套无惧卡精度的板子)

●多项式全家桶(NTT,FFT等)

2,思维强化

●CF冲击1900(补题到div2E)

●VP正式比赛补题到银牌,自己擅长的方向补到金牌

3,战略优化

●制定团队分工和开题策略

●一起VP磨合沟通能力

在这过程中可以建立个人代码板子库,我的代码板子库:https://gitee.com/paoxiaomo/xcpc,实战可以有效提升A题速度

个人训练记录:

相关推荐
blasit1 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
AI软著研究员1 天前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish1 天前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱1 天前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者2 天前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮2 天前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者2 天前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考2 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx2 天前
CART决策树基本原理
算法·机器学习
Wect2 天前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript