2020暑假训练日记

[Huge ext{愉快的暑假} ]

7.1

上午回学校口语考试。(“语考试”是谁?)。考试结束已经13:00了。号家军赶去参加模拟赛,留我一个人在校园里瞎逛,原希望“偶遇”syn,未成功。2:10左右回到家。睡了个午觉。4:30起床。总而言之今天4:30以前啥也没干。

起床后,吃晚饭前,做了上一场div3的E1 Reading Books (easy version),是简单贪心。想继续贪心搞一下E2,但是WA了。后来看了一眼题解才明白E2需要枚举“a=1,b=1”这类东西的数量,然后快速计算代价。我想到了用二分来计算代价。于是写了这个题。

写E2的同时,我还在水nfls oi 交流群(又名:djq waxberry 贴贴群)。

时间一晃就到了晚上9:30。我开始打CF div2。用的是原本2046分的小号diamond_dick。A题,我脑子短路了没想出来。B,C,D都比较简单。然后回过头来想出了A。最后认真做了一下E1,E2,还不错的题,中等难度。写完E2比赛已经快结束了,就没看F。不出意外这个小号要上黄了。

upd:确实上黄了。

7.2 低效的一天。顺便聊聊后面的计划

上午补了昨天做的div3 E2的题解。又学习了一下昨晚比赛的F。我的写法分类讨论非常麻烦(有100多行纯粹是if的嵌套,缩进缩到没法看的那种)。不过幸运的是写完过编译就一遍AC了。之后又写了这题的题解。此时已经下午2:00了。我开始水B站和知乎,后来又睡了一会,导致下午效率很低。

下午偶然发现了同校小神仙tzc的博客。顺便学习了两道题(感觉没啥写的必要,所以没写)。CF464E The Classic ProblemLOJ2555 「CTSC2018」混合果汁

自己按照刷LOJ的计划,往后做了一道LOJ2074 「JSOI2016」灯塔。是很套路的决策单调性优化问题,很好写,没什么意思。

晚上后继续往后做了一道LOJ2075 「JSOI2016」位运算。有点意思。写了个题解


感觉今天效率太低。以后千万不能在学习时间水B站和知乎。

说一下我之后的计划。

  • 首先是跟着蔡老板打比赛。只要有比赛就订正好搞透彻。
  • 然后准备做一下往年NOI的题,因为我很有可能有D了,不想太丢人。
  • 刷LOJ。主要是各省省选题,带着往后做。不要太追求量,要注意搞透彻。
  • CF比赛。带着做吧,平时多vp。原则上,蔡老板不开题的天,都可以来个vp。
  • 复习以前正睿的题。从去年暑假集训开始。计划是没有比赛的时候每天一套。

7.3 模拟赛。又双叒叕水群浪费了很多时间

上午模拟赛。T1是个简单题,可能稍微分析一些题目性质就能做到(O(n))了。我直接无脑上了个二维DP,然后把第二维搬到线段树上,复杂度(O(nlog n))的,不过还是AC了。T2,不会,写了暴力,最后求答案的时候,没有对所有(dp[i])(max),算是细节错误吧,所以本来(40)分的暴力WA成(10)分了,还好胡昊的暴力和我错的一样,所以分数没有超过我。T3也不太会,拿了最低的暴力分。因为徐队T1爆零,所以我侥幸rank1了。

下午,一个老同学期末考试完,就和他出去玩玩玩了。

晚上想订正上午的T2,T3。T2是个网络流,看懂了。T3有点难,我不确定是不是真的懂了,感觉很难实现。写着写着就去水群了。因为水群浪费了很多时间,所以T3也没写完。

都鸽到明天吧!

7.4 CF智商场惨遭碾压,大号灰飞烟灭

上午code了7.3葫芦娃比赛的T2,T3。下午先写了T3题解(感觉这是个挺好的题,有一点挑战性。路人可以进来看看)。然后就莫名其妙开始颓了。

一直到晚上10:35,开始打Codeforces Global Round 9。用别人的话说,这就是一个“智商场”。显然,lqs智商非常高,获得了rank 6的好成绩。

  • 而我就没有什么智商,从A开始就做得非常吃力(早知道一开始不会A就应该直接退出)。
  • B还算正常,我简单分析一下就做出来了。
  • C我先瞎猜一波结论,WA了两发。之后冷静分析了一下,想了一个单调栈的做法,AC了(后来黄队跟我说只需要判断(a_1<a_n),我感觉智商受到了无情碾压)。
  • D我先观察样例,然后猜想可能最后会变成(0,1,2dots n-1)的这样一个序列,顺着这个思路想下去就做出来了,不过花了很多时间。

