poj3368&hdu1806Frequent values【RMQ求频率】
来源:互联网 发布:制度经济学知乎 编辑:程序博客网 时间:2024/06/05 02:50
为什么非要改模板???简直就是挖坑自己跳T^T 最后还不是看了邝斌的标称才过的==,而且第一次有没审题,我确定我看到了“non-decreasing order.”然而为什么做的时候就忘了呢???还是就是二分啊啊啊啊
/**************poj3368&hdu18062016.1.208808K594MSC++1460B**************/#include <iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;const int MAXN=100010;int a[MAXN];int b[MAXN];int dp[MAXN][20];int max(int x,int y){ if(x>y) return x; return y;}void makeRMQ(int n,int b[]){ for(int i=0;i<n;i++) dp[i][0]=b[i]; for(int j=1;(1<<j)<=n;j++) for(int i=0;i+(1<<j)-1<n;i++) dp[i][j]=max(dp[i][j-1],dp[i+(1<<(j-1))][j-1]);}int rmq(int s,int v){ int k=(int)(log(v-s+1.0)/log(2.0)); return max(dp[s][k],dp[v-(1<<k)+1][k]);}int bisearch(int s,int v){ int l=s,r=v,mid,tmp=a[v]; while(l<r) { mid=((l+r)>>1); if(a[mid]>=tmp) r=mid; else l=mid+1; } return r;}int main(){ // freopen("cin.txt","r",stdin); int n,k; while(~scanf("%d",&n)&&n) { scanf("%d",&k); for(int i=0;i<n;i++) scanf("%d",&a[i]); int tmp; for(int i=n-1;i>=0;i--) { if(i==n-1)tmp=1; else { if(a[i]==a[i+1])tmp++; else tmp=1; } b[i]=tmp; } makeRMQ(n,b); while(k--) { int s,t; scanf("%d%d",&s,&t); s--;t--; int temp=bisearch(s,t); int ans=t-temp+1; t=temp-1; if(s>t) printf("%d\n",ans); else printf("%d\n",max(ans,rmq(s,t))); } } return 0;}
0 0
- poj3368&hdu1806Frequent values【RMQ求频率】
- poj3368--Frequent values(RMQ)
- POJ3368&&HDOJ1086Frequent values【RMQ】
- poj3368 Frequent values(RMQ)
- poj3368 Frequent values(rmq)
- poj3368 Frequent values(RMQ)
- POJ3368 Frequent values (RMQ)
- POJ3368——Frequent values(RMQ)
- POJ3368---Frequent values(分组处理+RMQ)
- POJ3368 Frequent Values [RMQ] [线段树]
- (POJ3368)Frequent values <RMQ 求区间出现次数最多的数出现的次数>
- (POJ3368)Frequent values <RMQ 求区间出现次数最多的数出现的次数>
- hdu-1806 Frequent values(RMQ,求区间最大频率)
- POJ3368/HDU1806/UVa11235 Frequent Values 游程编码+RMQ
- RMQ poj3368
- poj3368 Frequent values
- POJ3368 Frequent values
- POJ3368--Frequent values
- handler和message传值两例
- 2132112adsfdasfa
- 在Ubuntu 15.04上安装Linux内核4.0
- fdsafsdafasd
- 4325435356fasdfasdfasdf
- poj3368&hdu1806Frequent values【RMQ求频率】
- bootstrap的tab标签,跳转的时候会出现锚链接的"#nvaxx"的惊天秘密
- fdasfsdafcvcva
- 倒排索引
- Nginx之——web网站图片显示过慢 超大附件不完全下载的解决方法
- SugarCRM源码分析之日志
- fadsfasd
- Volley与XUtils网络请求使用对比,心得,两者基本使用
- Vim配置中遇到的小问题