摘要: #include using namespace std;int sortedInsert(int A[],int lenA,int B[],int lenB){ if(B == NULL) return lenA; int len = lenA + lenB; in... 阅读全文
posted @ 2015-03-12 23:40 在河之博 阅读(431) 评论(0) 推荐(0) 编辑
摘要: partition函数首先需要一个partition函数,partition就是分区的意思,即这个函数的作用是把输入的数组分成左右两部分,返回一个下标;左边的数都比下标对应的数小,右边的数都比下标对应的数大。对于一个算法理解过程最重要,注意细节能够让代码精致。过程理解这个函数有三个重要的点Small... 阅读全文
posted @ 2015-03-12 23:35 在河之博 阅读(1844) 评论(0) 推荐(0) 编辑
摘要: 一、面试题与acm题目的区别。 这几天在看面试题目,与以前做acm的题目有不同的感觉。从题目题材上说acm由于不同客户机的系统等有差异,所以一般都会选择通用性的算法很少涉及本地的API之类的东西,同时acm很少对代码内容做限制,更多的是要求时间复杂度和空间复杂度。而面试题目是在专用机器上做的,同时... 阅读全文
posted @ 2015-01-16 22:08 在河之博 阅读(1565) 评论(1) 推荐(1) 编辑
摘要: 2015年1月7日 20:34:23题目1007:奥运排序问题 有点意思,以后想另外方法快速做出来2015年1月7日 21:03:56有一个技巧就是,写了三个比较函数cmp1,cmp2,cmp3,之后用函数指针数组,bool (*cmp[4])(Student &,Student &)={cmp1,... 阅读全文
posted @ 2015-01-07 20:35 在河之博 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目是POJ1001Exponentiation 虽然是小数的幂 最终还是转化为大整数的乘法 这道题要考虑的边界情况比较多 做这道题的时候,我分析了 网上的两个解题报告,发现都有错误,说明OJ对于错误的判断还不够严厉. 对边界情况的讨论其实应该是思维严密的表现,当然这并不能表明我写的一点错误都没有,... 阅读全文
posted @ 2015-01-06 16:24 在河之博 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 数据删除不是以单个的字节为单位而是以固定的区块为单位(注意:NOR Flash 为字节存储。),区块大小一般为256KB到20MB。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本输入输出程序)【闪存的分类】 ·目前市场上常见的存储按种类可分: U盘 CF卡 SM卡 S... 阅读全文
posted @ 2014-08-18 21:03 在河之博 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 组合逻辑电路可以有若个输入变量和若干个输出变量,其每个输出变量是其输入的逻辑函数,其每个时刻的输出变量的状态仅与当时的输入变量的状态有关,与本输出的原来状态及输入的原状态无关,也就是输入状态的变化立即反映在输出状态的变化。时序逻辑电路任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关... 阅读全文
posted @ 2014-08-14 19:55 在河之博 阅读(948) 评论(0) 推荐(0) 编辑
摘要: 四种舍入方向: 向最接近的可表示的值;当有两个最接近的可表示的值时首选“偶数”值;向负无穷大(向下);向正无穷大(向上)以及向0(截断)。说明:默认模式是最近舍入(Round to Nearest),它与四舍五入只有一点不同,对.5的舍入上,采用取偶数的方式。举例比较如下: 例2: 最近舍入模式:R... 阅读全文
posted @ 2014-08-14 19:42 在河之博 阅读(6588) 评论(0) 推荐(2) 编辑
摘要: 题目地址 :http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=342&mosmsg=Submission+received+with+ID+... 阅读全文
posted @ 2014-04-19 11:45 在河之博 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 之前一直用c++写程序 所以考虑程序一般都比较容易往数据结构的方向想 而自己设计数据结构往往要费很大事 昨天看了一下python 发现脚本语言 真是厉害 用来进行模拟运算确实不错 可以先想个解决问题的思路 用python 先测试一下 如果可行 如果为了运行效率 使用c++改写 确实是一个不错... 阅读全文
posted @ 2013-11-21 14:51 在河之博 阅读(405) 评论(2) 推荐(0) 编辑
摘要: 在我的博客由底层和逻辑说开去--c++之引用的深入剖析里面提到内存对齐机制,我觉得这个有点意思,但是却不能仅从汇编层面就分析出个所以然来,因此就从inter的cpu 对内存访问路线的角度分析分析。 对于内存对齐 我们可以提出的问题从逻辑层面讲,就是内存对齐有什么意义,从底层来讲就是cpu怎么访问内存; 首先这个内存对齐机制是比较复杂的,百度一下很多人的理解,我发现大多数都和编译器以及c语言控制对齐方式联系起来,使的这个问题看似困难无比。其实我们 都知道,1.编译器又不是标准 2.c语言能更改对齐方式只能说明c语言强大,不能说明cpu按这种方式工作就是好的。嗯,那么我们就先从逻辑层面... 阅读全文
posted @ 2013-09-05 15:48 在河之博 阅读(1306) 评论(0) 推荐(1) 编辑
摘要: 类是什么,对象是什么, 这两个问题在各个c++书里面都以一种抽象的描述方式,给了我们近乎完美的答案,然后我好像就知道什么是类什么是对象了,但是当扪心自问,类在哪儿,对象在哪儿,成员方法在哪儿,成员变量在哪儿的时候,这些定义大概只能给出一个同样抽象的答案。 其实很大程度上我们不知道问题的答案的原因是我们没有弄清楚我们的问题究竟是什么. 类和对象是拥有一堆有访问权限的成员变量和成员方法的集合,那么我们的问题就可以跟着这个凑合的定义得出,我当然也回答不了这些问题,但是我准备在本文做三件事情,通过这三件事,更加近的认识对象和类:1.从底层实现上讲,对象以什么形式保存,对象名是什么 对象的成员变量怎么. 阅读全文
posted @ 2013-08-17 22:58 在河之博 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 在学c++的时候 我遇到的第一个问题就是这个引用,引用是什么东西,我的c++启蒙教科书是c++ primer plus,这本书上说的是:引用是已定义变量的别名,可以使用这个引用来表示这个变量;每当看到这句话的时候 我就有一种淡淡的的忧伤感,其实还是不懂, 这句话说的意思是说引用是个名字吗,那么引用占多大内存呢,我把这章从头看到尾 可惜对此只字不提, 由此可见写书者的诚意(至少我看不到), 本文就准备解析一下这个引用到底是个什么东东。 先说一下本文的结构,本文主要由三个问题1,引用占内存吗,多大 2.引用跟指针啥关系 3.为什么要发明引用呢?针对这三个问题本文希望从c逻辑和汇编底层层面进行剖析. 阅读全文
posted @ 2013-08-16 00:58 在河之博 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 有个产生第n个斐波那契额数的函数long double Fib7(int n){ long double gh5=sqrt((long double)5); return (pow((1+gh5),n)-pow((1-gh5),n))/(pow((double)2,n)*gh5);} 阅读全文
posted @ 2013-05-17 18:38 在河之博 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目:lbw很喜欢吃羊肉泡馍,有一天他做关于斐波那契数列的问题时候突然想为何不定义一种羊肉泡馍数呢?斐波那契数列大家都知道就是f[n]=f[n-1]+f[n-2],f[1]=f[2]=1,那么现在定义羊肉泡馍数,首先每个羊肉泡馍数都要是斐波那契数,其次每个羊肉泡馍数要与小于该数的所有斐波那契数都互质,第一个羊肉泡馍数是2,第二个是3,第三个是5,第四个是13。那么,第n个羊肉泡馍数是多少呢?Input一个数n(0E) //已经超过9位,当前的fib要降一位12 { fib[i]/=10; flag=1; }13 }6.最后给出代码 1 #include ... 阅读全文
posted @ 2013-05-13 21:54 在河之博 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 这个方程的解呢,可以通过递归得到,若知道一组解x1,y1;则于是就可以得到一串值了; 阅读全文
posted @ 2013-05-12 23:08 在河之博 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1.同余与模运算记得公式(a-b)mod n=[(a mod n)-(b mod n) +n]mod n;这里(a mod n)-(b mod n)可能小于0故要+n;ab mod n=(long long) ( a mod n ) * ( b mod n ) mod n; 乘法结果可能溢出,所以要强制类型转换;2.UVA上的10006题就用了这个技术;http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=947题目大意,一个2< 阅读全文
posted @ 2013-04-29 16:41 在河之博 阅读(1434) 评论(0) 推荐(0) 编辑
摘要: 对于一般的LCS问题,都属于NP问题。当数列的量为一定的时,都可以采用动态规划去解决。动态规划的一个计算最长公共子序列的方法如下,以两个序列 X、Y 为例子:设有二维数组 f[i][j] 表示 X 的 i 位和 Y 的 j 位之前的最长公共子序列的长度,则有:f[1][1] = same(1,1)f[i][j] = max{f[i-1][j-1] + same(i,j),f[i-1][j],f[i][j-1]}其中,same(a,b)当 X 的第 a 位与 Y 的第 b 位完全相同时为“1”,否则为“0”。此时,f[i][j]中最大的数便是 X 和 Y 的最长公共子序列的长度,依据该数组回溯, 阅读全文
posted @ 2013-03-30 17:34 在河之博 阅读(339) 评论(0) 推荐(0) 编辑
摘要: UVA103Stacking Boxes在这个问题中,你要分析一组n维盒子的某个性质。你要确定出盒子的最长嵌套串,也就是说一系列的盒子b1、b2、……、bk,一个套一个,使所有的bi都嵌套在bi+1内。对于一个盒子D = (d1, d2, ..., dn)和另一个盒子E = (e1, e2, ..., en),如果存在一种di的排列,使重排的每个维度的值都小于盒子E中对应维度的值,则盒子D可嵌入盒子E。这个过程和旋转盒子D,看它是否能套入E的过程类似。然而,若需满足所有维度的排列,盒子D必须是可以扭曲的,而不仅仅是旋转。定义嵌套关系如下:盒子D = (d1, d2, ..., dn)和E = 阅读全文
posted @ 2013-03-30 16:13 在河之博 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 我将在CSDN有个新家 可以申请博客搬家了 阅读全文
posted @ 2013-03-25 16:02 在河之博 阅读(129) 评论(0) 推荐(0) 编辑