- 7.1
- 7.2 低效的一天。顺便聊聊后面的计划
- 7.3 模拟赛。又双叒叕水群浪费了很多时间
- 7.4 CF智商场惨遭碾压,大号灰飞烟灭
- 7.5 订正CF。加没做啥事。
- 7.6 巨难的模拟赛,遗憾的vp
- 7.7 遗憾的vp * 2
- 7.8 补CF题
- 7.9 计划出了一点小意外...于是玩了一天提答
- 7.14 恢复训练
- 7.16 做题。效率仍有待提高
- 7.17 AK div3 (快乐
- 7.18 快乐的一天,曲折而成功的vp
- 7.19 div2涨分
- 7.20 南外训练开始!
- 7.21 杭电多校 爆炸
- 7.24 CF小掉分
- 7.25 补补题,vp手速太慢
- 7.26 听课,vp划水爆炸
- 7.27 NOI模拟赛,晚上补题
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 Problem;LOJ2555 「CTSC2018」混合果汁。
自己按照刷LOJ的计划,往后做了一道LOJ2074 「JSOI2016」灯塔。是很套路的决策单调性优化问题,很好写,没什么意思。
晚上后继续往后做了一道LOJ2075 「JSOI2016」位运算。有点意思。写了个题解。
感觉今天效率太低。以后千万不能在学习时间水B站和知乎。
说一下我之后的计划。
- 首先是跟着蔡老板打比赛。只要有比赛就订正好搞透彻。
- 然后准备做一下往年NOI的题,因为我很有可能有D了,不想太丢人。
- 刷LOJ。主要是各省省选题,带着往后做。不要太追求量,要注意搞透彻。
- CF比赛。带着做吧,平时多vp。原则上,蔡老板不开题的天,都可以来个vp。
- 复习以前正睿的题。从去年暑假集训开始。计划是没有比赛的时候每天一套。
7.3 模拟赛。又双叒叕水群浪费了很多时间
上午模拟赛。T1是个简单题,可能稍微分析一些题目性质就能做到\(O(n)\)了。我直接无脑上了个二维DP,然后把第二维搬到线段树上,复杂度\(O(n\log 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,2\dots 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 Cream、F 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的C和D。这两题都挺有意思的。我都不会。学习了一下,写了题解。题解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\)到\(n\log 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\neq (-b)^i\)),我调了很久很久很久(大约2个多小时)。
于是整场就崩掉了。后面还发生了一些意外。总之打的很糟糕。
晚上整理了一下两道签到题(1005 1006)。本来想了个1011的SA做法,写出来才发现假掉了。
最近比较颓,22, 23 号没做什么事。
7.24 CF小掉分
上午听戴大爷讲数据结构课。我以为数据结构课就是线段树、树状数组的应用,没想到全是LCT。我没学过LCT,所以自闭了一上午。
因为晚上有CF。所以下午想做几道小CF题恢复一下手感。学习了CF1368E Ski Accidents和CF1346G Two IP Cameras这两道题(自己没想出来);然后自己做出了CF1140E Palindrome-less Arrays和CF1146E Hot is Cold这两道题。
晚上CF。Codeforces Round #659 (Div. 1)。A比较简单,但是有一个细节第一次、第二次提交都没想清楚,又总共用了40分钟才AC,于是就罚时爆炸了。B按二进制位从高到低考虑即可,比较简单,我算是发挥正常,大概20分钟写出来了。
C当时还没有人过,于是就先看过的人比较多的E。首先转化为删掉任意一个\(0\)或删掉一个和\(1\)相邻的\(1\)。然后大概想法是\(dp[i][\dots ]\)表示考虑了前\(i\)位,后面用一些\(01\)之类的东西,描述这个串的特性。。。但是具体怎么搞没想出来。
于是就只有\(2\)题,罚时又很多,就悲催垫底了。后来看了一下,即使只做出两题,手速快一点,还是可以涨分的。哎。手速又慢,难题又不会,怪谁呢?
7.25 补补题,vp手速太慢
上午起的比较迟,就订正了昨晚CF的E。我昨晚的思考方向不对,没有想到那个贪心。感觉很妙。写了个题解。
下午补HDU多校Round2的题。先写了 1012 String Distance 的题解。这是当时我在现场做出来的题。然后补了1001 Total Eclipse,1005 New Equipments和1006 The Oculus。都是简单题,当时都是队友写的。其中1005有些细节,问了lxr才写对。
晚上vp了Educational Codeforces Round 88 (Rated for Div. 2)。A,B,C,D,E都是简单题。F好像比较难(没做出来)。其中E,结论应该是所有数都是最小的数的倍数,这就很简单。但我一开始想法有点偏差,以为每个数都要是上一个数的倍数,这就很不好搞,写了半天才发现连第一个样例都不对。下次写这种“大胆”的结论前,最好先手玩一下样例。。。就是因为这个E浪费的时间比较多,所以排名仅有293。希望“下次”手速再快一点吧。
7.26 听课,vp划水爆炸
我发现网课,回放比较适合我。因为我可以来回拉,就能听的比较懂。在线听我很容易走神。于是我采用的学习方法是,回放前几天的网课,听一题,做一题。效果非常好。今天我就回放了陈太阳day1的图论课(上)。学到许多。
晚上vp了Codeforces Round #639 (Div. 1)。A,B比较简单,我因为脑残的原因各WA了一发。C想到结论后,写WA了。于是就去划水了。。。
我真颓。明天来把C改对吧。
7.27 NOI模拟赛,晚上补题
上午去学校参加了六校NOI模拟赛#5。是华二,高爸和gyr出的题。昨晚睡觉前,高爸就给我预告了一下,会有他博客里的内容。我翻了翻他的博客,里面是:
《Surreal Number 学习笔记》、《保序回归学习笔记》、《IMO题若干》、《IOI题若干》 ......
打扰了!
今天到学校比赛。
- 开题,看到A好奇妙,B好奇怪。C,哎,C好像在洛谷见过类似的。于是先做C。写出了C的50分。此时比赛已经过去近2个小时(除了读题和写C,还有一点时间用来写快读了)。
- 再来想A,从数据范围容易看出是网络流,但具体怎么建图还是想了一会。想出来后,我非常高兴,赶紧写完了A。此时大概过去了3个小时,旁边的袁神、lqs等已经阿克,开始讨论其他毒瘤的问题。
- 我继续看B。B,读起来感觉就挺奇怪,对这种精巧的构造题,我一般都没什么思路。于是写了一堆乱搞(是很朴素的乱搞,本来没期望骗到分,因为我自己测的连随机数据都过不了)。期望得40分,结果拿到了50分,我还是非常开心的。
- 最后一个小时基本就在划水+补充一点乱搞。感觉,一方面还是思维不行,另一方面也没有认真动脑吧,在思维上有点懒惰。我觉得要告诫自己一句话:不能用乱搞(动手)的勤快,来掩盖思维的懒惰。毕竟写10个乱搞,得到的分也不如正解。这句话非常适用于我在很多OI比赛时的状态。
- 赛后知道了,C,我的50分做法离正解其实就一步之遥。Orz当场想出正解的张神!!!(张神最近变得非常非常猛。有空我专门写篇文章来膜他)
下午,在外面吃个饭,回家,再搞搞别的事情。一晃就5:00了。
晚上订正了上午比赛的B,C。补了昨晚vp的C,还写了题解。
睡个好觉。明天有 ZR 和 HDU 多校两场比赛!
来源:oschina
链接:https://my.oschina.net/u/4360199/blog/4462217