一、PHP的运算符 PHP中有丰富的运算符集,它们中大部分直接来自于C语言。按照不同功能区分,运算符可以分为:算术运算符、字符串运算符、赋值运算符、位运算符、条件运算符,以及逻辑运算符等。当各种运算符在同一个表达式中时,它们的运算是有一定的优先级的。(1)算术运算+ - * / % ...
分类:
移动开发 时间:
2014-08-07 12:41:29
阅读次数:
300
RMQ算法,是一个快速求区间最值的离线算法,预处理时间复杂度O(n*log(n)),查询O(1),所以是一个很快速的算法,当然这个问题用线段树同样能够解决。
问题:给出n个数ai,让你快速查询某个区间的的最值。
算法分类:DP+位运算
算法分析:这个算法就是基于DP和位运算符,我们用dp【i】【j】表示从第 i 位开始,到第 i + 2^j 位的最大值或者最小值。
...
分类:
其他好文 时间:
2014-08-06 18:58:52
阅读次数:
222
首先要明白这道题目的考查点是什么,一是大家首先要对计算机原理的底层细节要清楚、要知道加减法的位运算原理和知道计算机中的算术运算会发生越界的情况,二是要具备一定的面向对象的设计思想。
首先,计算机中用固定数量的几个字节来存储的数值,所以计算机中能够表示的数值是有一定的范围的,为了便于讲解和理解,我们先以byte 类型的整数为例,它用1个字节进行存储,表示的最大数值范围为-128到+127。-1在内...
分类:
其他好文 时间:
2014-08-06 14:59:01
阅读次数:
308
大白书上说的是模运算。。而且给出了递归版的代码。。我觉得还是非递归的好。。而且加上了位运算,速度更快。下面是快速幂取模模板。
模板:
LL quickpow(LL n, LL m, int mod)
{
LL ans=1;
while(m>0)
{
if(m&1)
ans=ans*n%mod;
m=m >>...
分类:
其他好文 时间:
2014-08-06 12:02:21
阅读次数:
234
写这篇文章的主要目的就是一个不断积累的过程,
文中提到的方法其实平时很少用到,就当做是知识扩展吧
位运算中常见的一个操作 与& , 或| , 非~ 异或 ^ 左移位>
定义我就不说了,记录几个用法直接上代码了
1,求两个数的平均值(有效防止溢出的位运算方法)
int ave(int a,int b)
{
reutrn (a&b) + ((a^b)>>1)
}
解释下,...
分类:
其他好文 时间:
2014-08-05 22:32:40
阅读次数:
247
位运算的特殊运用
位运算主要有,&,|,~,^等几种,这几种在编程方面能极大地优化程序,所以掌握他们势在必行,所以就总计一下。
&:
主要可以用来求某数的其中一个二进制位,常用的有求某个数转化为二进制后的最后一位。
可以用 a&(-a)进行快速求解
|:
可以将某个数转化为二进制后的某些位设为1,通过该数与想要相应位数为1其他位为零的数进行或运算即可
~:
可以间接转化某个数:如:...
分类:
其他好文 时间:
2014-08-05 09:37:39
阅读次数:
197
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符含义描述&按位与如果两个相应的二进制位都为1,则该位的结果值为1,...
分类:
其他好文 时间:
2014-08-05 09:33:48
阅读次数:
281
该文章主要修改于CSDN某大神的一篇文章,本人觉得这篇文章的面向对象很透彻,下面分享如下可学习的几点:
Android应用经典主界面框架之一:仿QQ (使用Fragment, 附源码)
1.通过&符号实现计算优化:(后来通过问同事,说是计算机通过位运算 效率比平时的switch效率高,并讲解了该算法的原理。)
public class Constant {
public static f...
分类:
移动开发 时间:
2014-08-04 21:45:58
阅读次数:
401
Problem Description:
Divide two integers without using multiplication, division and mod operator.
分析:题目意思很容易理解,就是不用乘除法和模运算求来做除法,很容易想到的一个方法是一直做减法,然后计数,但是提交之后显示超时,在网上找到一种解法,利用位运算,意思是任何一个整数可以表示成以2的幂为...
分类:
其他好文 时间:
2014-08-04 21:33:28
阅读次数:
307