
菜鸟学算法
u011321471
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
菜鸟级数组排序算法
c++在库函数中提供了数组排序函数,但是不适用两个关联数组的排序,比如:A={2,4,6,0,5,7,8,9}B={3,4,7,9,2,1,0,5}要求B中的元素随着A中元素顺序的改变而改变,即Ai和Bi绑定,用函数库提供的sort函数只能将A,B改成A={0,2,4,5,6,7,8,9}B={0,1,2,3,4,5,7,9}这样破坏了两个数组中元素的对应关系。而用下面这个原创 2013-07-10 19:37:15 · 616 阅读 · 0 评论 -
最大连续子序列和
最大连续子序列和问题是个很老的面试题了,最佳的解法是O(N)复杂度,当然其中的一些小的地方还是有些值得注意的地方的。这里还是总结三种常见的解法,重点关注最后一种O(N)的解法即可。需要注意的是有些题目中的最大连续子序列和如果为负,则返回0;而本题目中的最大连续子序列和并不返回0,如果是全为负数,则返回最大的负数即可。问题描述求取数组中最大连续子序列和,例如给定数组为A={1, 3,转载 2013-07-28 20:08:31 · 599 阅读 · 0 评论 -
菜鸟学快速幂算法
由一道题引出主题:题目描述:计算A的B次幂对C取模(A^BmodC)并且1输入三个整数A,B,C,输入文件每一行依次三个整数a,b,c用空格隔开每行输出一个运算结果代码:#includeusing namespace std;int pow(int a,int b,int c){if(b==0)return 1;elseif(b==1)原创 2013-07-10 09:10:15 · 884 阅读 · 0 评论 -
线段树模板
在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个询问,每个询问输入一个点,要求这个点在多少条线段上出现过;最基本的解法当然就是读一个点,就把所有线段比一下,看看在不在线段中;每次询问都要把n条线段查一次,那么m次询问,就要运算m*n次,复杂度就是O(m*n)这道题m和n都是30000,那么计算量达到了10^9;而计转载 2013-08-25 17:01:10 · 567 阅读 · 0 评论