ACM常用算法及练习

知识类型 重要度 容易度 应掌握度 典型题 其他
         
数据结构(5) 链表 ★★☆ ★★★ ★★☆    
栈 stack ★★★ ★★★ ★★★ HLoj1207 HDoj_1022
队列 queue ★★★ ★★★ ★★★    
并查集 ★★★ ★★☆ ★★★ HDoj_1213 HLoj1050
二叉堆和优先队列 ★★☆ ★★★ ★★☆ HDoj_1873  
二叉排序树 ★☆☆ ★★☆ ★☆☆    
字典树(Trie) ★★☆ ★☆☆ ★☆☆ HDoj_1251  
线段树 ★★☆ ★☆☆ ★★☆ Zoj_1514 Hdoj_1556
Hash表 ★★☆ ★★☆ ★★☆ HDoj_1800 HDoj_1880
树状数组 ★☆☆ ★☆☆ ★☆☆    
             
STL(1) Container          
vector ★★★ ★★★ ★★★    
list ★★☆ ★★★ ★★☆ HLoj_1053  
queue ★★★ ★★★ ★★★    
stack ★★★ ★★★ ★★★ HLoj1207 HDoj_1022
set ★★☆ ★★☆ ★★☆ Hdoj_1106, Hdoj_1412  
map ★★★ ★☆☆ ★★★ HDoj_1800  
Algorithm          
sort ★★★ ★★★ ★★★    
reverse ★★★ ★★★ ★★★ HDoj_1266  
find ★★☆ ★☆☆ ★★☆    
max_element/min_element ★★☆ ★☆☆ ★☆☆ HDoj_2025  
replace ★★☆ ★★☆ ★☆☆ Zoj_2741  
             
数学(1) 最大公约(最小公倍) ★★★ ★★★ ★★★ HDoj_1019  
扩展欧几里德算法 ★☆☆ ★☆☆ ★☆☆ HDoj_2669  
素数判定(eratosthenes筛选法) ★★★ ★★★ ★★★ HLoj_1232 HDoj_1262
同余 ★★☆ ★★☆ ★★☆ HDoj_1420 HDoj_1395
利用log来降低计算难度 ★☆☆ ★★☆ ★☆☆ HDoj_1060  
进制转换 ★★★ ★★★ ★★★    
高精度,大整数 ★★★ ★★☆ ★★★    
           
Fibonacci ★★★ ★★☆ ★★★ HDoj_2070 HLoj_1020,HLoj_1186
Catalan ★★☆ ★☆☆ ★☆☆ HDoj_1134  
欧拉函数 ★★☆ ★☆☆ ★☆☆ HDoj_2824 Hdoj_1787
约瑟夫问题 ★★☆ ★★☆ ★★☆ HLoj_1185 HDoj_2925
stirling数 ★☆☆ ★☆☆ ★☆☆ HDoj_2512  
             
图论(3) 哈夫曼树,最优二叉树 ★☆☆ ★☆☆ ★☆☆ HDoj_1053  
图的表示          
邻接矩阵 ★★★ ★★★ ★★★    
邻接表 ★★☆ ★★☆ ★★☆    
最短路径          
Dijkstra ★★★ ★★☆ ★★☆ HDoj_1874  
Floyd ★★☆ ★★★ ★★☆ HDoj_1869  
最小生成树          
Prim ★★★ ★★☆ ★★★ HLoj_1014 HDoj_1102
Kruscal ★★★ ★★☆ ★★★ HDoj_1232  
图的遍历          
连通图判断(BFS,DFS) ★★★ ★★☆ ★★★ HDoj_1878  
其他          
拓扑排序 ★☆☆ ★☆☆ ★☆☆ HDoj_1285  
欧拉图(一笔画问题)判断 ★★☆ ★★☆ ★★☆ HDoj_1878  
二部图与匈牙利算法最大独立集 ★★☆ ★☆☆ ★★☆ HDoj_1068  
网络流(5) ★☆☆ ★☆☆ ★☆☆    
             
算法(2) 递归和分治 ★★☆ ★★☆ ★★☆ Zoj2922 Zoj2855
           
贪心算法          
会场安排问题 ★★☆ ★★☆ ★★☆ HLoj_1203 HDoj_2037
不完全背包问题 ★★★ ★★★ ★★★ HDoj_1009  
           
动态规划          
1、最长上升子序列 LIS ★★★ ★★☆ ★★★ HDoj_1257 HLoj_1064
2、最长公共子序列 LCS ★★★ ★★☆ ★★★ HDoj_1159 HDoj_3779
3、递推 ★★☆ ★★☆ ★★☆ HLoj_1041 HDoj_2044-2050
4、母函数 ★☆☆ ★★☆ ★☆☆ HDoj_1171 HDoj_1709
5、数塔类 ★★★ ★★★ ★★★ HDoj_2084 HDoj_1176
6、最大子段类 ★★★ ★★☆ ★★★    
最大子段和 ★★★ ★★☆ ★★★ HDoj_1231 HDoj_1422
最大子阵和 ★★★ ★☆☆ ★★☆ HDoj_1559 HDoj_1081
最大m子段和 ★☆☆ ★☆☆ ★☆☆ HLoj_7011  
7、背包问题          
01背包,完全背包,多重背包 ★★★ ★★☆ ★★★ HLoj_1006 HDoj_3732
二维背包 ★★★ ★★☆ ★★☆ HLoj_1039 HDoj_3496
有依赖的背包 ★★☆ ★☆☆ ★☆☆ HLoj_1067  
           
8、树形DP ★★☆ ★☆☆ ★☆☆ HDoj_1520  
9、DP之备忘录,记忆化搜索 ★★★ ★★☆ ★★☆ Poj_1088 HDoj_1078,HDoj_3779
           
