随笔分类 - fight for me
摘要:http://chjzhacm.blog.163.com/blog/static/1749014132011613105450310/这个博客中思路转换是对的,但是后面求解最长回文子串的方法我不确定对不对,自己的解法在http://www.cnblogs.com/juandx/p/4070338.h...
阅读全文
摘要:o(n^2)的解法大家应该都能想到,就是每次以i为中心去两端扩散去找就行了,下面学习传说中的Manacher解法 o(n)http://blog.163.com/zhaohai_1988/blog/static/2095100852012716105847112/void pk(){ int ...
阅读全文
摘要:判断回文数还是不难,如果能转为字符串就更简单了。如果是求第N个回文数呢。12321是一个回文数,这里先考虑一半的情况。回文数的个数其实是有规律的。如: 1位回文数: 9个 2位回文数: 9个 3位回文数: 90个 4位回文数: 90个 5位回文数: 900个 6位回文数: 900个 … 我们看到9、...
阅读全文
摘要:屋子里有1到100号100盏关闭的灯,门外有1到100号100个人,每个人都要进屋一次,把与自己序号对应的和是自己序号倍数的灯绳拉一下,(比如1号要拉所有的灯绳,2号要拉2,4,6的灯绳,而100号只需拉100号灯绳)问:当100人都出来后,屋子里亮着的灯有几盏?这么说呢,大家都知道答案是 平方数 ...
阅读全文
摘要:A->B->C->D比如删除B。。。p指向B,但是没有头结点怎么删呢。。。。把c的数据复制给b,然后删除c就ok了。。。哎。。。怎么想不到呢。。。
阅读全文
摘要:搜狐2013届校园招聘笔试题目是:分别用迭代和递归的方法对单链表进行逆转。听今天去华为参加机试的同学说,三道机试题目中也有一道同样的题目。由是自己动手写了写,代码如下:typedef struct LinkNode {ElementType data;struct LinkNode *next; }...
阅读全文
摘要:http://blog.csdn.net/huahuahailang/article/details/8803939题目:我们知道:1+2=3; 4+5=9; 2+3+4=9;等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式呢?问题1. 写一个程序,对于一个64位正整数,...
阅读全文
摘要:先求差值最大的:1、找出最大值和最小值 然后做差, 每次比较相邻的两个数(比如先0,1 然后2,3),然后每次比较记录下最大和最小的差值,可以比较1.5N次得到结果,和分为奇数偶数位比较一样的复杂度2、由于抽屉原来,设最大的值和最小的值为maxV和minV,那么最大差值不会超过delta = (ma...
阅读全文
摘要:方法一:利用特征方程(线性代数解法)斐波那契 f(n+1) = f(n)+f(n-1)线性递推数列的特征方程为: X^2=X+1 解得 X1=(1+√5)/2, X2=(1-√5)/2. 则F(n)=C1*X1^n + C2*X2^n ∵F(1)=F(2)=1 ∴C1*X1 + C2*X...
阅读全文
摘要:用visit数组记录出现过的地方 dp的时候注意一个问题就可以: abcdacbd来看看如果遇到重复的该怎么处理: 遇到第二个a前都没有问题,第二次遇到a,然后肯定是更新a的位置的dp[4] = 4-0 = 4, 第二次遇到c, 更新c的位置为dp[5] = 5-2 = 3; 然后问题来了,第二次遇
阅读全文
摘要:就是求解冲突问题,只要找出冲突条件就好了http://www.cnblogs.com/qinyg/archive/2012/05/21/2512353.html#3045146问题描述:八皇后问题是十九世纪著名数学家高斯于1850年提出的。问题是:在8*8的棋盘上摆放8个皇后,使其不能互相攻击,即任...
阅读全文
摘要:奶牛分配(stall4.pas/in.out)描述农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术。不幸的是,由于工程问题,每个牛栏都不一样。第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶。上个星期,农夫约翰刚刚收集到了奶牛...
阅读全文
摘要:n&(n-1) n&(-n)n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子:n = 10100(二进制),则(n-1) = 10011 ==》n&(n-1) = 10000可以看到原本最低位为1的那位变为0。弄明白了n&(n-1)的作用,那它有哪些应用?1. 求某一...
阅读全文
摘要:在n!中末尾有几个0取决于n!中5的个数(2肯定比5多)所以遍历从1到n的数,看总共有几个5即可for i in 1..N do j = i; while(j % 5 == 0) ++ret; j /= 5; endend有个nb的方法:z = [N...
阅读全文
摘要:1、100!有多少位要计算n!的位数,很容易嘛:X=log10(n!)=log10(1)+log10(2)+log10(3)+……+log10(n-1)+log10(n);然后对X取整,再加1,n!的位数了!计算得到:100阶乘位数是:158100!=933262154439441526816992...
阅读全文
摘要:1、排序后去出前k个,o(n*log(n)) 如果kk,说明只要继续在大的部分找就可以了, 如果大的部分的个数 delta){ midv = minv + (maxv - minv)*0.5; if(f(a,N,midv) >...
阅读全文
摘要:先有一个概念:部分和:ps[i][j]表示从(0,0)到(i,j)这个矩形的和,那么有ps[i][j] = ps[i-1][j]+ps[i][j-1]-ps[i-1][j-1]+a[i][j],从而可以在o(m*n)的时间内求出ps这样有了ps后,就可以在o(1)时间内求出(i,j)到(p,q)这个...
阅读全文
摘要:http://www.cnblogs.com/jackge/archive/2013/04/22/3034968.html有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把...
阅读全文
摘要:要知道,最大和最小是相对的,用总和减去最小的就能得到最大的。 编程之美的题目没看懂,然后参考了http://zhangpeizhen.blog.163.com/blog/static/231873112201431784024921/两种情况1、普通数组,可以o(n)求最大子串和。2、如果是环状...
阅读全文
摘要:[-2,2,3,-1]的最大字段和是[2,3]/*动态规划算法:**b[j]=max{a[i]+ +a[j]},10时b[j]=b[j-1]+a[j],否则b[j]=a[j]。故b[j]的动态规划递归式为:**b[j]=max(b[j-1]+a[j],a[j]),10) b+=...
阅读全文

浙公网安备 33010602011771号