关于CCF数据

P8818 [CSP-S 2022] 策略游戏

题外话:CCF 数据居然会比民间数据弱!
by NightTide @ 2022-11-08 15:03:02


@[Hoshino_kaede](/user/547908) 震惊全国oier
by Xseventh @ 2022-11-08 15:18:09


@[晴空一鹤](/user/158400) 情况少了捏 ```cpp #include<bits/stdc++.h> using namespace std; #define int long long #define ll __int128 int a[100005],b[100005];int st1[100005][30],st2[100005][30],st3[100005][30],st4[100005][30],st5[100005][30],st6[100005][30]; int l,rr,lll,rrr; int ama,ami,amma,ammi,bma,bmi; void inline r(int &x) { x=0;char c=getchar();int f=1; while(c>'9'||c<'0'){ if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9') { x=(x<<1)+(x<<3)+(c^48); c=getchar(); } x*=f; } void inline pr(ll x) { if(x<0) { putchar('-'); pr(-x); return ; } if(x>=10)pr(x/10); putchar(x%10^48); } int n,m,q; void inline st() { for(int i=1;i<=n;i++) st1[i][0]=a[i]; for(int i=1;i<=29;i++) for(int j=1;j<=n-(1<<i)+1;j++) st1[j][i]=max(st1[j][i-1],st1[j+(1<<(i-1))][i-1]); } void inline stt() { for(int i=1;i<=n;i++) st2[i][0]=a[i]; for(int i=1;i<=29;i++) for(int j=1;j<=n-(1<<i)+1;j++) st2[j][i]=min(st2[j][i-1],st2[j+(1<<(i-1))][i-1]); } void inline sttt() { for(int i=1;i<=n;i++) if(a[i]>=0) st3[i][0]=a[i]; else st3[i][0]=40000000000000; for(int i=1;i<=29;i++) for(int j=1;j<=n-(1<<i)+1;j++) st3[j][i]=min(st3[j][i-1],st3[j+(1<<(i-1))][i-1]); } void inline stttt() { for(int i=1;i<=n;i++) if(a[i]<=0) st4[i][0]=a[i]; else st4[i][0]=-40000000000000; for(int i=1;i<=29;i++) for(int j=1;j<=n-(1<<i)+1;j++) st4[j][i]=max(st4[j][i-1],st4[j+(1<<(i-1))][i-1]); } void inline sttttt() { for(int i=1;i<=m;i++) st5[i][0]=b[i]; for(int i=1;i<=29;i++) for(int j=1;j<=m-(1<<i)+1;j++) st5[j][i]=max(st5[j][i-1],st5[j+(1<<(i-1))][i-1]); } void inline stttttt() { for(int i=1;i<=m;i++) st6[i][0]=b[i]; for(int i=1;i<=29;i++) for(int j=1;j<=m-(1<<i)+1;j++) st6[j][i]=min(st6[j][i-1],st6[j+(1<<(i-1))][i-1]); } signed main() { r(n);r(m);r(q); for(int i=1;i<=n;i++) r(a[i]); for(int j=1;j<=m;j++) r(b[j]); st(); stt(); sttt(); stttt(); sttttt(); stttttt(); for(int i=1;i<=q;i++) { r(l);r(rr);r(lll);r(rrr); bma=max(st5[lll][(ll)(log2(rrr-lll+1))],st5[rrr-(1<<(ll)(log2(rrr-lll+1)))+1][(ll)(log2(rrr-lll+1))]); ama=max(st1[l][(ll)(log2(rr-l+1))],st1[rr-(1<<(ll)(log2(rr-l+1)))+1][(ll)(log2(rr-l+1))]); bmi=min(st6[lll][(ll)(log2(rrr-lll+1))],st6[rrr-(1<<(ll)(log2(rrr-lll+1)))+1][(ll)(log2(rrr-lll+1))]); ami=min(st2[l][(ll)(log2(rr-l+1))],st2[rr-(1<<(ll)(log2(rr-l+1)))+1][(ll)(log2(rr-l+1))]); amma=max(st4[l][(ll)(log2(rr-l+1))],st4[rr-(1<<(ll)(log2(rr-l+1)))+1][(ll)(log2(rr-l+1))]); ammi=min(st3[l][(ll)(log2(rr-l+1))],st3[rr-(1<<(ll)(log2(rr-l+1)))+1][(ll)(log2(rr-l+1))]); //cout<<ami<<" "<<ama<<" "<<bmi<<" "<<bma<<" "<<ammi<<" "<<amma<<"\n"; if(bma<=0&&bmi>=0) pr(max(((ll)ami)*((ll)bma),((ll)ama)*((ll)bmi))); else if(bma<=0){ if(ami<=0)pr(((ll)ami)*((ll)bma)); else pr(((ll)ami)*((ll)bmi)); } else if(bmi>=0){ if(ama>=0)pr(((ll)ama)*((ll)bmi)); else pr(((ll)ama)*((ll)bma)); } else if(amma<=-40000000000)pr(((ll)ammi)*((ll)bmi)); else if(ammi>=40000000000)pr(((ll)amma)*((ll)bma)); else pr(max(((ll)amma)*((ll)bma),((ll)ammi)*((ll)bmi))); putchar('\n'); } } ```
by qnqfff @ 2022-11-08 15:21:12


@[qnqfff](/user/304534) thx,此帖完结
by 晴空一鹤 @ 2022-11-08 15:26:55


922 了属于是
by syysongyuyang @ 2022-11-08 16:02:03


|