【堆排序】
〖模板代码〗

1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 using namespace std; 6 const int N=1e5+10; 7 int n,len,a[N]; 8 int read() 9 { 10 int x=0,f=1;char c=getchar(); 11 while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();} 12 while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} 13 return x*f; 14 } 15 int main() 16 { 17 n=read(); 18 for(int i=1;i<=n;i++) 19 { 20 a[i]=read();len=i; 21 while(len!=1) 22 { 23 if(a[len]<a[len/2])swap(a[len],a[len/2]); 24 else break;len>>=1; 25 } 26 } 27 for(int i=1;i<=n;i++) 28 { 29 printf("%d ",a[1]); 30 a[1]=a[n-i+1];len=1; 31 while(len*2<=n-i) 32 { 33 int next=len*2; 34 if(a[next]>a[next+1]&&next<n-i)next++; 35 if(a[len]<=a[next])break; 36 swap(a[len],a[next]);len=next; 37 } 38 } 39 return 0; 40 }
【三分法】
〖模板代码〗

1 int main() 2 { 3 while(r-l>1e-6) 4 { 5 mid1=l+(r-l)/3;mid2=r-(r-l)/3; 6 if(calc(mid1)<calc(mid2))l=mid1; 7 else r=mid2; 8 } 9 }
【ST表】
〖模板代码〗

1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<cmath> 5 #define LL long long 6 using namespace std; 7 const int N=1e5+5; 8 int n,m,L,R,mx[N][20]; 9 int read() 10 { 11 int x=0,f=1;char c=getchar(); 12 while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();} 13 while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} 14 return x*f; 15 } 16 int query(int L,int R) 17 { 18 int k=log(R-L+1)/log(2); 19 return max(mx[L][k],mx[R-(1<<k)+1][k]); 20 } 21 int main() 22 { 23 n=read();m=read(); 24 for(int i=1;i<=n;i++)mx[i][0]=read(); 25 int k=log(n)/log(2); 26 for(int i=1;i<=k;i++) 27 for(int j=1;j<=n-(1<<(i-1));j++) 28 { 29 mx[j][i]=mx[j][i-1]; 30 mx[j][i]=max(mx[j][i],mx[j+(1<<(i-1))][i-1]); 31 } 32 while(m--) 33 { 34 L=read();R=read(); 35 printf("%d ",query(L,R)); 36 } 37 return 0; 38 }