2025 HA CSP-S 迷惑行为欣赏

· · 休闲·娱乐

这是作者手动整理的,难免会出现纰漏,并且对于一个在 HA 的初三生来说,看完四千份代码是几乎不可能的。

如果你的代码出现在这里面且你认为侵权,可以私信我删除。当然也欢迎各位身处 HA 的 OIers 来投稿 ~

J 组的参赛选手太多了,现在估计没时间整理,以后可能会跟进。

1.HA CSP-S 成绩概况

众所周知,HA 的信竞实力较弱,看看今年的情况各位就知道了

本次比赛,全省参加人数 973 人。其中,有分人数 668 人,保龄 305 人,人数比为 0.313,相当于每十个人里就有三人保龄。

全省分数小于 30 的有 624 人,这些人都是没拿到奖项的天才。

而全省达到全国一等线的人仅仅只有 113 人(~当然不包括我~),另有三人 AK,在这里膜拜一下。

针对今年 HA 的 S 组考试情况,有人戏称:“HA 的保龄率已经大于了一半”。

2.神奇代码分析

::::info[选手代码(很长)]

#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct node{
    ll a,b,c;
};
struct awa{
    ll ab,bc,ca;
};
bool cmp(ll a,ll b){
    return a<b;
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    freopen("club.in","r",stdin);
    freopen("club.out","w",stdout);
    ll t;
    cin>>t;
    while(t--){
        ll n,ans=0;
        cin>>n;
        vector<node>qwq(n);
        vector<awa>awa(n);
        for(int i=0;i<n;i++){
            cin>>qwq[i].a>>qwq[i].b>>qwq[i].c;
            awa[i].ab=abs(qwq[i].a-qwq[i].b);
            awa[i].bc=abs(qwq[i].c-qwq[i].b);
            awa[i].ca=abs(qwq[i].a-qwq[i].c);
        }
        ll cnta=0,cntb=0,cntc=0;
        vector<ll>ab;
        vector<ll>bc;
        vector<ll>ca;
        for(int i=0;i<n;i++){
            if(max(max(qwq[i].a,qwq[i].b),qwq[i].c)==qwq[i].a and cnta*2<n){
                cnta++;
                ans+=qwq[i].a;
                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),awa[i].ab)-ab.begin()),awa[i].ab);
                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),awa[i].ca)-ca.begin()),awa[i].ca);
            }else if(max(max(qwq[i].a,qwq[i].b),qwq[i].c)==qwq[i].b and cntb*2<n){
                cntb++;
                ans+=qwq[i].b;
                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),awa[i].ab)-ab.begin()),awa[i].ab);
                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),awa[i].bc)-bc.begin()),awa[i].bc);
            }else if(max(max(qwq[i].a,qwq[i].b),qwq[i].c)==qwq[i].c and cntc*2<n){
                cntc++;
                ans+=qwq[i].c;
                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),awa[i].bc)-bc.begin()),awa[i].bc);
                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),awa[i].ca)-ca.begin()),awa[i].ca);
            }else if(max(max(qwq[i].a,qwq[i].b),qwq[i].c)==qwq[i].a and cnta*2>=n){
                ll Tmp1=awa[i].ab;
                ll Tmp2=awa[i].ca;
                ll tmp1=ab[0];
                ll tmp2=ca[0];
                ab.erase(ab.begin());
                ab.erase(ab.begin());
                if(cntc*2>=n){
                    if(Tmp1>tmp1){
                        cntb++;
                        ans+=qwq[i].a-tmp1;
                        ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),Tmp1)-ab.begin()),Tmp1);
                        ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                    }else{
                        cntb++;
                        ans+=qwq[i].a-Tmp1;
                        ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                        ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                    }
                }else{
                    if(Tmp1>Tmp2){
                        if(tmp1>tmp2){
                            if(Tmp2>tmp2){
                                cntc++;
                                ans+=qwq[i].a-tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),Tmp2)-ca.begin()),Tmp2);
                            }else{
                                cntc++;
                                ans+=qwq[i].a-Tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                            }
                        }else{
                            if(Tmp2>tmp1){
                                cntb++;
                                ans+=qwq[i].a-tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),Tmp1)-ab.begin()),Tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                            }else{
                                cntc++;
                                ans+=qwq[i].a-Tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                            }
                        }
                    }else{
                        if(tmp1>tmp2){
                            if(Tmp1>tmp2){
                                cntc++;
                                ans+=qwq[i].a-tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),Tmp2)-ca.begin()),Tmp2);
                            }else{
                                cntb++;
                                ans+=qwq[i].a-Tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                            }
                        }else{
                            if(Tmp1>tmp1){
                                cntb++;
                                ans+=qwq[i].a-tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),Tmp1)-ab.begin()),Tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                            }else{
                                cntb++;
                                ans+=qwq[i].a-Tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp2)-ca.begin()),tmp2);
                            }
                        }
                    }
                }
            }else if(max(max(qwq[i].a,qwq[i].b),qwq[i].c)==qwq[i].b and cntb*2>=n){
                ll Tmp1=awa[i].ab;
                ll Tmp2=awa[i].bc;
                ll tmp1=ab[0];
                ll tmp2=bc[0];
                ab.erase(ab.begin());
                bc.erase(bc.begin());
                if(cntc*2>=n){
                    if(Tmp1>tmp1){
                        cnta++;
                        ans+=qwq[i].b-tmp1;
                        ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),Tmp1)-ab.begin()),Tmp1);
                        bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                    }else{
                        cnta++;
                        ans+=qwq[i].b-Tmp1;
                        ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                        bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                    }
                }else{
                    if(Tmp1>Tmp2){
                        if(tmp1>tmp2){
                            if(Tmp2>tmp2){
                                cntc++;
                                ans+=qwq[i].b-tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),Tmp2)-bc.begin()),Tmp2);
                            }else{
                                cntc++;
                                ans+=qwq[i].b-Tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }else{
                            if(Tmp2>tmp1){
                                cnta++;
                                ans+=qwq[i].b-tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),Tmp1)-ab.begin()),Tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }else{
                                cntc++;
                                ans+=qwq[i].b-Tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }
                    }else{
                        if(tmp1>tmp2){
                            if(Tmp1>tmp2){
                                cntc++;
                                ans+=qwq[i].b-tmp2;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),Tmp2)-bc.begin()),Tmp2);
                            }else{
                                cnta++;
                                ans+=qwq[i].b-Tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }else{
                            if(Tmp1>tmp1){
                                cnta++;
                                ans+=qwq[i].b-tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),Tmp1)-ab.begin()),Tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }else{
                                cnta++;
                                ans+=qwq[i].b-Tmp1;
                                ab.insert(ab.begin()+(lower_bound(ab.begin(),ab.end(),tmp1)-ab.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }
                    }
                }
            }else if(max(max(qwq[i].a,qwq[i].b),qwq[i].c)==qwq[i].c and cntc*2>=n){
                ll Tmp1=awa[i].ca;
                ll Tmp2=awa[i].bc;
                ll tmp1=ca[0];
                ll tmp2=bc[0];
                ca.erase(ab.begin());
                bc.erase(bc.begin());
                if(cnta*2>=n){
                    if(Tmp1>tmp1){
                        cnta++;
                        ans+=qwq[i].b-tmp1;
                        ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),Tmp1)-ca.begin()),Tmp1);
                        bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                    }else{
                        cnta++;
                        ans+=qwq[i].b-Tmp1;
                        ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp1)-ca.begin()),tmp1);
                        bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                    }
                }else{
                    if(Tmp1>Tmp2){
                        if(tmp1>tmp2){
                            if(Tmp2>tmp2){
                                cntb++;
                                ans+=qwq[i].b-tmp2;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp1)-ca.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),Tmp2)-bc.begin()),Tmp2);
                            }else{
                                cntb++;
                                ans+=qwq[i].b-Tmp2;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp1)-ca.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }else{
                            if(Tmp2>tmp1){
                                cnta++;
                                ans+=qwq[i].b-tmp1;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),Tmp1)-ca.begin()),Tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }else{
                                cntb++;
                                ans+=qwq[i].b-Tmp2;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp1)-ca.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }
                    }else{
                        if(tmp1>tmp2){
                            if(Tmp1>tmp2){
                                cntb++;
                                ans+=qwq[i].b-tmp2;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp1)-ca.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),Tmp2)-bc.begin()),Tmp2);
                            }else{
                                cnta++;
                                ans+=qwq[i].b-Tmp1;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp1)-ca.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }else{
                            if(Tmp1>tmp1){
                                cnta++;
                                ans+=qwq[i].b-tmp1;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),Tmp1)-ca.begin()),Tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }else{
                                cnta++;
                                ans+=qwq[i].b-Tmp1;
                                ca.insert(ca.begin()+(lower_bound(ca.begin(),ca.end(),tmp1)-ca.begin()),tmp1);
                                bc.insert(bc.begin()+(lower_bound(bc.begin(),bc.end(),tmp2)-bc.begin()),tmp2);
                            }
                        }
                    }
                }
            }
        }
        cout<<ans<<'\n';
    }
    return 0;
}

