训练日记2019.9.21 第一次打codeforces!

2019.9.21 星期六
好嘛昨天一天没有碰电脑,今天上来果然是手有点生疏了。

codeforces,俗称cf。 还记得第一次进入到这个网站是在燕北园的时候,当时欧阳大佬在群里问有大佬带打cf么,结果我上去丢了一句“哪个大区”,险些把欧阳当场笑死,我喝着椰奶直接喷了出来hhhh。以前听他们打oi的故事,最多的就是队友吐槽晚上又得熬夜打cf了(codeforces比赛都在半夜),结果因为被怀疑熬夜玩游戏被教导主任叫去谈话,此cf非彼cf啦。

cf的题质量还是很高的,我刚一进去先打了一场div3,可能是我对division 3的难度有什么误解,上去看见prefix就想到了前缀自动机和字符串,这玩意儿我还没碰过,直接就跳过了,然后看第二题,天哪是道动态规划,早就听闻cf的dp是出了名的诡异,好难啊,越往后越不敢看了。但是仔细一想,自己好像记得群里说过cf的比赛题目的难度是按照题号递增的?那我还是回到第一题吧,一名acmer和cs2212学生的本能让我推出了下列逻辑关系—第一题写不出来— 后面的题比第一题难—所以第一题写不出来等于后面也写不出来(划掉),所以还是看第一题好了。

果然,是我眼花了,一天没碰电脑就把一道LIS算法的题看成了字符串,就当我准备去翻stl的lower_bound函数的使用方法的时候我仔细读了下条件,卧槽?这连lis都不是!这特么不是道数数么,饿,果断写出AC,hiahiahia。有了一血,我就自信多了,第二题不出意外,也是我眼花了,刚开始没读懂,以为是完全背包问题,动规懵逼ing,后面发现有个乘数,哦,也就是说所需花费是与拿的次数成正比的,所以先拿最大的然后拿第二大的,原来如此,这道题是个贪心啊哈哈哈。贪心我不怎么擅长,但是大概也差不太多,于是写出来了,一提交,AC!好了,写到这里我感觉我可以结束了,就又回去掉头开始肝昨天的线段树,哦不,是前天的!

一顿操作重新推翻重写了线段树,果然不同凡响,单点更新现在没问题了(我也不知道怎么回事儿但是就是莫名其妙好了),所有的case都能过了,我能想到的全部都试了,全过,然而一直WA,WA到我怀疑人生。不说了,绝望的我拿了模板上去修改了下勉强AC,到时候就直接拿板子吧!

下面一题是线段树,不过要进行的是开方操作,天,a方加b方不一定等于a+b方啊,这一下是要更新到树根了,那么操作可能就会从指数时间变成线性的,这样的话反倒不如用数组算了,写出来了之后隐隐约约感觉要超时,结果印证了我的想法。事实证明出题人不但想让我超时,还想要我的命,输入的区间端点竟然有前大后小的,结果就出现了access violation越界警告,还好爬虫爬来的信息的作者标注了这个情况,要不我还傻乎乎debug呢,不过我寻思也没什么奇技淫巧可以用来算这个了,可能只能从剪枝上下下功夫了,等下去买点吃的,回来再写,今天一定把这个肝出来,另外最近睡觉有点晚了,今晚大概40必须睡觉,就这样!写完了来更新!

你可能感兴趣的:(ICPC)