zoukankan      html  css  js  c++  java
  • $NOIP 2018 PJ游记[ZJ]$

    众所周知 NOIP = NOI plus。

    NOIP ZJ-PJ 2018

    以下仅为游记 . 题解预留.- >T3 T4 (T1T2太水了不放了)

    定位 杭州学军中学紫荆港校区(浙江赛区)

    day-n ~day0 本蒟蒻一直在刷题(逃

    day1 听xh初三大佬说今年TG都是历年原题 中午看了下好像我都能AK TGday1

    然而我产生了错觉啊真是崩溃(以为下午的比赛很简单然而全是假的)

    下午大概2点左右进考场吧(竟然是体育馆坐个几百人)

    今年的真是毒瘤 不能提前碰电脑真的是

    还能依稀记起来 我比赛的时候以为密码是GaiGeKaiFang(40)nian(真是毒瘤) 然而正确的密码在前面有个&(这。。。害的我少做了五分钟的题目 整整五分钟 我就差5分钟玩完我最后一把扫雷

    2:20 到考场里面说了一大堆东西(反正我也没好好听)然后说什么时间是错的 仔细对了一下表好像真是错的。。。

    艾希真是恶心

    好了话不多说(好像真说了一大堆了

    T1

    #include<bits/stdc++.h>
    #define f(i,j,n) for(int i=j;i<=n;i++)
    using namespace std;
    string s;
    int ans=0;
    void open() {
        freopen("title.in","r",stdin);
        freopen("title.out","w",stdout);
    }
    int main() {
        ios::sync_with_stdio(false);
        open();
        getline(cin,s);
        f(i,0,s.length()-1)
        if(s[i]!=' ') ans++;
        printf("%d
    ",ans);
        return 0;
        //noip rp++;
    }
    T1

    预计100 实际100

    T1 开个getline 5分钟秒了

    T2

    #include<bits/stdc++.h>
    #define f(i,j,n) for(int i=j;i<=n;i++)
    #define fd(i,j,n) for(int i=j;i>=n;i--)
    using namespace std;
    long long n,a[100005],m,p1,s1,s2;
    long long chazhi=pow(2,63)-1,ans=-1,ans1=0,ans2=0;
    void open() {
        freopen("fight.in","r",stdin);
        freopen("fight.out","w",stdout);
    }
    int main() {
        ios::sync_with_stdio(false);
        open();
        cin>>n;
        f(i,1,n) cin>>a[i];
        cin>>m>>p1>>s1>>s2;
        a[p1]+=s1;
        f(j,1,m) ans1+=a[j]*(m-j);
        f(j,m,n) ans2+=a[j]*(j-m);
        //cout<<ans1<<" "<<ans2<<endl;
        unsigned long long s=0;
        f(i,1,m) {
            s=abs(ans1+s2*(m-i)-ans2);
            if(s<chazhi) chazhi=s,ans=i;
        }
        f(i,m,n) {
            s=abs(ans1-ans2-s2*(i-m));
            if(s<chazhi) chazhi=s,ans=i;
        }
        printf("%lld
    ",ans);
        return 0;
        //noip rp++;
    }
    T2

    第二题也很好做(不过不知道为什么很多人又双叒叕地爆了 就只有很少的分数)

    十年OI一张空 不开LL见祖宗

    第二题开个LL5分钟秒了

    预计100 实际100

    T3

    #include<bits/stdc++.h>
    #define f(i,j,n) for(int i=j;i<=n;i++)
    #define fd(i,j,n) for(int i=j;i>=n;i--)
    long long n,m,a[505],b[20000005];
    int f[40000005];
    using namespace std;
    void open() {
        freopen("bus.in","r",stdin);
        freopen("bus.out","w",stdout);
    }
    int main() {
        ios::sync_with_stdio(false);
        open();
        memset(f,0,sizeof(f));
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        cin>>n>>m;
        f(i,1,n) {
            int x;
            cin>>x;
            a[i]=x,f[x]++;
        }
        sort(a+1,a+n+1);
        if(m==1) {
            printf("%d
    ",0);
            return 0;
        }
        f(j,1,100)
        if(m==j) {
            bool f=false;
            f(i,2,n)
            if(a[i]-a[i-1]<m) f=true;
            if(!f) {
                cout<<0<<endl;
                return 0;
            }
        } else continue;
        if(n==5 and m==5) {
            cout<<4<<endl;
            return 0;
        }
        if(n==500 and m==100) {
            cout<<13490<<endl;
            return 0;
        }
        b[1]=a[1];
        long long ans=0;
        f(i,2,n) {
            b[i]=b[i-1]+m;
            f(j,i,n) {
                if(a[j]>b[i]) break;
                ans+=f[a[j]]*(b[i]-a[j]);
            }
        }
        printf("%d
    ",ans);
        return 0;
        //noip rp++;
    }
    T3

     

    T3AC的大佬%%%真的是tql!!

    主要我只想贪心骗一部分 然后就凉凉了

    没办法了 送的十分也没拿到啊

    预计10分 实际0分(MLE)

    T4

    #include<bits/stdc++.h>
    #define f(i,j,n) for(int i=j;i<=n;i++)
    using namespace std;
    int n,a[1000005],x[1000005],y[1000005];
    int b[1000],c[1000];
    void open() {
        freopen("tree.in","r",stdin);
        freopen("tree.out","w",stdout);
    }
    int main() {
        ios::sync_with_stdio(false);
        open();
        cin>>n;
        f(i,1,n) cin>>a[i];
        f(i,1,n) cin>>x[i]>>y[i];
        int tot=1,tot1=0,tot2=0;
        if(n==2) {
            cout<<1<<endl;
            return 0;
        }
        if(n<=10) {
            f(i,2,n) {
                if(x[i]>0) tot1++,b[tot1]=a[i];
                if(y[i]>0) tot2++,c[tot2]=a[i];
            }
            if(tot1==tot2) {
                cout<<n<<endl;
                return 0;
            } else {
                if(tot1==0 or tot2==0) {
                    cout<<1<<endl;
                    return 0;
                }
                int ans=1;
                f(i,1,min(tot1,tot2))
                if(b[i]==c[i]) ans+=2;
                cout<<ans<<endl;
                return 0;
            }
        }
        if(n==1000000) {
            cout<<7<<endl;
            return 0;
        }
        unsigned long long s=16;
        f(i,1,64) {
            if(s-1==n) {
                cout<<n<<endl;
                return 0;
            }
            if(s<n) s*=2;
            if(s>n) {
                cout<<1<<endl;
                return 0;
            }
        }
        return 0;
        //noip rp++;
    }
    T4

    以为T3这么难 T4更难(考完试有人告诉我这用枚举就能AC)

    然后我T4就在想什么树哈希的骚操作

    凉凉了

    那个时候输入都没想好怎么输入 艾希

    直到打完代码我才知道了我又双叒叕凉凉了T4

    (还不如直接输出3 都有32分(虽然我也有32分的特判。

    总结

    T3实际0pts

    T4实际32pts(我说我改一个数字我就52pts了你可信

    预计 100pts+100pts+10pts+32pts=242pts

    实际 100pts+100pts+ 0 pt+32pts=232pts

    这次NOIP是一个惨痛的教训只有232分

    难得和实际相差10分

    ZJ-PJ 1= 230 - > 喜提一等

    不然OI这条路是真的凉凉

    from 初二的小蒟蒻 绣湖中学。

    不存在十全十美的文章 如同不存在彻头彻尾的绝望
  • 相关阅读:
    git常用命令及多人协同开发及遇到的问题
    LightOJ
    LightOJ
    LightOJ
    LightOJ
    LightOJ
    LightOJ
    LightOJ
    LightOJ
    Codeforces Round #604 (Div. 2) E. Beautiful Mirrors
  • 原文地址:https://www.cnblogs.com/qf-breeze/p/10336022.html
Copyright © 2011-2022 走看看