九度OJ 1544 数字序列区间最小值
来源:互联网 发布:淘宝免费其他流量来源 编辑:程序博客网 时间:2024/06/05 18:34
嗷嗷嗷!!!
太难过了。
本来以为是线段树的建树问题,原来用O(n*log n)超时。
然后用O(n)的写法建树。还是超时。
突然发现是不是cin 和 cout 的问题。
于是改成 scanf 和 printf 。AC了。
花费时间前后对比。
然后改成 scanf printf 以后
嗷嗷嗷!!!这尼玛以后老老实实用 scanf printf。。
AC代码:
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define INF 1000000001using namespace std;int ql,qr,a[100001],minv[10000001];int query(int l,int r,int o){ int m=(l+r)/2,ans=INF; if(ql<=l&&qr>=r)return minv[o]; if(ql<=m)ans=min(ans,query(l,m,o*2)); if(qr>m)ans=min(ans,query(m+1,r,o*2+1)); return ans;}int update(int l,int r,int o){ int m=(l+r)/2; if(l<r) { minv[o]=min(update(l,m,o*2),update(m+1,r,o*2+1)); } else minv[o]=a[m]; return minv[o];}int main(){ int n,t; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) scanf("%d",&a[i]); update(0,n-1,1); scanf("%d",&t); int l,r; while(t--) { scanf("%d%d",&ql,&qr); ql--,qr--; printf("%d\n",query(0,n-1,1)); } }}
1 0
- 九度OJ 1544 数字序列区间最小值
- 九度OJ 1544 数字序列区间最小值
- 九度oj 题目1544:数字序列区间最小值
- 九度 1544 数字序列区间最小值
- 九度数字序列区间最小值
- 九度OJ 区间问题
- 九度 OJ 1554 区间问题
- 九度OJ题目1554:区间问题
- 九度oj 1554 区间问题
- 九度 oj 题目1554:区间问题
- 九度OJ 1357:疯狂地Jobdu序列 (数字特性)
- 九度 OJ 1053交换最大值和最小值
- 九度oj-1077-最大序列和
- 九度OJ 1077 最大序列和
- 九度 OJ 1115 数字求和
- 九度OJ 题目1089:数字反转
- 九度OJ 题目1115:数字求和
- 九度OJ 1089 数字反转
- PID算法原理
- FAT32格式,目录项会不会删除?
- Hibernate4.3.2 + Mysql + eclipse配置
- HDU1719
- linux 修改密码
- 九度OJ 1544 数字序列区间最小值
- 数据加密求解
- hdu 2005 第几天?(处理闰年)(备战LQB)
- Python字符编码详解
- 猴子分桃
- ACM-递归之n皇后——hdu2553
- 说说JSON和JSONP
- linux下的静态库和动态库的编译和应用
- 【蓝桥杯】基础练习 十六进制转八进制