::::

::::info[TA 的画作]

                     *************
                    ****-------****
                   ****--**-**--****
                  ****--*--*--*--****
                 ****----*---*----****
                ****------***-------****
               **** - xx   *   xx -  ****
              ***** - xx  ***  xx -  *****
            ** *******--*******--******* **
                 *-------*****--------*
                 *--------***---------*
                 **********************
                *    yyyyyyyyyyyyyyy   *
                *   y oooooooooooooo y *
                *    yyyyyyyyyyyyyyy   *
                 **********************
                    ****************
                    ****************
                    ****************
                ************************
            ********************************
        ****************************************
        ****************************************
        ********    ****************    ********
        ********    ****************     **********
 ____________****   ****************   ** -------- **
             ***    ****************  ** -00000000- **
************ ***    ****************    -0000000000-
 ------------***    ****************   -000000000000-
       \*****|      ****************  -00000000000000-
     ***\***|       ****************   -000000000000-
    **** \*|        ****************    -0000000000-
   *****  *         ****************     -00000000-
                    ****************      --------
                    ****************
                    ****************
                    ****************
                    ****************
                    ****************
                    ****************
                *******     *     *******
               *******      *      *******
              *******       *       *******
             *******        *        *******
            *******         *         *******
           ******           *          *******
         --------          ***          --------
        *0000000*          ***          *0000000* 
       ----------          ***          ----------
       ||||||||||          ***          ||||||||||
       ||||||||||         *****         ||||||||||
       ----------         *****         ----------
       **********         *****         **********
       **********         *****         **********

