hdu5323&15年多校集训(3)h题
2015-07-31 00:32
183 查看
题意:给你一个区间【L,R】如果他是一棵线段树的某一节点,那么求满足输入区间的最小整数n,没有的话输出-1
思路:四种情况,直接爆搜即可考虑给定区间分别为左子树结点,右子树结点,一共四种情况。在加上可行性的剪枝即可。
思路:四种情况,直接爆搜即可考虑给定区间分别为左子树结点,右子树结点,一共四种情况。在加上可行性的剪枝即可。
<span style="font-size:14px;color:#000000;">#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; typedef long long LL; const LL INF=(LL)1e18; LL n; void dfs(LL l,LL r) { if(l<0||l > r||r>=n) return; if(l==0) { n=r; return; } if (l < r - l + 1) return ; dfs(2*l- r - 1, r); dfs(2*l- r - 2, r); dfs(l, 2*r - l); dfs(l, 2*r - l + 1); } int main() { int L,R; while(cin>>L>>R) { n=INF; dfs(L,R); if(n==INF) cout<<-1<<endl; else cout<<n<<endl; } return 0; }</span>
相关文章推荐
- 机试算法讲解: 第22题 是你的最大公约数
- POJ 1042 Gone Fishing (DP)
- 并发编程
- 浅谈大脑思维和对未来计算机的设想(3)
- Struts2学习笔记(二)数据驱动与struts.xml配置
- 机试算法讲解: 第21题 再谈进制转换
- 医疗时鲜资讯:互联网+医疗,技术 OR 需求
- springMVC --@RequestParam注解(后台控制器获取参数)
- 优化程序性能
- Android 基本知识
- python库
- [BZOJ1801][Ahoi2009]chess 中国象棋
- 机试算法讲解:第20题 一起重温小学题:进制转换
- Webdriver配合Tesseract-OCR 自动识别简单的验证码
- 四,失联
- objective C程序 类和对象
- 面向对象程序设计
- MySql SQLException: Can't create/write to file问题的解决办法
- Bootstrap组件之导航
- 树的重心