对于刚进入大学的计算机类同学来说,算法与程序设计竞赛算是不错的选择,因为我们每天都在解决问题,锻炼着解决问题的能力。

这里以TZOJ题目为例,如果为其他平台题目我会标注出来,同时我的主页也欢迎大家去访问,探索新平台去提高自己

ACM竞赛随机性会比较大,所以新手请掌握好基础,基础不牢,地动山摇(大一上)

  1. C语言题 包括TZOJ1452在内的60道C语言实验题,可以利用OJ的搜索,由于这种题目比较多,就不一一列举
  2. 暴力枚举 3449 5125 4604 2626
  3. 递归 1483
  4. 模拟 1093 3715 3726 3727 4391 1148
  5. 构造 这种题往往在CF中会遇到 刷题集点这里,就是都是英文题

TZOJ200题以后可以尝试着去刷一些简单的算法(大一上以及大一下)

  1. 前缀后缀和 1532 4262
  2. 二分 5629 1597 1041 3044(二分100次)
  3. 排序(归并排序) 2452
  4. 贪心 1332 5059 1004 3110 4493
  5. dfs 2777 4408 4833 3104 3360
  6. bfs 3533 1335 1748 3031

TZOJ300题以后可以尝试着去刷一些简单的算法和数据结构,要参加天梯赛就得刷会了(大一下以及大二上)

  1. 并查集
  2. 最短路(Floyd Dijkstra Bellman-Ford)
  3. 最小生成树(Kruskal Prim)
  4. stl的应用
  5. 拓扑排序

TZOJ500题左右就可以入门算法了,在省赛中往往用得到。这里也非常推荐一个题目集USCAO

  1. 背包 台州学院基础算法学习之背包
  2. 容斥
  3. 图论基础
  4. 凸包
  5. 树状数组
  6. 字典树
  7. 矩阵快速幂

之后大概每个队伍都要分方向了,建议可以打打CF atcoder Wannafly hiho

队伍中有一个人尝试下51nod 的三级算法题或五级算法题

内容往往不是割裂的,而是组合的

图论方向

  1. 二分图
  2. 网络流
  3. 强连通分量
  4. 割边和割点
  5. 树的直径
  6. LCA(最近公共祖先)
  7. 差分约束
  8. 树分块

动态规划方向

  1. 最长上升(不下降等等)子序列
  2. 区间DP
  3. 环形DP
  4. 状压DP
  5. 概率DP
  6. 树形DP
  7. 单调队列优化DP

数据结构方向

  1. 线段树
  2. 莫队

字符串方向

  1. KMP 2897
  2. HSAH
  3. AC自动机
  4. SA(后缀数组)
  5. SAM (后缀自动机)

组合数学方向

  1. 母函数
  2. 线性求逆元
  3. 组合数  51nod 1829
  4. 组合数学上的dp累加

计算几何方向

  1. 扫描线 Color it
  2. 线段求交
  3. 半平面交
  4. 随机化算法

数论方向

  1. 费马小定理 3151
  2. 扩展欧几里得 3343
  3. 高斯消元 1676 2968
  4. 欧拉函数 3303
  5. 莫比乌斯函数
  6. 积性函数
  7. FFT(快速傅里叶变换) 5482 Gym - 101667H  CodeForces - 528D
  8. Miller-Rabin 素数检测 2646 4383
  9. RSA等加密算法 1196

线段求交 5625

计算机网络配置 Gym 100623A

转载于:https://www.cnblogs.com/BobHuang/p/10720172.html

ACM基础算法入门及题目列表相关推荐

  1. 暑期集训2:ACM基础算法 例1:POJ-1064

    2018学校暑期集训第二天--ACM基础算法 例一  --  POJ - 1064 Cable master Inhabitants of the Wonderland have decided to ...

  2. 贝叶斯公式由浅入深大讲解—AI基础算法入门

    1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定 ...

  3. 贝叶斯公式由浅入深大讲解—AI基础算法入门【转】

    本文转载自:https://www.cnblogs.com/zhoulujun/p/8893393.html 1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生, ...

  4. 暑期集训2:ACM基础算法 练习题G:POJ - 1298

    2018学校暑期集训第二天--ACM基础算法 练习题G  --  POJ - 1298 The Hardest Problem Ever Julius Caesar lived in a time o ...

  5. 暑期集训2:ACM基础算法 练习题C:CF-1008A

    2018学校暑期集训第二天--ACM基础算法 练习题A  --   CodeForces - 1008A Romaji Vitya has just started learning Berlanes ...

  6. 暑期集训2:ACM基础算法 练习题B:CF-1008B

    2018学校暑期集训第二天--ACM基础算法 练习题B  --   CodeForces - 1008B Turn the Rectangles There are nn rectangles in ...

  7. 暑期集训2:ACM基础算法 练习题A:CF-1008C

    2018学校暑期集训第二天--ACM基础算法 练习题A  --  CodeForces - 1008C Reorder the Array You are given an array of inte ...

  8. 暑期集训2:ACM基础算法 例2:POJ-2456

    2018学校暑期集训第二天--ACM基础算法 例二  --   POJ - 2456 Aggressive cows Farmer John has built a new long barn, wi ...

  9. 详解ACM基础算法—DFS深度优先搜索算法 HIT杨朔

    深度优先搜索(DFS)是搜索手段之一.是从某个状态开始不断转移状态直到无法转移为止,然后退回到前一步状态继续转移其他状态,可以想象为一个沿树爬行的虫子,在一个交叉口他会首先随机选择一条分岔路口一直走下 ...

最新文章

  1. 600页!分享珍藏很久的《推荐系统学习手册》(附链接)
  2. iOS - UIAlertController
  3. Java如何调用dll
  4. OCM备考 三. Managing Database Availability 之RMAN日常操作
  5. SQL JOIN\SQL INNER JOIN 关键字\SQL LEFT JOIN 关键字\SQL RIGHT JOIN 关键字\SQL FULL JOIN 关键字...
  6. 大连交通大学计算机网络,计算机网络题库(大连交通大学)chapter5.doc
  7. linux卸载交叉工具,linux-如何从crosstool-ng工具链名称中删除供应...
  8. [存档]获取通讯录信息并写到SD卡上
  9. C/C++ -- Gui编程 -- Qt库的使用 -- 使用.ui文件
  10. linux模拟dnf,每天学一个 Linux 命令:dnf
  11. 普通路由器改4g路由器_4G工业路由器在安防领域中的应用
  12. 电脑录屏软件哪个最好用?都是高效高清!
  13. input函数使用及运算符
  14. AndroidOTA增量包(差分包)制作记录
  15. python 类和对象的实例简介
  16. 微信记录恢复软件MMRecovery下载与使用方法
  17. 乙女心,养的第一株多肉小植物
  18. 阿里P7爆款《K8s+Jenkins》技术笔记,读了后确实有实质性的帮助
  19. 【C语言】—— qsort()函数的使用
  20. Unity 安卓 apk 反编译 重新打包 签名修改

热门文章

  1. 菜鸟学习Android开发日志
  2. matlab常用转义字符表,Matlab字体转义字符
  3. 登录界面 动画背景效果
  4. router-link的用法
  5. 网红泡泡屋,是如何火爆餐饮、民宿及景区市场的?
  6. 20230107英语学习
  7. Slam学习笔记——ROS踩坑记录
  8. 网格编程基础--01
  9. NOI 2014 动物园
  10. 软件评测师-1.计算机系统构成及硬件基础知识