专题知识点总结
sdau20163940
努力学习,天天向上!
展开
-
STL专题总结!
看完《《ACM程序设计基础》》之后,对c++的STL(即 Standard Template Library,标准模板库又称c++泛型库)有了一定的了解,它在std命名空间中定义了常用的数据结构和算法,对我们平时做题来说,使用起来非常方便。 从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。它们原创 2017-03-20 23:46:56 · 681 阅读 · 0 评论 -
递推递归专题总结
递归与递推算是ACM中比较重要的知识点,其难点主要在于对关系式的分析,当你建立起来关系式时,题目就变得轻而易举,难就难在对关系式的分析与寻找,对递推公式的建立上,在运用递推递归解决问题是,一定要仔细分析题目,其中另外重要的一点就是边界(终止)条件的寻找,此问题处理起来较为简单。在运用递推递归时,要灵活运用,有时不需要递归,只需一个for循环即可解决问题,还有就是还可以对数据进行预处理,以及运用前缀原创 2017-04-02 19:28:33 · 623 阅读 · 0 评论 -
动态规划专题总结!
经过三个星期的学习,基本上了解了ACM中难度最高的 动态规划(DP),整体上对它有了大体的认识,克服了它,就回发现收获很多!!还是需要多看题,多做题!!下面,对动态规划的知识点进行一个总结 能用动态和规划解决的问题需要有最优子结构,也就是大问题可以拆成一些小问题,这些小问题和大问题的形式基本是一样的,然后我们在循环中不断更新这些小问题的结果,用数组记录下来,一直到最终的问题时我原创 2017-04-18 00:07:51 · 1723 阅读 · 0 评论 -
背包问题
一:01背包问题题目:有N件物品和一个容量为V的背包。第i件物品的费用是c,价值是w。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路:这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[v]=max{f[v]原创 2017-04-18 00:35:34 · 211 阅读 · 0 评论 -
二分三分法总结
1 二分法,是一种降低DP复杂度的有效算法,二分查找用于在多条记录中快速找到待查找的记录。它的思想是:每次将查找的范围缩小一半,直到最后找到记录或者找不到记录返回!2 简单定义:在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素。3 二分查找的时间复杂度为O(logn)算法:当数据量很大适宜采用该方法。采用二分法查找时原创 2017-05-05 11:53:36 · 834 阅读 · 0 评论 -
贪心算法专题总结
1 定义:在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。如果一个问题可以同时用几种方法解决,贪心算法应该是最好的原创 2017-05-05 12:06:24 · 545 阅读 · 0 评论 -
ACM学习心得(5000字)
ACM学习心得姓名: 邓华伟 学号: 20163940 专业班级:计算机1班 转眼之间,一个学期就这么过去了,ACM课程也圆满的落下了帷幕,经过这一学期的学习,感觉自己有了很大的成长和巨大的收获,自己也对c++语言有了重新的一个认识和定义,原来并不是只有我们教科书上学习的那么简单,,这让我想起了一句话,外面的世界很精彩!如果不学ACM,恐怕我觉得原创 2017-06-11 11:49:06 · 3059 阅读 · 2 评论