做完D时比赛已经快结束了。我匆匆浏览了E,F的题面,都没什么思路。

于是,尽管我绞尽脑汁做出了A,B,C,D(说实话,还挺有成就感),rank却只有1841,让本就不富裕的rating雪上加霜((-59))。

7.5 订正CF。加没做啥事。

昨天比赛结束后,lxr跟我说F很简单。我说那你先别报题解,我早上自己想一下。

于是我早上就瞪着F死磕了起来,想累了就水一会QQ或者发一会呆,反正打死不看题解。大约一个小时后终于做出了F。果然是智商题,让人有一种恍然大悟的感觉。虽然很好写,但我并不同意“这题很简单”。

下午先写了F的题解(因为写得太认真,还配了图,耽误了不少时间。这就是良心博主吗,i 了 i 了)。

然后看了E。不会做,也没有早上那股必须想出来的劲了。于是就看了题解。怎么评价呢,也是思维题吧,反正看了题解都觉得简单。然后自己实现了一下并写了题解

晚上,继续刷LOJ各省省选,写了LOJ2074 「JSOI2016」无界单词。(看了题解)。

上面提到的一些题,我也在洛谷上写了题解。众所周知,在洛谷上,一开始获赞少,就很容易沉下去。所以还请各位帮忙支持一下!题解1 题解2 题解3

7.6 巨难的模拟赛,遗憾的vp

上午打蔡老板安排的比赛。感觉三道题都很难,都没有思路,于是就打了暴力跑路。T2出锅了。排除这个锅后徐队就是rank 1!stO 徐队 !!!

下午订正了T1。大概是先发现相邻两步,要么(x_i=x_{i-1}+1),要么(y_{i}=y_{i-1}+1)。然后预处理转移的边界,最后用单调队列优化DP。因为是二维的,情况不少,非常不好写。(又因为我很颓)。所以就写了一下午。