::::

::::info[题不是人写的]

include <bits/stdc++.h>

using namespace std; int t,n[6]; int a[100005][4],dp[100005][5],b[4]; int main(){ freopen("club.in","r",stdin); freopen("club.out","w",stdout); cin>>t; int i=1; while(t--){ cin>>n[i]; i++; t=n[i]/2; for(int i=1;i<=n[i];i++){ for(int j=1;j<=3;j++){ cin>>a[i][j]; } } } if(t==3){ cout<<18<<endl<<4<<endl<<13; }else if(t==5){ if(n[1]==10) cout<<147325<<endl<<125440<<endl<<152929<<endl<<150176<<endl<<158541; else if(n[1]==30) cout<<447450<<endl<<417649<<endl<<473417<<endl<<443896<<endl<<484387; else if(n[1]==200) cout<<2211746<<endl<<2527345<<endl<<2706385<<endl<<2710832<<endl<<2861471; else if(n[1]==100000) cout<<1499392690<<endl<<1500160377<<endl<<1499846353<<endl<<1499268379<<endl<<1500579370; } return 0; } //ƴ�� //ti bu shi ren xie de,ji qi hou mian suo you ti //gei xia jie kao sheng yi ge zhong gao //luogu suo----yanqing_

::::

::::info[CE 战神 1]

include<bits/stdc++.h>

using namespace std; const int N=1e5+10; struct note{ int a1,a2,a3,maxn,j; }; bool cmp(note a,note b) { return a.maxn>b.maxn; }; note p[N]; int main() { freopen("road.in","w",stdin); fclose("road.out","r",stdout); int t; cin>>t; while(t) { int n,m[4],ans=0; cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=3;j++) cin>>a[i][j]; } for(int i=1;i<=n;i++){ for(int j=1;j<=3;j++) {ans+= } } return 0; }

::::

if(solve){//没加括号,solve 是一个 bool 函数。
    sum+=max(max(a[i][1],a[i][2]),a[i][3]);
}else{
    sum+=min(max(a[i][1],a[i][2]),max(a[i][2],a[i][3]));
}

我只能说 HA 还是不养闲人,总共不到一千人,能出来这么多牛人,不放出来看看可惜了。

现在我所找到的代码还是太少了,并且搜索效率比较低下。

同时也希望大家多多投稿,评论或者私信我都行,我到时候也会统一发出来。