回溯DFS          
子集树 ★★★ ★★☆ ★★★ HLoj_1004  
排列树 ★★★ ★★☆ ★★☆ HLoj_1004 HLoj_1227,HDoj_1572
           
分支限界BFS          
BFS ★★★ ★★☆ ★★☆ HDoj_1242 HLoj_1241
             
其他(1)            
找规律/周期 ★★☆ ★★☆ ★★☆ HDoj_1005 HDoj_1061
打表/备忘录方式 ★☆☆ ★★☆ ★☆☆ HDoj_2041 HDoj_2212
大整数处理(加,减,乘) ★★★ ★★★ ★★★ Hdoj_1592 Hdoj_1316
串流stringstream ★★★ ★★☆ ★★★ HDoj_2072  
博弈 ★☆☆ ★☆☆ ★☆☆    
             
几何(1) 叉积/面积 点/线/多边形        
基本形 两直线相交/两线段相交/点在任意多边形内的判定        
相关判定          
凸包          

未完待续~~~

ACM常用算法及练习(2)的更多相关文章

  1. ACM常用算法及练习(1)

    ACM常用算法及练习 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来. 1.最短 ...

  2. ACM常用算法

    数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列 双端队列 可并堆 左偏堆 二叉查找树 Treap 伸展树 并查集 集合计数问题 二分图的识别 平衡二叉树 二叉排序树 线段树 一维线段树 二维 ...

  3. 总结Objective-c常用算法

          今天是星期天,想睡到10点起床,结果认为自己太奢侈了,不能这么做,于是把闹钟设置成了6:30:结果终于9:36醒了,起床,无缘无故迟了,好吧,就算太累了吧,周天就原谅自己一回.终于到了中午 ...

  4. Atitit 编程语言常用算法attilax总结

    Atitit 编程语言常用算法attilax总结 1. 编译算法分类and   数据操作算法.1 1.1. Tab driver stat  状态转换表格算法1 1.2. Nest case 词法分析 ...

  5. GJM : 数据结构 - 轻松看懂机器学习十大常用算法 [转载]

     转载请联系原文作者 需要获得授权,非法转载 原文作者将享受侵权诉讼 文/不会停的蜗牛(简书作者)原文链接:http://www.jianshu.com/p/55a67c12d3e9 通过本篇文章可以 ...

  6. acm常见算法及例题

    转自:http://blog.csdn.net/hengjie2009/article/details/7540135 acm常见算法及例题  初期:一.基本算法:     (1)枚举. (poj17 ...

  7. C/C++常用算法【C语言顺序查找(随机数)】【1】

    这是我学习唐峻,李淳的<C/C++常用算法第一天> 1.8.1. 查找数字: 程序随机生成一个拥有20个整数数据的数组,然后输入要查找的数据.接着,可以采用醉简单的逐个对比的方法进行查找, ...

  8. Python之路,Day21 - 常用算法学习

    Python之路,Day21 - 常用算法学习   本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的 ...

  9. python 下的数据结构与算法---2:大O符号与常用算法和数据结构的复杂度速查表

    目录: 一:大O记法 二:各函数高阶比较 三:常用算法和数据结构的复杂度速查表 四:常见的logn是怎么来的 一:大O记法 算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记 ...

随机推荐

  1. 【Demo】 生成二维码 和 条形码

    条形码 和 二维码 对比 一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准. 在水平和垂直方向的二维空间存储信息的条形码, 称为 ...

  2. lua环境安装 转

    curl -R -O http://www.lua.org/ftp/lua-5.2.2.tar.gz tar zxf lua-5.2.2.tar.gz cd lua-5.2.2 make linux ...

  3. cordova插件iOS平台实战开发注意点

    cordova插件是其设计理念的精髓部分,创建并使用自定义插件也是一件比较容易的事.但在这个过程中也容易进入一些误区或者有一些错误的理解,下面从笔者实际开发中遇到的问题出发,对其中的一些注意点和重要概 ...

  4. 管子&小白

    管夷吾已入朝,稽首谢罪,桓公亲手扶起,赐之以坐.夷吾曰:“臣乃俘戮之余,得蒙宥死,实为万幸,敢辱过礼!”桓公曰:“寡人有问于子,子必坐,然后敢请."夷吾再拜就坐. 桓公曰:“齐,千乘之国,先 ...

  5. Python 链接Mysql数据库

    参考链接:https://pypi.python.org/pypi/PyMySQL#downloads import pymysql.cursors,xml.dom.minidom # Connect ...

  6. 创建podSpec,使用pod管理第三方库

    提要: podfile文件会先读取.podspec文件,根据.podspec文件的指向来下载第三方库到项目中. 本文先通过一.二.三项,这三个步骤讲解了如何建立一个.podspec文件在本地.coco ...

  7. json的eval为什么要用msg.d

    在做一个关于搜索功能时用到了jquery autocomplete,发现返回数据时都用到了一个.d,比如: var datas = eval('(' + msg.d + ')'); 这个.d是什么呢, ...

  8. [LeetCode]题解(python):083 - Remove Duplicates from Sorted List

    题目来源 https://leetcode.com/problems/remove-duplicates-from-sorted-list/ Given a sorted linked list, d ...

  9. mysql日期加减

    mysql日期加减一.MySQL 为日期增加一个时间间隔:date_add().1.  示例:set @dt = now();select date_add(@dt, interval 1 day); ...

  10. iOS小技巧2

    这段代码是实现了类似QQ空间"我的空间"里面的圆形头像 //圆形的头像 UIImageView * headImage = [[UIImageView alloc]initWith ...