// 多校6 1010 HDU5802 Windows 10
// 题意:从p到q有三种操作,要么往上升只能1步,要么往下降,如果连续往下降就是2^n,
// 中途停顿或者向上,下次再降的时候从1开始。问最少次数
// 思路:
// 1.下么一直往下降,到q的下方,然后再往上升。
// 2.或者往下降到离q最近的一个点再停顿一下 然后继续往下降
// 第一种的时候,上升的时候要减去之前停顿的次数,也就是说我可以提前上升一格,不用停顿。
// 应为上升一格的话,一定是要往上一格 #include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL dfs(LL p,LL q,LL stop,LL ans){
if(p==q) return ans;
LL cnt=;
while(p-(<<cnt)+>q) cnt++;
if(p-(<<cnt)+==q) return ans+cnt;
LL dis=q-max(0LL,(LL)p-(<<cnt)+);
LL tem=cnt+max(0LL,dis-stop);
return min(tem+ans,dfs(p-(<<(cnt-))+,q,stop+,ans+cnt));
}
int main(){
int T;
scanf("%d",&T);
while(T--){
LL p,q;
scanf("%I64d%I64d",&p,&q);
if(p<=q){
printf("%I64d\n",q-p);
continue;
}
else{
LL ans=dfs(p,q,,);
printf("%I64d\n",ans);
}
}
return ;
}

最新文章

  1. 将做好的py文件打包成模块,供别人安装调用
  2. 彻底解决m2eclipse之Unable to update index for central
  3. Raspberry Pi 3 Basic Command and Information
  4. php 连接mysql的问题
  5. HTML5之Canvas绘图——使用Canvas绘制图形的基本教程
  6. CCS学习资料汇总
  7. BZOJ 1507 [NOI2003]Editor
  8. 基于verilog的FPGA编程经验总结(XILINX ISE工具)
  9. js框架页跳转
  10. Objective-c 类实现 (@implementation)
  11. 解读Google分布式锁服务
  12. 201521123003《Java程序设计》第7周学习总结
  13. Linux高级运维 第三章 Linux基本命令操作
  14. 深度学习原理与框架- tf.nn.atrous_conv2d(空洞卷积) 问题:空洞卷积增加了卷积核的维度,为什么不直接使用7*7呢
  15. 图解Go select语句原理
  16. Centos服务器端口无法访问
  17. [EWS]查找 文件夹
  18. python学习——简介和入门
  19. 显示游戏FPS帧率的几种计算方式
  20. sgu 101 Domino 解题报告及测试数据

热门文章

  1. HTML5入门九---Canvas画布
  2. Linux中断处理体系结构分析
  3. iOS 相机和相册使用授权
  4. JavaScript之this,new,delete,call,apply(转)
  5. 54. Spiral Matrix
  6. mapper device&amp;lvm
  7. Linux批量杀进程
  8. (三)C#关于txt文件的读取和写入
  9. ios中addtarget的用法
  10. C#获取ip的示例