ACM基础算法入门及题目列表
对于刚进入大学的计算机类同学来说,算法与程序设计竞赛算是不错的选择,因为我们每天都在解决问题,锻炼着解决问题的能力。
这里以TZOJ题目为例,如果为其他平台题目我会标注出来,同时我的主页也欢迎大家去访问,探索新平台去提高自己
ACM竞赛随机性会比较大,所以新手请掌握好基础,基础不牢,地动山摇(大一上)
- C语言题 包括TZOJ1452在内的60道C语言实验题,可以利用OJ的搜索,由于这种题目比较多,就不一一列举
- 暴力枚举 3449 5125 4604 2626
- 递归 1483
- 模拟 1093 3715 3726 3727 4391 1148
- 构造 这种题往往在CF中会遇到 刷题集点这里,就是都是英文题
TZOJ200题以后可以尝试着去刷一些简单的算法(大一上以及大一下)
- 前缀后缀和 1532 4262
- 二分 5629 1597 1041 3044(二分100次)
- 排序(归并排序) 2452
- 贪心 1332 5059 1004 3110 4493
- dfs 2777 4408 4833 3104 3360
- bfs 3533 1335 1748 3031
TZOJ300题以后可以尝试着去刷一些简单的算法和数据结构,要参加天梯赛就得刷会了(大一下以及大二上)
- 并查集
- 最短路(Floyd Dijkstra Bellman-Ford)
- 最小生成树(Kruskal Prim)
- stl的应用
- 拓扑排序
TZOJ500题左右就可以入门算法了,在省赛中往往用得到。这里也非常推荐一个题目集USCAO
- 背包 台州学院基础算法学习之背包
- 容斥
- 图论基础
- 凸包
- 树状数组
- 字典树
- 矩阵快速幂
之后大概每个队伍都要分方向了,建议可以打打CF atcoder Wannafly hiho
队伍中有一个人尝试下51nod 的三级算法题或五级算法题
内容往往不是割裂的,而是组合的
图论方向
- 二分图
- 网络流
- 强连通分量
- 割边和割点
- 树的直径
- LCA(最近公共祖先)
- 差分约束
- 树分块
动态规划方向
- 最长上升(不下降等等)子序列
- 区间DP
- 环形DP
- 状压DP
- 概率DP
- 树形DP
- 单调队列优化DP
数据结构方向
- 线段树
- 莫队
字符串方向
- KMP 2897
- HSAH
- AC自动机
- SA(后缀数组)
- SAM (后缀自动机)
组合数学方向
- 母函数
- 线性求逆元
- 组合数 51nod 1829
- 组合数学上的dp累加
计算几何方向
- 扫描线 Color it
- 线段求交
- 半平面交
- 随机化算法
数论方向
- 费马小定理 3151
- 扩展欧几里得 3343
- 高斯消元 1676 2968
- 欧拉函数 3303
- 莫比乌斯函数
- 积性函数
- FFT(快速傅里叶变换) 5482 Gym - 101667H CodeForces - 528D
- Miller-Rabin 素数检测 2646 4383
- RSA等加密算法 1196
线段求交 5625
计算机网络配置 Gym 100623A
ACM基础算法入门及题目列表的更多相关文章
- 贝叶斯公式由浅入深大讲解—AI基础算法入门
1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定 ...
- 贝叶斯公式由浅入深大讲解—AI基础算法入门【转】
本文转载自:https://www.cnblogs.com/zhoulujun/p/8893393.html 1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生, ...
- 强化学习基础算法入门 【PPT】
该部分内容来自于定期的小组讨论,源于师弟的汇报. ==============================================
- java入门学习(3)—循环,选择,基础算法,API概念
1.顺序结构:也就是顺着程序的前后关系,依次执行.2.选择分支:利用if..else , / switch(){case [ 这个必须是常量]:}; / if..else if….. ….else.. ...
- POJ 动态规划题目列表
]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322 ...
- dp题目列表
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- poj 动态规划题目列表及总结
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- 循环冗余校验(CRC)算法入门引导
目录 写给嵌入式程序员的循环冗余校验CRC算法入门引导 前言 从奇偶校验说起 累加和校验 初识 CRC 算法 CRC算法的编程实现 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌 ...
- (转)三角函数计算,Cordic 算法入门
由于最近要使用atan2函数,但是时间上消耗比较多,因而网上搜了一下简化的算法. 原帖地址:http://blog.csdn.net/liyuanbhu/article/details/8458769 ...
随机推荐
- Java的感受
感觉Java很重要,但是学起来好像并不比C语言简单.
- 配置伪静态(URL重写)
本篇借鉴了很多文章,这里做个记录. 有时我们的导航栏出现xx.aspx?id=x&name=xx 等等这样,会显得不好看,我们可以利用伪静态来美化我们的导航栏,伪静态的形式可以自己定义,本质还 ...
- 前端css优先级以及继承
1.css优先级以及继承 css具有两大特性:继承性和层叠性 继承性 继承:给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承. 有一些属性是可以继承下来 : color . fo ...
- 知识总结和记录——Bootstrap
官方地址:https://getbootstrap.com 中文地址:http://www.bootcss.com/ 使用V3版本的Bootstrap,下载的是用于生产环境的Bootstrap. 目录 ...
- 关于Pycharm基本操作笔记
创建 project(工程,译音:破拽科特) 1.Create New project(创建一个新的工程,译音:科瑞特 纽 破摘科特) 2.pure python(纯派森,译音:皮忧儿 派森) 3.l ...
- 设置vim tab为4个空格
Vim 编辑器默认tab为8个空格,但对于pythoner来说,必须要调整到4个空格. 方法如下: 在~/.vimrc文件中加入下面设置: set ts=4 #设置tabstop为4个空格 set e ...
- Jenkins持续化集成
Jenkins介绍 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 安装环境 操作系统:lin ...
- mysql8.0 忘记root密码
先打开一个cmd:net stop mysql //关闭mysql服务mysqld --shared-memory --skip-grant-tables//跳过登录密码在不关闭第一个CMD的情况下打 ...
- [Codeforces86D]Powerful array(莫队算法)
题意:定义K[x]为元素x在区间[l,r]内出现的次数,那么它的贡献为K[x]*K[x]*x 给定一个序列,以及一些区间询问,求每个区间的贡献 算是莫队算法膜版题,不带修改的 Code #includ ...
- javaScript编辑器sublime的安装
最近在学习js,学习任何一门语言之前,当然免不了最初的环境安装: 见:http://www.cnblogs.com/zhcncn/p/4113589.html