acm学习指引
acm学习心得及书籍推荐
一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。
下面给个计划练练:
第一阶段:练经典常用算法,下面的每个算法打上十到二十遍,同时自己精简代码。因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来.
1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成树(先写个prim,kruscal要用并查集,不好写)
3.大数(高精度)加减乘除
4.二分查找. (代码可在五行以内)
5.叉乘、判线段相交、然后写个凸包.
6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.
8. 调用系统的qsort, 技巧很多,慢慢掌握.
9. 任意进制间的转换
第二阶段:练习复杂一点,但也较常用的算法。
如:
1. 二分图匹配(匈牙利),最小路径覆盖
2. 网络流,最小费用流。
3. 线段树.
4. 并查集。
5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp
6.博弈类算法。博弈树,二进制法等。
7.最大团,最大独立集。
8.判断点在多边形内。
9. 差分约束系统.
10. 双向广度搜索、A*算法,最小耗散优先.
给学习算法的人一点买书的建议吧。
入门三本:
《数据结构与算法》(傅清祥,王晓东编著,我所见过的最好的算法教材)

程序设计导引及在线实践 作者: 李文新

ACM程序设计培训教程 吴昊
基础提高:
算法设计与分析 这是国内牛人王晓东的大作,非常不错的算法书

算法设计与试验题解 王晓东

计算几何-算法设计与分析 周培德

组合数学 第三版 冯舜玺 译

算法艺术与信息学竞赛 刘汝佳的杰作,引导着信息学竞赛的发展

如果算法导论是九阳神功,那这本无疑就是九阴真经。本书是专为参加一些诸如ACM之类程序设计比赛的同学而写的,江湖人称“黑书”。里面讲的都是一些在编程比赛中常用的算法、数据结构,以及一些数论和计算几何等。我虽然并不搞竞赛,但也从此书中受益颇多。
国际信息学奥林匹克竞赛指导— — 实用算法的分析与程序设计 吴文虎 王建德
Introduction to Algorithm 科曼著 传说中的宝典

Algorithms 算法概论

短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好消息:习题很经典,难度也适中,只需花点点时间自己也都能做出来。另有中文版名《算法概论》,如果有心的话,还是尽量看原版吧,其实看原版与看中文版花费时间不会相差很大,因为大部分时间其实都花费在做习题上了。
Algorithm Design 算法设计

《程序设计中的组合数学》 吴文虎
《ACM国际大学生程序设计竞赛试题与解析》全部册(吴文虎著,清华大学出版社)

acm学习指引的更多相关文章
- ACM学习-POJ-1143-Number Game
菜鸟学习ACM,纪录自己成长过程中的点滴. 学习的路上,与君共勉. ACM学习-POJ-1143-Number Game Number Game Time Limit: 1000MS Memory ...
- ACM学习-POJ-1125-Stockbroker Grapevine
菜鸟学习ACM,纪录自己成长过程中的点滴. 学习的路上,与君共勉. ACM学习-POJ-1125-Stockbroker Grapevine Stockbroker Grapevine Time Li ...
- ACM学习-POJ-1003-Hangover
菜鸟学习ACM,纪录自己成长过程中的点滴. 学习的路上,与君共勉. ACM学习-POJ-1003-Hangover Hangover Time Limit: 1000MS Memory Limit ...
- ACM学习-POJ-1004-Financial Management
菜鸟学习ACM,纪录自己成长过程中的点滴. 学习的路上,与君共勉. ACM学习-POJ-1003-Financial Management Financial Management Time Limi ...
- ACM学习
转:ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. US ...
- Swift 学习指引
以下指引是基于最新的 Swift 4.0 为基础为而言. 如你在参考3.0以下版本, 那你就不要说你会 Swift, 3.0 之前是 Objective-C 的搬迁(80%),是不成熟的语言, 看着很 ...
- 完成了C++作业,本博客现在开始全面记录acm学习历程,真正的acm之路,现在开始
以下以目前遇到题目开始记录,按发布时间排序 ACM之递推递归 ACM之数学题 拓扑排序 ACM之最短路径做题笔记与记录 STL学习笔记不(定期更新) 八皇后问题解题报告
- ACM学习历程—HDU 5512 Pagodas(数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5512 学习菊苣的博客,只粘链接,不粘题目描述了. 题目大意就是给了初始的集合{a, b},然后取集合里 ...
- ACM学习历程—HDU5521 Meeting(图论)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521 学习菊苣的博客,只粘链接,不粘题目描述了. 题目大意就是一个人从1开始走,一个人从n开始走.让最 ...
随机推荐
- JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)
FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...
- angularJs模版注入的两种方式
一,声名式注入 1:app.js: var myApp = angular.module("myApp",["ngRoute"]); 2:controller. ...
- 通过usb访问mtp设备(ubuntu12.04) (转载)
转自:http://robert.penz.name/658/howto-access-mtp-devices-via-usb-on-ubuntu-12-04/ A friend asked me h ...
- 最大化最小值poj2456Aggressive cows
Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15528 Accepted: 7440 ...
- 9i 和 11 g 区别
9i 和 11 g 区别 9i 不支持 2/4/8G,只支持 2000/4000/8000 M的
- gauge自动化测试框架(二)
Gauge通过Markdown来描述行为,所以我还需先学习学习Markdown语法,看了一下,还好,十来分钟应该就可以搞定.具体学习见另一篇文章
- C#WinForm的DataGridView控件显示行号
public void ShowIndex(DataGridView dgv) { for (int i = 0; i < dgv.Ro ...
- [ Luogu 4626 ] 一道水题 II
\(\\\) \(Description\) 求一个能被\([1,n]\) 内所有数整除的最小数字,并对 \(100000007\) 取模 \(N\in [1,10^8]\) \(\\\) \(Sol ...
- Android RxJava1.X升级到RxJava2.X笔记
简书地址 http://www.jianshu.com/p/2badfbb3a33b 描述 RxJava 1.X RxJava 2.X package包名 rx.xxx io.reactivex.xx ...
- android调用webservice接口获取信息
我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包 ...