ACM-学习笔记
文章平均质量分 80
FDU_Nan
去做一个会思考,善于思考的人儿。
展开
-
STL—map
1.map中数据的遍历 #include #include #include #include using namespace std; int main() { map mymap; mymap[1] = "student 1"; mymap[2] = "student 2"; mymap[3] = "student 3"; //数组方式 int n = mymap原创 2014-03-08 17:47:34 · 936 阅读 · 0 评论 -
各种排序
数据结构学完了,总结一下排序。没有那种排序永远是最优的,各有千秋吧。 #include #include #include using namespace std; int * insert_sort(int a[], int n)//直接插入排序 { int i,j; for(i = 2; i <= n; i++) { if(a[i-1] > a[i]) { a[0] =原创 2013-12-18 19:47:07 · 863 阅读 · 0 评论 -
STL—set
set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交转载 2014-07-23 20:08:59 · 852 阅读 · 0 评论 -
三分法
三分讲解原创 2014-06-14 10:22:26 · 667 阅读 · 0 评论 -
背包问题总结二
上一篇总结了三种基本的背包类型,但做题时很少让直接赤裸裸的求某一种背包。由它们延伸出来的问题可能更加重要。 但只要理解了基本的三种背包,对于更加复杂的问题的理解也不是很难。 仍然参考背包九讲的内容。 混合三种背包 将三种背包混合起来,就是说有的物品只有一件,有的物品有无限件,而有的物品有n[i]件。求把物品装入背包不超过背包容量的最大价值。 听起来很高大上,其实把它们分别原创 2014-07-26 16:43:35 · 1313 阅读 · 4 评论 -
背包问题总结一
今天做数论的题目时,遇到一道多重背包的问题。好久没做过背包了,一时有点迷糊,当时理解的也不是很透彻,果断把背包九讲重新看了一遍。这里做下总结,加深自己的理解。 背包问题求的是在花费一定代价(物品的重量或体积)下,一个背包装入物品后所获得的最大价值。总的包括三种基本的背包:01背包,完全背包,多重背包。还有由这三种背包延伸出来的问题:混合背包,二维费用的背包,分组背包,背包问题问法的变化等原创 2014-07-26 14:56:03 · 1183 阅读 · 2 评论 -
快速幂取模
快速幂取模: int PowerMod(int a, int b, int c) { int ans = 1; a = a % c; while(b>0) { if(b&1) ans = (ans * a) % c; a = (a * a) % c; b >>= 1; } return原创 2014-04-22 10:12:02 · 932 阅读 · 0 评论 -
定理总结
做了不少数论题,还是感觉对数学原创 2014-08-29 08:55:41 · 684 阅读 · 0 评论