首页 > 其他 > 详细

daily record

时间:2021-01-23 10:20:12      阅读:45      评论:0      收藏:0      [点我收藏+]

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

位运算    按位  与&同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) 常数优化

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

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

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

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

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

daily record

原文:https://www.cnblogs.com/zyy131/p/14316516.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!