自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (21)
  • 收藏
  • 关注

原创 关于完美洗牌问题的若干思考

前面学习了完美洗牌问题 完美洗牌算法学习又写了一个证明完美洗牌问题的证明进一步思考了其他的一些问题:完美洗牌问题: 给定的输入a1, a2, a3, ……aN, b1,b2,……bN,输出b1,a1,b2,a2,b3,a3…… bN,aN(1) 如果要求输出是a1,b1,a2,b2……aN,bN怎么办?这个问题在学习的时候已经考虑过,只是觉得如果先把a部

2013-08-29 18:10:55 4966

原创 关于完美洗牌算法中圈和圈起点的一个证明

我们用mod表示对一个数取余数,例如3 mod 5 = 3,  5 mod 3 = 2……   a mod b = a - [a / b] * b。在完美洗牌算法中,我们用到了一个映射关系  i' = (i * 2) mod (2n + 1)  其中i = 1,2,3,...2n 然后我们对2m = (3^k - 1) 开始找圈了,这个结论的证明还是需要一些数论的基础。现在简要介绍一下,其中一

2013-08-28 11:03:07 3241

原创 Codility上的问题(28) Lithium 2013

这个问题现在还在比赛中……不过8月底应该就结束了。题目不难,是说有N个时钟,每个时钟有M个指针,有P个刻度。时钟是圆形的,P个刻度均分整个圆。每个时钟每个指针指向整数刻度,并且每个时钟自身指针指向的数字都不同。你可以任意旋转时钟的表盘,但是你不能转指针。问最后有多少对时钟可以变成相同的状态。(状态是指每个指针的相对位置一样)。例如:原始这个样子的时钟,可以旋转成忽略

2013-08-27 19:35:57 2612 1

原创 codility上的问题(27) Helium 2013

这个题目比较难,给定一个字符串S,找到另外一个字符串T,T既是S的前缀,也是S的后缀,并且在中间某个地方也出现一次,并且这三次出现不重合。返回T的最长长度。例如:输入数据是"barbararhubarb" ,输出为1。虽然barb也既是前缀也是后缀,但是在中间没出现过。输入串长度N, [0..10^6] 只包含26个字母。要求复杂度:时间空间都是O(N)。分析: 长度包含0……比较可恶

2013-08-27 18:56:12 2878 1

原创 codility上的问题(26) Hydrogenium 2013

