条款26操作符函数查找
class X
{
public:
Xoperator %( const X& ) const; //二元取余操作
XmemFunc1( const X&);
voidmemFunc2();
};
可以采用中缀或函数调用语法来调用这个重载...
分类:
编程语言 时间:
2014-06-05 12:31:55
阅读次数:
311
这道题之前在Cracking the Coding interview上做过类似的,一样的三次反转,即可得到,时间复杂度为O(n),空间复杂度为O(1)。这道题在九度OJ上测试,主要要考虑移动的位数大于字符串长度时的情况,取余即可。...
分类:
其他好文 时间:
2014-06-05 09:34:36
阅读次数:
236
算法训练 幂方分解
时间限制:1.0s 内存限制:256.0MB
问题描述
任何一个正整数都可以用2的幂次方表示。例如:
137=27+23+20
同时约定方次用括号来表示,即ab 可表示为a(b)。
由此可知,137可表示为:
2(7)+2(3)+2(0)
进一步:7= 22+2+20 (21用2表示)
3=2+20...
分类:
其他好文 时间:
2014-06-05 02:56:01
阅读次数:
232
当一道题目,使用__int64超时,使用int就能A的时候,我想,这个题,不是一个好题。。。。。
add[i]:记录加的lazy标记
mul[i]:记录乘的lazy标记
num[i]:记录数的lazy标记
sum[i][j]:第i段,j次方的和。
除去lazy标记的下放,这完全就是一道水的线段树的题目。。。
lazy标记如何下放呢?
1,首先查看num标记,如果存在,果断下放。
2...
分类:
其他好文 时间:
2014-06-04 21:41:27
阅读次数:
343
1.计算误差浮点的精度是可变的,除非分数是2的整数幂次方,否者无法用有限的二进制小数表示。即 0.1
分母为10,
则分数应该是2的3次方至2的4次方之间,具体是多少我也算不出来了···。即这个次方数会为一个特别长的小数,在有限的长度中无法体现出来。则0.1会被表示为一个十分接近0.1的值,如0.1...
分类:
其他好文 时间:
2014-05-30 20:13:26
阅读次数:
216
2的10次方是kk就表示2的10次方2的16次方,解读为
2的6次方(64)*2的10次方(k) 简写为64k 64k=64*k同理2的20次方 解读为2的10次方*2的10次方 k*K=1M
分类:
其他好文 时间:
2014-05-29 16:41:18
阅读次数:
241
第一种实现是以O(N3) 即以n的三次方实现的,这个算法很简单,想法特别明显第二种以O(N2)
即以n的二次方实现,算法简单,但是仍然不够好第三种 O(N*log(N))
,以n乘以log(N),采取分治法解决问题,当然也采取了递归的思想。第四种O(N),这个方法就无敌了,线性时间,如果数组是在磁盘...
分类:
其他好文 时间:
2014-05-28 22:43:28
阅读次数:
295
/*设计一个函数,用来计算b的n次方递归的2个条件:1.函数自己调用自己2.必须有个明确的返回值*/#includeintpow2(intb,intn);intmain(){intc=pow2(3,2);printf("%d\n",c);return0;}/*pow2(b,0)==1pow2(b,1...
分类:
其他好文 时间:
2014-05-28 15:33:39
阅读次数:
418
题目链接分析:打表以后就能发现时卡特兰数, 但是有除法取余。f[i] = f[i-1]*(4*i -
2)/(i+1);看了一下网上的题解,照着题解写了下面的代码,不过还是不明白,为什么用扩展gcd, 不是用逆元吗。。网上还有别人的解释,没看懂,贴一下:(a /
b) % m = ( a % (m*...
分类:
其他好文 时间:
2014-05-27 16:17:10
阅读次数:
305
算术运算符+ - * /(除)
%(取余)除法运算的结果与运算对象有关,两个数都为int,则商也是int;被除数和除数只要有一个含小数位,结果就为小数。取余的运算对象必须为整数,余数的符号与被除数相同。
13%-3==1 -13%3==-1关系运算符> >= < <= !=(不等于) ==(等于)逻...
分类:
编程语言 时间:
2014-05-25 03:51:31
阅读次数:
219