2015 Multi-University Training Contest 1 /hdu 5289 Assignment -树状数组
来源:互联网 发布:联通软件研究院面试 编辑:程序博客网 时间:2024/05/22 07:48
点击打开题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5289
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define MAXN 100100#define lowbit(i) (i&(-i))int tree1[MAXN],tree2[MAXN];//int max(int a,int b)//{//return a>b?a:b;//}//int min(int a,int b)//{//return a<b?a:b;//}// //int lowbit(int i)//{//return i&(-i);//}void addmin(int i,int num){while(i<MAXN){tree1[i]=min(tree1[i],num);i+=lowbit(i);}}int querymin (int i){int sum=MAXN;while(i){sum=min(sum,tree1[i]);i-=lowbit(i);}return sum;}void addmax(int i,int num){while(i<MAXN){tree2[i]=max(tree2[i],num);i+=lowbit(i);}}int querymax(int i){int sum=0;while(i){sum=max(sum,tree2[i]);i-=lowbit(i);}return sum;}int main(){int num[MAXN];int T,n,k;scanf("%d",&T);while(T--){scanf("%d %d",&n,&k);memset(num,0,sizeof(num));memset(tree1,MAXN,sizeof(tree1));memset(tree2,0,sizeof(tree2));for(int i=1;i<=n;i++) {scanf("%d",&num[i]);}long long ans=0; //竟然忽略了这个, WAWAWAWAWAWWA for(int i=n;i>0;i--){addmin(i,num[i]);addmax(i,num[i]);int low=i;int high=n;while(low<=high){int mid= (low+high)/2;int ma=querymax(mid);int mi=querymin(mid);if(ma-mi>=k){high=mid-1;}else{low=mid+1;}}ans+=(low-i); //low是当前右边界,i是当前左边界 }printf("%lld\n",ans);}return 0;}
0 0
- hdu 5289 - Assignment(2015 Multi-University Training Contest 1 )单调队列+RMQ+树状数组
- 2015 Multi-University Training Contest 1 /hdu 5289 Assignment -树状数组
- hdu 5289 Assignment 2015 Multi-University Training Contest 1
- 2015 Multi-University Training Contest 1 Hdu 5289 Assignment
- HDU 5289 Assignment (2015 Multi-University Training Contest 1)
- hdu 5289 Assignment(2015 Multi-University Training Contest 1)
- hdu 5289 Assignment 2015 Multi-University Training Contest 1
- HDU 5289 Assignment(2015 Multi-University Training Contest 1)
- hdu 5291 Assignment 2015 Multi-University Training Contest 1
- hdu 5289 Assignment 二分+RMQ 2015 Multi-University Training Contest 1 02
- HDU 3874 Necklace 2011 Multi-University Training Contest 4 - Host by SDU 树状数组+离散化
- 2016 Multi-University Training Contest 4 hdu 5775 Bubble Sort【树状数组+思维】
- 2016 Multi-University Training Contest 4 1012 hdu 5775(树状数组)
- hdu 5775 Bubble Sort(2016 Multi-University Training Contest 4——树状数组)
- hdu 5792 World is Exploding(2016 Multi-University Training Contest 5——树状数组)
- HDU-3015 Disharmony Trees (离散+树状数组)(2009 Multi-University Training Contest 12)
- hdu 5294 Tricks Device 2015 Multi-University Training Contest 1
- 2015 Multi-University Training Contest 1 Hdu 5292 Pocket Cube
- gcm推送
- QT程序退出后托盘图标不消失问题
- Android Studio如何导入Library工程,并实时更新
- 设计模式六大原则
- refresh的停车场
- 2015 Multi-University Training Contest 1 /hdu 5289 Assignment -树状数组
- Cannot change version of project facet Dynamic Web Module to 2.5
- 单例模式
- Hduoj1017【水题】
- 动态规划-钢条切割《算法导论》
- 获取屏幕的大小
- EditText设置光标位置问题
- Java 集合 线程安全
- 跳表(SkipList)