• [hdu6601]Keen On Everything But Triangle


    有两个结论:1.排序后,答案一定是连续的三个数;2.当序列长度超过44一定有三个相同的数(因为即使该序列是斐波那契数列,此时也超过了1e9),然后用主席树等数据结构(略卡常,建议主席树)来维护前45大即可

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define N 100005
     4 #define mid (l+r>>1)
     5 #define inf 1000000000
     6 int V,n,m,k,x,y,a[N],b[N],r[N],f[N*20],ls[N*20],rs[N*20];
     7 void update(int k1,int &k2,int l,int r,int x){
     8     k2=++V;
     9     ls[k2]=ls[k1];
    10     rs[k2]=rs[k1];
    11     f[k2]=f[k1]+1;
    12     if (l==r)return;
    13     if (x<=mid)update(ls[k1],ls[k2],l,mid,x);
    14     else update(rs[k1],rs[k2],mid+1,r,x);
    15 }
    16 int query(int k1,int k2,int l,int r,int p){
    17     if (l==r)return l;
    18     if (f[rs[k2]]-f[rs[k1]]>=p)return query(rs[k1],rs[k2],mid+1,r,p);
    19     return query(ls[k1],ls[k2],l,mid,p-f[rs[k2]]+f[rs[k1]]);
    20 }
    21 int main(){
    22     while (scanf("%d%d",&n,&m)!=EOF){
    23         V=0;        
    24         for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    25         for(int i=1;i<=n;i++)b[i]=a[i];
    26         sort(b+1,b+n+1);
    27         int k=unique(b+1,b+n+1)-b-1;
    28         for(int i=1;i<=n;i++)a[i]=lower_bound(b+1,b+k+1,a[i])-b;
    29         for(int i=1;i<=n;i++)update(r[i-1],r[i]=++V,1,k,a[i]);
    30         for(int i=1;i<=m;i++){
    31             scanf("%d%d",&x,&y);
    32             int ma=min(y-x+1,45),flag=0;
    33             for(int j=1;j<=ma;j++){
    34                 a[j]=query(r[x-1],r[y],1,k,j);
    35                 if ((j>2)&&(b[a[j-1]]+b[a[j]]>b[a[j-2]])){
    36                     printf("%lld\n",0LL+b[a[j]]+b[a[j-1]]+b[a[j-2]]);
    37                     flag=1;
    38                     break;
    39                 }
    40             }
    41             if (!flag)printf("-1\n");
    42         }
    43     }
    44 }
    View Code
  • 相关阅读:
    RPC中阻塞队列的作用
    记用tensorflow-ranking时的bugs
    JDK作泛型比较时为什么把逻辑代码写两遍
    Java 不能声明泛型数组
    QuickSort Hoare vs Lomuto
    Java 对数组扩容
    Java交换两对象的问题
    毕业 失业
    dependencyManagement介绍
    web笔记
  • 原文地址:https://www.cnblogs.com/PYWBKTDA/p/11260516.html
Copyright © 2020-2023  润新知