hdu 5443 water problem (RMQ)
2015-09-14 18:26
260 查看
裸的RMQ问题。
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; #define maxn 1000001 int f[20][maxn]; void init(int n) { int i,j,k; for(j=1;(1<<j)<=n;++j) { k=1<<(j-1); for(i=0;i+k<n;++i) f[j][i]=max(f[j-1][i],f[j-1][i+k]); } } int rmq(int a,int b) { int dis=b-a+1,k; for(k=0;(1<<k)<=dis;++k); --k; return max(f[k][a],f[k][b-(1<<k)+1]); } int main() { int T,n; cin>>T; while(T--) { scanf("%d",&n); for(int i=0;i<n;++i) scanf("%d",&f[0][i]); init(n); int l,r,q; scanf("%d",&q); while(q--) { scanf("%d%d",&l,&r); printf("%d\n",rmq(l-1,r-1)); } } return 0; }
相关文章推荐
- XML读取、XML修改、XML删除
- 禁止ScrollView在子控件的布局改变时自动滚动的的方法
- 创建实例
- Mvc4_ActionLink跟@RenderBody ,@RenderPage
- Mvc4_传值取值应用
- 【LeetCode】之Evaluate Reverse Polish Notation
- adb push出现read-only file system
- 火柴排队
- 时间戳转日期的算法(C语言实现)
- 停用flash的rtmfp 【禁止flash的udp上传】
- Python 基础编程
- OS和android游戏纹理优化和内存优化(cocos2d-x)
- 更新日志 - fir.im 主题壁纸来了
- 解释序列号关键字的形象说法[Serializable]
- Python 基础编程
- Mvc4_ActionResult应用
- 实例解剖一个牛 B 的融资 PPT
- 控制器View的加载过程
- CactiEZ安装
- OpenCV中二维点求取进行仿射和透视变换之后的坐标点方法