随笔分类 - arithmetic
摘要:整整三年没更新博客了,今天和女友聊天,聊到了博客,就回来看看。 最近接触到抽奖软件,下载的源码是http://download.csdn.net/detail/ghz_sd/6918125,在这里为开源软件作出贡献的人致敬,这个软件的作者a米山,是个非常好的人,耐心的帮我调试,他的算法很简单,...
阅读全文
摘要:排序法 最差时间分析平均时间复杂度 稳定度 空间复杂度 冒泡排序O(n2)O(n2) 稳定 O(1) 快速排序O(n2)O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序O(n2)O(n2) 不稳定 O(1) 二叉树排序O(n2)O(n*log2n) 不一顶 O(n) 插入排序 O(n2)O(n2) 稳定 O(1) 堆排序O(n*log2n) O(n*log2n) 不稳定 O(1)...
阅读全文
摘要:如果采用:a=a+b;b=a-b;a=a-b;可能越界采用:a=a^b;b=a^b;a=a^b;例如:9,500001001^00000101=00001100 //1代表a和b不一样的位(不可共存,在这个位上,ab是相反的),//0代表一样的位(可共存,ab相同),异或的结果,和a异或得b,和b异或得a00001100^00000101=00001001 //不一样的位,你有我就得没有,你没有我...
阅读全文
摘要:方案一:int max=((a+b)+abs(a-b))/2;mix(a,b)+abs(a-b)=max(a,b);max(a,b)=(mix(a,b)+max(a,b)+abs(a-b))/2;由于a和b谁小不知道,所以这样加一下,就是2max(a,b)了方案二:int c=a-b;char *strs[2]={"a大","b大"};c=unsigned(c)>>(sizeof(in...
阅读全文
摘要:2122...2078910196121118543121716151413 看清以上数字排列的规律,设 1 点的坐标是 (0,0),x 方向向右为正,y 方向向下为正。例如,7 的坐标为 (-1,-1),2 的坐标为 (0,1),3 的坐标为 (1,1)。编程实现输入任意一点坐标 (x,y),输出所对应的数字。[Finland 某著名通信设备公司 2005 年面试题]规律是什么?规律真的一看就能...
阅读全文
摘要:http://www.oibh.org/bbs/
阅读全文
摘要:今天北京电子科技学院的一网友问我一题,我面熟,说用dp,可发现自己对dp理解不是很好,现在拿出买的《ACM程序设计培训教程》看到背包问题有那么多解法,现在学习中…… 小明假期同爸爸一起去书店,他选中了n本书,每本书的单价分别为:P1、P2、P3……Pn。不巧的是,小明的爸爸只带了M元钱,为了让小明渡过一个愉快的假期,爸爸仍然同意买书,但有一个要求,要...
阅读全文
摘要:求两个正整数的最小公倍数有很多种算法,其中最常见的一种就是令max等于a,b中较大的一个,然后判断max能否同时整除a,b,若max能同时整除a,b则max为a,b的最小公倍数,若不能整除则将max加一接着再判断能否同时整除a,b,这样一直循环直到max能同时整除a,b为止。这种方法的优点是容易理解,很容易就想到这么做了,缺点就是效率不高,时间复杂度比较高。而下面这种方法相对来说时间复杂度就要低很...
阅读全文