• 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 科曼著 传说中的宝典

    算法导论(原书第3版) 

    Algorithms 算法概论

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

    Algorithm Design 算法设计

     

    《程序设计中的组合数学》 吴文虎

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

    ACM国际大学生程序设计竞赛试题与解析

     作者:sam 出处:http://www.cnblogs.com/samjustin/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    JS保留小数点(四舍五入、四舍六入)实例
    HTML5 本地存储 localStorage、sessionStorage 的遍历、存储大小限制处理
    TCP/IP 网络编程(五)
    【IOS】mac终端运行.sh文件总是提示permission denied
    一扫天下——ZXing使用全解析
    《学习bash》笔记--进程处理
    VB断点调试
    poj 2506 Tiling(java解法)
    策略模式实战之优惠方式
    HTML 5 音频Audio
  • 原文地址:https://www.cnblogs.com/liubilan/p/9388935.html
Copyright © 2020-2023  润新知