重庆 ICPC 比赛游记

2025.5.9

比赛前一天晚上,激动地睡不着觉,起来收拾了好多东西。(其实就四本书,剩下的全是零食……关键在于这四本书基本没用。)

2025.5.10

学校丧心病狂的让我们 6:20 到校门口集合坐车(据说是怕赶不上比赛,但关键在于这么早去还是没赶上……),然后一晚上又没睡好……当然我不是指我比赛的时候睡着了。

7:20 上了高铁。

高铁上先做了一会儿有点“少”的作业,然后就跟 zyc 一起刷视频。(不知道是不是刷视频降低了我的智商……)

10:00 抵达重大校门口了!但比赛已经开始了……

内心 OS:(此处省略一万字)。

(此处细节描写了一下作者是如何飞奔进考场的,不重要,就直接跳过了。)

开局一小时直接场切了 A 题和 F 题(估计是拿来水的),一场简单,给大家也看一下:

A 题:

F 题:

后四个小时:直接熄火……

当时我们三个人在烧烤不同的题,我在想 L 题,zty 在想 B 题,zyc 在想 C 题。然后再 zty 的“力挽狂澜”之下,我们成功的没再 A 一道题……

当时 zty 一直在用电脑,而且他十分坚信他能改出 B 题,然后改了两个多小时吧,没改出来……最重要的是,当时我只需要一句话就能把 L 题改出来,结果比赛完美的结束了……

此处插入一个问题:在比赛结束后我又尝试着去打了一下 L 题,但是就是过不了,请有思路的大佬在评论区帮忙指正一下。

题面:

我的代码:

#include<bits/stdc++.h>
#define int long long
#define code using
#define by namespace
#define plh std
code by plh;
int t,top,sum,a[200006];
string s;
deque<pair<int,int>>dq;
vector<pair<int,int>>v;
signed main()
{
    cin>>t;
    while(t--)
    {
        cin>>s;
        if(s=="Push")
        {
            int x;
            cin>>x;
            a[++top]=x;
            sum+=x;
        }
        else if(s=="Pop")
        {
            if(top>0)
            {
                sum-=a[top--];
            }
            else
            {
                top=dq.front().first;
                sum-=a[top--];
                int st=dq.front().second;
                dq.pop_front();
                for(int i=st-1;i>=0;i--)
                {
                    dq.emplace_front(v[i]);
                }
            }
        }
        else
        {
            sum*=2;
            int n=v.size();
            dq.emplace_back(make_pair(top,n));
            v.emplace_back(make_pair(top,n));
        }
        cout<<sum<<endl;
    }
    return 0;
}

赛后老师请吃了一顿火锅,说句实话,重庆火锅确实挺好吃,就是零食带的有点多,吃撑了……

回来的路上,天空布满阴云。窗外下起淅淅沥沥的小雨……

打住!这是肯定不可能的啦,虽然考差了,但是我们乐观嘛!至少刷刷视频啥的也不是不可以……

但是,为了增加趣味性,我跟 zyc 玩了一个游戏(结果这个游戏最后还被出成考试题了……),游戏啥的我就不讲了,毕竟不重要懒嘛!

总结:一次很好的历练,也是很好的一个教训(以后再也不跟 zty 组队了)。还有就是火锅挺好吃,强烈推荐大家去尝一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值