个人赛-院赛-近两个月总结(QAQ)

先是很久之前的个人赛(时长3小时),前一个小时没有A题,85’ 过了一道签到题,130’ 过了一道签到题(wa了两发QAQ),真的是做了超级挺久的QAQ,155’ 过了一道思维题。
因为两道签到题都是有关字符的,所以就开始就刻意跳过了。然后开的第一道题是第三题,wa了,找了bug没找到,是真的觉得没有错QAQ。后来就看前面那些题,经过了n久之后,呜呜呜,才A了,算是跟榜做的吧。还是觉得超级超级弱,别人十几分钟就A了的(orz),我都不知道做了多久才做完,QAQ……还好最后找了n久bug之后,终于发现有地方没初始化,过了那个第三题。
(还是小小兴奋了下的,毕竟三题榜首

再就是院赛了,14号的院赛。怎么说呢,打得超级不好吧,最后滚榜就超级超级失落,觉得自己好弱啊,我们连D题(https://www.oj.swust.edu.cn/problem/show/2860) 签到题都没过,贼伤心了吧。

我觉得这次院赛我挺大责任的吧,超级自责了……
1;开始没找到签到题
2;从头到尾不看榜,就一直一意孤行,不做可行题
3;不管队友卡不卡住,就看自己的
4;当debug了近两个小时一道签到题时,都没有坚决的重新敲一遍,或者就想起暴力直接交一发试试,就一直卡,一直卡……死脑筋吧,心态也不好

(其实开始说好跟榜的,就是我一直走偏了……连累队友……)

开始先是没有找到签到题,A题就是签到题,但是开始我去了个洗手间,拿到题按照分工我从A题开始读,但是看队友在上面写了个博弈论,就没有读,直接放了……其实就是一道签到题,别人5’ 就过了的,QAQ……后来队友发现,欸,怎么那么多人过了,于是队友就重新看了题,那么简单!于是他着手敲,过了。
接着我敲了另一道签到题,A了。
后来读了B题和L题,我觉得这两道题可以做。我以为L就是一道并查集,还是刚接触过的,所以我就一直在做这个,交了一发,wa了,但是我还是觉得可以做,就一直debug,还打印了代码看,但是这道题没有一队过(我一直不看榜)。我开这道题的时候,听我队友说只有一队交了,而且wa了6发还没有过……但是我还是坚定的认为这可以做,就是哪个小细节错了,就一直改一直改……

在我再次上手debug之前,两个队友分别在看D题和I题。(其实开始我是瞄了一眼D,觉得挺简单的,可以做,然后就给队友让他做了,其实并没有仔细看题,就是直觉简单)D题的那个队友想暴力,但是怕T,然后就跟我讨论,然后我就仔细看了题,我说这个题我做过类似的,用前缀和。他说给我做,但是我只想找我的题,然后就给他讲,他说听不懂……他不明白我的意思……呜呜呜,我当时贼烦燥了,觉得L题没问题,但是就是第一组就wa了,然后可能讲的也不是那么清楚吧……然后他说让我敲,我说我要看我的题,于是就拒绝了,让他继续再想一下,看。

再就是I题的队友,他暴力打表找的规律,但是是2^100 ,于是做不出来。(我开始是不知道的,他们俩一直在讨论,我一直在看L题,debug,但是确实贼烦了)。他们或许也是觉得我有希望吧,(因为我说的贼坚决),然后就没有问我。最后的时候我问了一句哪里卡了,他们说存不下2 ^100,“快速幂啊!”(这件事情告诉我们新手比赛还是多多交流,鬼知道你会卡在一个队友会的点上QAQ),然后他们敲不来,我就上手敲了这个,敲完,交,T了。开始debug,I题队友发现0没有特判,循环跑不出来了QAQ,改!又wa!QAQ。我向他确认了一遍是不是公式确定是对的,他说是对的,然后我当时也是超级烦了,L题wa,快速幂也wa,两道还都是我敲的,QAQ。然后我就去厕所了一趟,清醒一下。然后就想了一下他的公式,是后面加了一个1的,1%k是1啊,不是0!QAQ,于是我跑回去,急急忙忙跟他们说0是1,QAQ,交了,A了,自此,一个半小时,三道题,就一直到最后还是三题。

后面我L题一直wa在第一组,,而且我还看了好久B题,都是神学题……几乎没人做,更别说我们这种弱得不能再弱的了……我还自不量力的看,都不看榜,就完全一意孤行。到最后没时间了,我们就决定一起看D题,因为几乎所有的队都过了D题,所以我们就一直找一直找,还是没有找出来。QAQ,一直到最后一分钟还是wa的。
今天我重新看了D题,首先是可以暴力的,不会T(时间复杂度还是不懂……呜呜呜);其次,前缀和错在了初始处理ans数组的时候是从1-n,但是实际上应该是1-1000,于是比赛的时候我们就一直卡在了这里。

然后下边就贴上前缀和的D题代码,以及前辈的更快的方法……

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <set>
#include <stack>
#include <list>
#include <map>
#define P(x) x>0?x:0
#define INF 0x3f3f3f3f

using namespace std;
typedef long long ll;
const int maxn=1005;

ll mp[maxn][maxn];
ll sum[maxn][maxn];
ll x1;
ll y_1;
ll x2,y2;

int main()
{
    ll n,q;
    ll a,b;
    ll xx1,xx2,yy1,yy2;
    while(~scanf("%lld%lld",&n,&q))
    {
        memset(mp,0, sizeof(mp));
        memset(sum,0, sizeof(sum));
        for(ll i=1;i<=n;i++)//输入星体坐标
        {
            scanf("%d%d",&a,&b);
            mp[a][b]=1;
        }
        //从(1,1)开始处理所有的星体个数
        for(ll i=1;i<=1000;i++)
        {
            for(ll j=1;j<=1000;j++)
            {
                sum[i][j]=mp[i][j]+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1];
            }
        }
        while(q--)
        {
            scanf("%lld%lld%lld%lld",&xx1,&yy1,&xx2,&yy2);
            x1=min(xx1,xx2);
            x2=max(xx1,xx2);
            y_1=min(yy1,yy2);
            y2=max(yy1,yy2);
            ll ans_sum=sum[x2][y2]-(sum[x2][y_1-1]+sum[x1-1][y2]-sum[x1-1][y_1-1]);
            if(ans_sum<=2)
            {
                printf("0\n");
                continue;
            }
            else
            {
                ll ans=ans_sum*(ans_sum-1)*(ans_sum-2)/6;
                printf("%lld\n",ans);
            }
        }
    }
    return 0;
}
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <set>
#include <stack>
#include <list>
#include <map>
#define P(x) x>0?x:0
#define INF 0x3f3f3f3f

using namespace std;
typedef long long ll;
const int maxn=10005;

ll pos_x[maxn],pos_y[maxn];

ll sx,sy,ex,ey;
ll x,y,xx,yy;
ll sum;
int main()
{
    ll n,q;
    while(~scanf("%lld%lld",&n,&q))
    {
        memset(pos_x,0, sizeof(pos_x));
        memset(pos_y,0,sizeof(pos_y));
        for(ll i=1;i<=n;i++)
        {
            scanf("%lld%lld",&pos_x[i],&pos_y[i]);//第i个星体的x,y坐标分别存到各自的数组中
        }
        while(q--)
        {
            sum=0;
            scanf("%lld%lld%lld%lld",&x,&y,&xx,&yy);
            sx=min(x,xx);
            ex=max(x,xx);
            sy=min(y,yy);
            ey=max(y,yy);
            for(ll i=0;i<=n;i++)
            {
                if(pos_x[i]>=sx&&pos_x[i]<=ex&&pos_y[i]>=sy&&pos_y[i]<=ey)
                    sum++;
            }
            printf("%lld\n",sum*(sum-1)*(sum-2)/6);
        }
    }
    return 0;
}

最近两个月吧可以说是,状态是真的逐渐差,这周之前一直都在玩,课程落了,算法也落了,感觉很弱吧,于是就出现了低迷期以及烦躁期,还有自我怀疑自我否定自暴自弃,以至于院赛上午的英语竞赛,其实题是简单的,就是题量大一些,但是心情很不好吧,调节不过来,就是烦躁,就是不想做,然后就人生头一张白卷,本来可能还有机会拿个奖,白卷之后就是什么都没有吧,五十块钱买了一张参与奖证书。
院赛有新生队过了五道题,很强了吧,我们至少该过四道的,也有好几支队都过了四道,就感觉自己确实问题很大吧,但是还是感谢这次院赛,起码让我重新找回了我要补回来我所落下的一切的决心,我终于开始弱弱补课了,过程挺艰难的吧,自己看书要看特别久才能弄懂,进度很慢,也找不到好的慕课看。
最近一段时间要暂时放放代码了,起码把课给补完。不知道实验室还会不会留我暑期培训,希望会的吧,我还没想就这么走了……之后还是会努力敲题,学习算法!

哦对,还有校赛吧,校赛……我会好好调整状态的,WaitAndSee!

猜你喜欢

转载自blog.csdn.net/weixin_44049850/article/details/89332329