daily record

------------恢复内容开始------------

位运算    按位  与&同1为1 |或同0为0   异或 按位取反^ 不同为1  l+r>>1 =(l+r) /2  位运算的速度极快 ~位取反 while(~scanf("%d",a)) 一直读直到没有

 位运算实现交换 swap 

void swap(int a,int b) a=a+b;b=a-b;a=a-b;

a=a^b;b=a^b;a=a^b;

<<1左移相当于乘2  左移多少位相当于乘2的多少 次方   MAX=1<<32-1  常用来定义无穷或最大    (1<<4)-1 == 1111

>>1 除以2

recursion(递归)大化小  f(n)=g(n,f(n-1)) f(0) 递归出口  递归 函数调用栈stack  深度优先搜索DFS回溯 1初始状态2目标状态3穷举范围4约束条件5状态恢复(回溯)

非递归函数的内联(inline) 常数优化

搜索模板的套路:先判断是否到达目标状态    //终止条件 递归的出口

                              如果达到 状态是否符合条件是否合法是否可以计入本轮答案

                             如果没有达到  枚举可能的状态  记录本轮选择 并且进入下一层

                              返回后 消除影响(把假设的作为消除掉)

------------恢复内容结束------------

上一篇:Python实现双因素方法分析(Two-Way)


下一篇:Daily Scrum: 2012/12/9