题目,挺无聊的。一个裸的最短路。n个点,你住在0,要去买东西,每个点有一个关门时间,问能最早买到食物的时间。有两点注意 (1)有重边 (2) 原图是dicrect连接。。。但不是有向边,被这个误导了。direct当直接讲……原图无向图。后面就是裸的dijkstra算法。数据范围 点 N [0..100] 不知道为啥还有0.。。。                 连边 数 M [1..100

2013-08-26 20:40:42 2015

原创 codility上的问题(25) Omega 2013

这个题有意思。有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。每隔盘子有几种命运:(1) 掉到井底(2) 被卡住(3) 落到别的盘子上方盘子的高度也是单位高度。给定井的深度和每个盘子的宽度,求最后落到井内的盘子数。如图井和盘子信息如下: A[0] = 5

2013-08-26 19:39:25 2326

原创 codility上的问题(24) Psi 2012

给定一个n * n 的格子,边都是导线,M秒,每秒有一根导线被烧断,问从(0,0)到(n - 1, n - 1)在第几秒后不连通?如果一直连通的话,返回-1.输入为烧掉的边,也就A,B,C如果C= 0 ,烧掉的是(A,B) (A, B + 1) , C = 1烧掉的是(A,B) (A + 1, B)。于是输入的就是n和3个数组。C的输入比较坑,每个数组给长度,其实A,B,C三个数组都是一样

2013-08-26 18:38:50 1832

原创 codility上的问题 (23)Chi 2012

这个题也比较有意思。意思是给定一个数组A,长度为M,里面都是正整数,代表每块地形的高度。现在要测试一种加农炮,给定一个炮弹的高度H, 如果存在最小的I,满足0 = H,则炮弹会被挡住,于是A[I - 1]的高度会增加1。如果H 所有的A[I],这个炮弹也无效。现在再给定N个整数的数组B代表炮弹高度,计算出最后地形的样子。数据范围: M和N的范围[0..30000] A和B中元素的高度[0..

2013-08-25 16:55:47 1909

原创 codility上的问题 (22)Phi 2012

问题描述: 用1 * 1, 1 * 2的矩形覆盖一个n行m列的矩形,问有多少种方法。数据范围 : n [1..10^6],  m [ 1..7]要求复杂度: 时间  O(log(n) * 8 ^m))  空间  O(4^m)分析:这个题跟之前那个木块砌墙问题一样…… 稍作修改即可,又是矩阵乘法。http://blog.csdn.net/caopengcs/article/detai

2013-08-25 16:33:27 2657 3

原创 codility上的问题 (21) Upsilon 2012

这是我目前最喜欢的codiltiy上的问题之一。问题描述是:给定一个整数数组A,所有的数均不相同。假设下标从0开始,找到一个数组B, 满足A[B[0]] > A[B[1]] > A[B[2]] >...A[B[K]],对任意两项A[B[i]]和A[B[i + 1]],任意j,  min(B[i],B[i + 1]) 例如,对数组 A, A[0] = 9 A[1] = 10

2013-08-25 16:23:19 2001

原创 codility上的问题 (20) Tau 2012

这个题目不难,给定一个m行n列的矩阵,我们认为矩阵是循环的,也就是说第0列和第(n - 1)列是相邻的,第0行和第(m - 1)行是相邻的。求最大子阵和……数据范围:m.n [1..100],矩阵中每个整数[-10000, +10000]。 要求复杂度O(m^3 + n ^3) 空间复杂度O(m * n)。分析: 首先循环最大子段和的问题,我们可以在O(n)时间内解决。因为循环最大子段和等

2013-08-25 10:55:04 1832

原创 codility上的问题 (19)Sigma 2012

题目: 像最大直方图一样给定一个数组是每个单位长度上的高度,求至少几个矩形可以拼出这个形状。例如:给出的数组H[0] = 8 H[1] = 8 H[2] = 5 H[3] = 7 H[4] = 9 H[5] = 8 H[6] = 7 H[7] = 4 H[8] = 8 因为可以用如上的7块可以达到要求。

2013-08-24 12:46:27 2610

原创 Google的一个面试题——数组原地置换

给定一个数组a1,a2,a3,...an,b1,b2,b3..bn,最终把它置换成a1,b1,a2,b2,...an,bn。分析:本题是完美洗牌问题的变形。完美洗牌问题:   给定一个数组a1,a2,a3,...an,b1,b2,b3..bn,最终把它置换成b1,a1,b2,a2,...bn,an。我们先解决完美洗牌问题。为方便起见,我们考虑的是一个下标从1开始的数组,下标范围

2013-08-22 18:52:43 6339 1

原创 完美洗牌算法学习

完美洗牌问题,给定一个数组a1,a2,a3,...an,b1,b2,b3..bn,把它最终设置为b1,a1,b2,a2,...bn,an这样的。分析:     首先,有的问题要求把它换成a1,b1,a2,b2,...an,bn。其实也差不多。我们可以:          循环n次交换a1,b1,a2,b2, 把数组变为b1,b2...bn,a1,a2...an,时间复杂度O(n),再用

2013-08-22 12:48:03 13225 6

原创 走两次的方格取数问题

问题 给定m行n列的矩阵,每个元素是一个整数,从左上角走到右下角,每次只能向右或者下,走两次,使得得到的总和最大。同一次经过两个元素的话,总和只计算一次。分析: 如果是只走一次的话,是经典的dp。走两次的话,dp两次是不对的……因为状态之间有影响,第一次和最大的路径可能会影响第二次的路径。这个题还有一个变形,是等价的,就是说从起点到终点只能向右和下,再从终点回起点只能向上或者左,使得总

2013-08-21 11:15:52 2450 1

原创 codility上的问题(18) Rho 2012

从正整数1开始,产生一个数列,数列中的每个数是之前出现过的任意两个数的和(可以相等),问产生正整数A,需要的数列长度至少是多少?返回这样一个最短的序列。例如A=42 可以这样[1, 2, 3, 6, 12, 24, 30, 42],也可以[1, 2, 4, 5, 8, 16, 21, 42],后者是最短的。A不大于600。分析: 本题没规定时间、空间复杂度。因为本题只能暴力搜索,但

2013-08-20 20:03:52 1995 2

原创 Codility上的问题 (17) PI 2012

这个题比较简单,给定一个整数数组,对每个元素,求出和它最近比它大的数的距离(下标绝对值),如果没有比它大的数,认为距离是0。数组元素个数 N [0..50000],数组元素范围[-10^9, +10^9]。要求复杂度 时间 空间 都是O(N)。分析:    这个题比较简单吧。跟直方图最大矩形差不多,类似于求左右边界。求左边界的话记住,有这个数在的话,比它更早的并且比它小的数都没有意

2013-08-20 19:32:31 1698

原创 Codility上的问题 (16) Omicron 2012

比较无聊的题,求斐波那契数的第N^M项。 f(0) = 0, f(1) = 1, f(n) = f(n - 1) + f(n - 2),结果对10000103取模。 N, M在[0..10^7]之间。要求复杂度:时间O(log(N * M)),空间O(1)。分析: fib数取模有周期,并且对质数的周期一定是从最开头开始。也就在对P取模下,一定有f(T) == f(0)。关于周期的求法有原根之类

2013-08-20 18:56:08 1683

原创 codility上的问题(15) Xi 2012

进入2012年的题 codility上的题目开始变难,变得有意思起来。给定两个长度在[1..300000]的只包含0和1的串S和T,它们是2进制表示的,S表示的数A不大于T表示的数B,即A 0。还有一个参数是K, 1结果 对  1000000007取模。要求复杂度:时间空间都是O(log(A +B))分析: 我们求[0..B]之间有多少个数满足要求…… 一个显然的dp。不过我写了好久,

2013-08-20 18:48:20 1856

原创 codility上的问题 (14)Nu 2011

这个题描述不麻烦,给定两个有序的整数数组A,B长度分别为M,N,再给定4个长度为K的数组P,Q,R,S。0把A中子数组[P[i],Q[i]]截取出来,B中子数组[R[i],S[i]]截取出来,形成一个数组的中位数一共有K个,求这K个数的中位数。数据范围N,M [1..10^5]K [1..10^4]要求复杂度  时间 int give(int *a,int *b,int num

2013-08-19 19:57:10 1714

原创 codility上的问题(13) MU 2011

给定正整数N,求0..N的整数中出现多少次0。N是以字符串形式给的,长度L [1..10^4]结果对1410000017取模。要求时间复杂度O(L),空间复杂度O(L)。这个题有两个比较恶心的地方,第一个是求的不是1..N之中的0的次数,而是0..N的,第二那个模的2倍会超过int,这就使得算加法时也要小心。算法不难:设当前考虑的是某一位,xxxxxoxxxx它之前

2013-08-18 16:49:09 1457

原创 Codility上的问题 12 Lambda 2011

给定一棵树,节点数N在[1..10^5],树是一维数组给的 T[i] != i表示有一条T[i]到i的边,求定义一个距离是某节点到所有节点距离的和的平均,求这个平均距离最小的节点,如果有相同的输出标号较小的节点。要求的时间复杂度 O(N),空间复杂度O(N)。分析: 首先,因为每个节点到其他(N-1)个节点都有路,所以平均距离的话分母是(N - 1),所以我们只算总距离就好了。另外就是总距

2013-08-18 14:37:00 1376

原创 codility上的问题 11 Kappa 2011

题目大意: N组宇航员,每组有若干人,现在要从每组选出若干人,问有多少种方法。N [1..1000]T 每组的人数 [1..10^6]D 要选得人数[1..10^6] 且 T[i] >= D[i]结果对  1410000017取模。要求复杂度 时间 O(max(T)*log(max(T))+N), 空间 O(N+max(T))。分析: 我觉得他要求的复杂度很诡异…… 还有+

2013-08-18 13:12:25 1526

原创 codility上的问题之十 iota 2011

又是描述较长的一个题。题目本身就是说给定一个数组A,如果两个数在A中相邻出现,就叫做这两个相邻。

2013-08-18 12:00:00 1507

原创 codility上的问题之九 Theta 2011

codility上的问题描述是在过于复杂,我自己化简了。不过读题确实是一项技巧啊。汽车加油问题,经过N个点,有(N+1)个城市,0是起点, N是终点。两个数组长度为N,D[0..N-1]表示第i个城市到下一个城市的距离,P[0..N - 1]表示第i个城市的油价。汽车单位距离耗油也是1个单位,油箱容积是T,问汽车从0到(N+1)最少花费?数据范围:N 1..10^5T  ,D , P种

2013-08-18 11:44:34 2192 1

原创 codility 上的问题之八 Eta 2011

这个题太长了……但是解法又出奇的水。 有兴趣的读原文去,我还是把题目化简一下比较好。M个节点的无向图,M是偶数。这个无向图是这么来的,首先它是树,然后这个树的节点要么只和一个节点相连,要么和 3个节点相连…… 度为1的是叶子,我们把一个叶子当做根,拎上去……,那么度为3的是二叉树的中间节点。所有的节点要么是叶子,要么有两个孩子,就是这么一个特殊的树。然后把所有的叶子按顺序连称一个圈包括我们规定的根

2013-08-18 10:51:47 1728

原创 codility上的问题 之七 Zeta 2011

这个题比较有意思,有N行M列的正方形盒子。每个盒子有三种状态0, -1, +1。我们要扔球,球可以从盒子上面的边或者左面的边进入盒子,从下面的边或者右面的边离开盒子。规则:如果盒子的模式是-1,则进入它的球从下面出去。(方向变为向下)如果盒子的模式是+1,则进入它的球从右面出去。 (反向变为向右)如果盒子的模式是0, 则进入它的球方向不变。从上面进入的,从下面出去,从左面进入的,从右面

2013-08-18 09:18:07 2338 1

原创 codility上的问题 之六 Epsilon 2011

codility上得问题还有这么一个特点是题目本身不难,但是它却能描述的很复杂。比如这个题:给定 数组A和B都是整数数组,各包括N个数,定义函数F(X,K),U(X)是最大值,D(X)是最小值,S(X)是差。F(X,K)=A[K]*X + B[K] U(X)=max{ F(X,K) : 0 ≤ K D(X)=min{ F(X,

2013-08-18 09:01:28 2508 5

原创 Codility上得问题之五 Delta 2011

int solution(const vector &A) { // write your code here... int i,j, sum = 0, M = 0; for (i = 0; i < A.size(); ++i) { int x = (A[i] >= 0)?A[i]:(-A[i]); if (x) {

2013-08-17 16:23:55 3455 3

原创 木块砌墙

木块砌墙用如下3种木块砌墙。木块如上,不能翻转,墙如下图:  问有多少种方法。n 分析:            首先,因为木块的宽度都是1,我们可以想成2维的问题。也就是说三种木板的规格分别为1* 1, 1 * 2, 2 * 1。            看到这个问题最直接的想法就是暴力搜索。对每个空格尝试放置哪种木板。但是看看数据规模就知道,这种思路是不

2013-08-12 16:08:04 4304 8

原创 最小操作数

最小操作数题目大意: 给定一个字典和两个单词。问能否从给定的第一个单词开始,每次只改变一个字母,最终变为第二个单词。要求除第一个单词和最后一个单词外,中间的单词都在给定的字典内。给出最小的最短的变换序列。如果有多组解,给出全部的解。字典里的单词都同样长,全由小写字母组成。 分析:本题是一个广度优先搜索的典型问题。简介:图的两种搜索方法:常见的图搜索算法有两种,分别简介如下:(1

2013-08-12 11:09:09 4260 1

常用不等式.part3.rar

常用不等式.part3.rar 挺难找到的一本非常好的书!!讲述不等式的专著,可谓包罗万象。 此乃清晰版! ----------------------- 常用不等式. 第三版 匡继昌著山东科学技术出版社 2004 年1 月出版 110 万字定价:人民币 68 元 ISBN7-5331-3618-7 内容简介   本书第三版是对1993 年第二版的内容全面更新和改写,在内容的广度和深度方面都远远超过了第二版,充分反映了20 世纪以来,特别是20 世纪90 年代以来不等式理论和方法的最新进展。   全书共分17 章,包含了美国数学评论(MR)2000 主题分类中所有关于不等式论题的40 个三级

2009-11-13

常用不等式.part2.rar

挺难找到的一本非常好的书!!讲述不等式的专著,可谓包罗万象。 此乃清晰版! ----------------------- 常用不等式. 第三版 匡继昌著山东科学技术出版社 2004 年1 月出版 110 万字定价:人民币 68 元 ISBN7-5331-3618-7 内容简介   本书第三版是对1993 年第二版的内容全面更新和改写,在内容的广度和深度方面都远远超过了第二版,充分反映了20 世纪以来,特别是20 世纪90 年代以来不等式理论和方法的最新进展。   全书共分17 章,包含了美国数学评论(MR)2000 主题分类中所有关于不等式论题的40 个三级分类项目,还包括了国内外历年来大、中学生各类数学竞赛和研究生入学考试中所出现的新的不等式,以及工程技术问题中常用的不等式;所收录的不等式由第二版的3600 个增加到5 千多个。   第三版还总结了不等式的常用证法50 种,提出了152 个未解决或值得进一步研究的问题。由于不等式在数学各个领域和科学技术中都是不可缺少的基本工具,加上本书起点低,因而本书的读者面是非常广泛的,各种不同专业水平的读者,不论是大中学师生,数学研究者,还是工程技术人员,都可以从中找到各自感兴趣的有用材料和研究课题。   徐利治教授在2004 年第3 期“数学研究与评论”为本书第3 版发表书评,指出本书至少有5 点特色,堪称现今海内外独一无二的不等式巨著。   本书1989 年第一版35 万字,先后在本校、中南地区和全国获奖。1991年被中国数学会评为全国七本优秀数学传播图书之一(见“中国数学会通讯”,1991 年第2 期)。   美国“数学评论”(MR91c:26001)指出这是“一本很有价值和受欢迎的数学不等式新文献”。   1993 年第二版65 万字,美国“数学评论”为第二版再次发表长篇评论(MR95g:26001),指出本书极有价值,并向全世界的研究人员、数学教师、工程师和各国的数学、科学、工程技术图书馆推荐本书。   Fan Ky、徐利治等国内外著名专家指出这是一本有久远影响的巨著。SCI 和国内外著名杂志对本书的引用率越来越高,并发行到欧美、港台等地。

2009-11-13

来自圣经的数学证明.djvu

djvu 精选了几个领域数学证明 (图论 数论 组合数学 分析等),体现数学之美好

2009-11-13

ACM图灵奖:1966-2006(第三版)计算机发展史的缩影.part3

ACM图灵奖:1966-2006(第三版)计算机发展史的缩影.part3

2009-11-13

ACM图灵奖:1966-2006(第三版)计算机发展史的缩影.part2.rar

ACM图灵奖:1966-2006(第三版)计算机发展史的缩影.part2.rar

2009-11-13

graph theory 1336-1936

graph_theory 1736-1936.djvu This book teaches basic graph theory through excerpts from original papers in English translation. In between, the authors discuss the history and the mathematical concepts at an elementary level, hoping that the book may serve as a first textbook of graph theory. I think it could serve this purpose very well. There is a lot of focus on the puzzle-style origins of graph theory, starting with marvelous 18th century classics of Euler and Vandermonde and then including many other charming little topics like for instance a very nice 1895 paper of Tarry on how to find your way out of a maze. There are also topics from other fields (e.g. chemistry), but here I think the background discussions are a bit weak. Something like half the book is centred around the four-colour problem, which is historically faithful and necessary, but it is obviously disturbing that the book ends long before this problem was solved

2009-11-13

Modern graph theory

Modern Graph Theory.djvu 现代图论 国外研究生数学教材系列——现代图论 内容简介 Graph theory is a young but rapidly maturing subject. Even during the quarter of a century that I lectured on it in Cambridge, it changed considerably, and I have found that there is a clear need for a text which introduces the reader not only to the well-established results, but to many of the newer developments as well. It is hoped that this volume will go some way towards satisfying that need.

2009-11-13

elementary number theory

基础数论.djvu 英文版的书 深入浅出的数论教材

2009-11-10

Algorithmic game theory

剑桥大学的算法博弈论教材 Algorithmic game theory.pdf

2009-11-10

通俗数学名著译丛01-近代欧氏几何学

通俗数学名著译丛01-近代欧氏几何学 约翰逊.pdf

2009-11-10

Programming_Challenges

Programming_Challenges.pdf 大学生acm竞赛的参考书

2009-11-10

算法导论——教师手册

算法导论英文版的教师用书 算法导论教师手册.pdf

2009-11-10

实用算法的分析与程序设计

信息学竞赛的一本老书 实用算法的分析与程序设计.pdf 作者 吴文虎 王建德

2009-11-10

Complex Social Networks

Complex Social Networks.pdf 复杂网络的入门书

2009-11-10

TCP IP Sockets in C Practical Guide for ProgrammersSecond Edition

TCP IP Sockets in C Practical Guide for ProgrammersSecond Edition.pdf

2009-11-10

problems on algorithms

problems on algorithms.pdf

2009-11-10

通俗数学名著译丛21-稳操胜券下册 伯莱坎普.

通俗数学名著译丛21-稳操胜券下册 伯莱坎普.rar

2009-11-10

通俗数学名著译丛20-稳操胜券上册 伯莱坎普

通俗数学名著译丛20-稳操胜券上册 伯莱坎普

2009-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除