![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
菜鸟学算法
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 · 551 阅读 · 0 评论 -
最大连续子序列和
最大连续子序列和问题是个很老的面试题了,最佳的解法是O(N)复杂度,当然其中的一些小的地方还是有些值得注意的地方的。这里还是总结三种常见的解法,重点关注最后一种O(N)的解法即可。需要注意的是有些题目中的最大连续子序列和如果为负,则返回0;而本题目中的最大连续子序列和并不返回0,如果是全为负数,则返回最大的负数即可。 问题描述 求取数组中最大连续子序列和,例如给定数组为A={1, 3,转载 2013-07-28 20:08:31 · 557 阅读 · 0 评论 -
菜鸟学快速幂算法
由一道题引出主题: 题目描述: 计算A的B次幂对C取模(A^BmodC)并且1 输入三个整数A,B,C,输入文件每一行依次三个整数a,b,c用空格隔开 每行输出一个运算结果 代码: #include using namespace std; int pow(int a,int b,int c) { if(b==0) return 1; else if(b==1)原创 2013-07-10 09:10:15 · 847 阅读 · 0 评论 -
线段树模板
在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个询问,每个询问输入一个点,要求这个点在多少条线段上出现过; 最基本的解法当然就是读一个点,就把所有线段比一下,看看在不在线段中; 每次询问都要把n条线段查一次,那么m次询问,就要运算m*n次,复杂度就是O(m*n) 这道题m和n都是30000,那么计算量达到了10^9;而计转载 2013-08-25 17:01:10 · 509 阅读 · 0 评论