之后学习了一下T2。挺复杂的,但应该可以做。(明天补吧!

晚上7:30~9:30开了一场vp:Educational Codeforces Round 90 (Rated for Div. 2)A很简单。B是个博弈,解题靠的是一个结论:最终(0,1)较少者一定会被消耗完。感觉有点考验智商,我一开始没做出来,在这里耽误了一点时间。C是简单题,直接照着题意做即可。D稍微分析一下操作改变了什么,然后做个前缀和即可,也比较简单。

然后就是决定成败的关键:E了。这题乍一看很简单。稍微细想一下,发现要解一个类似二元一次不定方程的东西。于是我开始写exgcd,有点忘了,加上细节很多,于是耽误了不少时间。直到快写完时发现不对,其实直接枚举其中一个变量即可!于是赶紧开始改,这样就好写多了。交上去:WA了!此时离比赛结束还有3分钟,已经回天无力了。赛后5分钟我发现,竟然是【比较两个串字典序】,这样一个简单的地方出错了!真是十分遗憾。

因为没调出E,前面又做的比较慢,所以就只有rank1800多了。如果做出了E,可能排名有200左右。不太满意。明天再来一场!

7.7 遗憾的vp * 2

上午莫名其妙地过去了。

下午订正了昨晚比赛的F。学会了G,还没写。

晚上vp了Codeforces Round #495 (Div. 2)。说起来这是我打的第一场cf(当时刚学编程,用的duyi这个号,只做出来A)。A,B,C都比较简单。D我冲了一个复杂度不太对的随机化。后来证明能过。可惜我没写完。

效率太低。

7.8 补CF题

今天补了几道之前CF比赛/vp的题:7.6vp的edu的G Pawns;昨晚vp的#495的E Sonya and Ice CreamF Sonya and Bitwise OR。其中以这个F题比较有难度,写了题解。至此之前好几场CF的题都补完了(除了Global Round的H,I,补不动)。

今天效率还是太低。一部分原因是下午回学校了,顺便在外面玩了一会。高爸每天效率好高,我要来学习一个。我再(对自己)重申一下:按计划,每天应该有一场vp,复习/参加一场正睿比赛,以及做一下杂题(往年各省省选,NOI,其他大OI等)。

7.9 计划出了一点小意外...于是玩了一天提答

昨天不是说,每天应该复习/参加一场正睿比赛吗,于是按照计划,我今天早上准备复习一套ZR2019暑假的省选题(2019 day5)。T1,T2我很快做好了。T3是我之前没补的提答题。这不写不知道,一写就写了一天。怎么说呢,题目很新颖,也很有意思,但是对于能力恐怕没什么提升。算了,希望明天计划能走上正轨吧。

怎么日记一天比一天短了呢?


非常抱歉,最近两天的日记鸽了

7.12 前两天生病了。今天和明天要学文化课。预计7月14日可以恢复更新。

嘤嘤嘤。


7.14 恢复训练

上午做了正睿2019暑假的day6。非常棒的一套题。T1是简单题,碰巧前几天做过类似的idea,于是就切了。T2是比较难的状压DP,需要经历容斥、考虑贡献等等思维过程,并且要用到FWT,我看了题解学会的,并自己实现了一下,然后写了个题解T3主要是初步转化(把排列拆成环,分成同色、非同色环)不好想,实现起来也非常困难。我读了题解以后,又参考了别人的AC代码,才实现出来。自己写了一个更详细的题解

下午睡了一觉。一不小心睡的时间有点长。

晚上vp了最近的一场div2:Codeforces Round #655 (Div. 2)。A,B很简单。C,D都是,类似于贪心或者说构造吧,因为主要是要想到最优的那种方案。我一开始都没想的特别清楚,所以因为细节搞了很久。罚时就爆炸了。最后rank 700多。

我做完D还剩半个小时左右。因为E看上去挺难,就没细想E,去玩了。比赛后仔细想了一下,yy出一个DP,不知道能不能行,明天试试吧。


7.15 文化课。。。鸽了。

7.16 做题。效率仍有待提高

上午订正了7.14 vp的div2的E。一开始有一个DP的想法,后来发现状态不太对(写了一个小时,发现不对又用了一个小时)。之后看了题解,原来是区间DP!算是个套路吧,挺有用的。很好写。

下午和晚上,看了SBCOI的CD。这两题都挺有意思的。我都不会。学习了一下,写了题解。题解C题解D

虽然做了三道好题,但是效率还是太低了。一天能做的事远不止这些。明天要更集中注意力,多做些题。

7.17 AK div3 (快乐

上午做了SBCOI的B。是一道图论题。简单讲就是把DAG上的经典问题,搬到了普通有向图上。我因为细节想得不清楚,调了很久。还要感谢高爸的指点!把细节调出来后,写了一发题解,应该讲的很清楚。

下午先睡了一会,然后做CF题。CF1365F Swaps Again,是个结论题,我没想出来。CF1366E Two Arrays比较简单,稍微分析一下,用一个单调栈就行。CF1367 F1,F2 Flying Sort也比较简单,仔细分析题目性质,做一个DP即可。

晚上先写完了下午的最后一道CF题。

22:35开始打Codeforces Round #656 (Div. 3)。A,B,C,D比较简单。E是一道图论题,也是关于DAG的,考察对拓扑排序的理解吧,可能需要脑子转个弯。F是树形DP+换根,本身不难,但是如果一开始想贪心,就挂了(我就是先想的贪心,耽误了不少时间。如果想到树形DP的话,这题还是挺简单自然的)。G考察了,排列可以拆成若干个循环节,这个套路,这题我倒是一下就做出来了。(结果:unofficial rank 55)

7.18 快乐的一天,曲折而成功的vp

昨天打完div3以后,今天早上睡了个懒觉。然后一天都很快乐。

上午打算做NOI2016的。结果只做了day1 T1 优秀的拆分。我先自己想出了(O(n^2))做法(95分)。然后看了一下题解。从(n^2)(nlog n)还是挺巧妙的。用的是一个调和级数的复杂度分析。学到了!然后写了个简单题解

在写这道题的过程中,我还解决了一个我以前没有注意到的,后缀数组的细节点:

下午被徐队拉去打他搞的丽泽的比赛。丽泽,大概就是,神仙myt带着一群普转提的小朋友,所以水平还比较菜。徐队拉了6道CF题,都比较简单(1400~2100),其中2100的那道我以前还做过。所以就直接AK了。建议徐队加大力度

然后,按照刷CF2100~2500题的计划,做了一道2100的题Binary Subsequence Rotation。分析一下题目性质然后贪心就行,自己想出来的,感觉不难。做这种CF中等、简单题,主要就是锻炼一下分析题目性质的能力,感觉还挺重要。

晚上vp了Educational Codeforces Round 91 (Rated for Div. 2)

  • A很简单。
  • B分析一下题目性质就好,也很简单。
  • C需要一个初步转化,然后就变成简单DP。
  • D是思路简单但是细节较多的题目,我一开始读错题意了,所以WA了一发,在这道题上用了很久。
  • E需要先分析题目性质,然后转化为一个简单问题。对这个简单问题,我一开始直接模拟。交上去TLE了,这才发现复杂度错了。于是改用启发式合并,就对了。
  • F没做出来。只会每次修改后都做一遍(O(n))的DP。不知道怎么优化。
  • G。前几天听wzy大佬说是“普及组难度”。需要一个初步转化:就是每个点的贡献,是它和上一个mimic的距离。想到这个初步转化后,剩下的确实是普及组难度的贪心了。wzy大佬诚不欺我!因为有个地方没取模WA了一发。

虽然D读错题,E想错复杂度,G没取模。但是最终这三道题都做出来了。所以结果还是很不错的。rank 39。可以说是一次曲折而成功的vp。

7.19 div2涨分

因为种种原因,今天上午和下去没做什么事。看了一下NOI2016的day2 T1,但是还没细想,打算明天写。

17:00参加了Codeforces Round #657 (Div. 2)。因为某种神秘原因我大号dysyn1314上次掉到紫名了,所以今天是以rated的身份参加了这场div2。

  • A题很奇妙,看到题会让人联想到DP,FFT,KMP,等等高端算法,一时脑子混乱,不知道该用什么。仔细想想似乎(O(n^2))就能通过本题,于是就随便打了个暴力。由于细节问题还WA了一发,19分钟才写完A题,真是非常丢人了。不过似乎其他人用时也都比较长
  • B题非常简单,而且无聊。吐槽一下垃圾题。
  • C。我看错题两次(吐血)。最开始,我以为,每种花,第一朵的价值是(a_i),第二朵的价值是(a_i-b_i),第三朵价值是(a_i-2b_i),......。于是我想的做法是二分最小价值,check大于等于这个价值的花的数量是否大于等于(n)。好不容易写完(写了很久),一测样例,发现不对。发现(b_i)的符号是加,于是我以为,每朵花的价值是(a_i), (a_i+b_i), (a_i+2b_i) ......。按照这个题意想了很久都不会做。再仔细一看,发现(a_i+(x_i-1)b_i)是总价值,也就是说每朵花的价值其实是(a_i), (b_i), (b_i), (b_i), ......。这就很简单了嘛......。于是直接切了。在这道题上用了半个小时。
  • D是个细节很多的无脑题。写了一个小时不到。最后2分钟提交,AC,绝杀

因为做出了D,好多人没做出D。又因为大部分人A,B,C都做的和我一样慢。所以就涨分了。+129。开心。

晚上出去吃饭,玩了。顺便看了小仙若的生日直播。顺便上了个舰长。

小仙若真好看。

7.20 南外训练开始!

随着李曙一声令下,南外的NOI训练就开始了。

今天第一天,是做六校联考的题。开题,想到了T3的初步转化,于是先做T3。因为家门外很大的噪声干扰,还有一个细节写错等原因,这题一共写了3个小时。接下来打了T1 T2的暴力。最后一个小时无事可做。

结果:T1的暴力MLE了。0+30+100=130。总排名中等。在南外提交的几个人里垫底了。

下午和晚上,订正了T1。是要用卢卡斯定理。太久没用了,确实没想到。

7.21 杭电多校 爆炸

上午在正睿听陈主力讲图论。

下午去学校打多校。发现我的队友都不在学校。。。

1005这题,因为数学问题((-b^i eq (-b)^i)),我调了很久很久很久(大约2个多小时)。

于是整场就崩掉了。后面还发生了一些意外。总之打的很糟糕。

晚上整理了一下两道签到题(1005 1006)。本来想了个1011的SA做法,写出来才发现假掉了。

原文地址:https://www.cnblogs.com/dysyn1314/p/13213143.html