复健记录
复健开始,学习复杂度相关计算。
对数函数可以用换底公式证明互相只存在常数倍的关系,所以底数对于对数函数的增长趋势的影响可以忽略不计。
学习主定理,均摊计算复杂度,势能分析。
主定理没学明白,改日再战。
To do list:
(6.26 想懂了证明,有空想想应用)
感谢李队长,看懂了主定理。
听范哥讲话,很有精神。
看了看基础算法。
粘一个模拟的要求。
在动手写代码之前,在草纸上尽可能地写好要实现的流程。
在代码中,尽量把每个部分模块化,写成函数、结构体或类。
对于一些可能重复用到的概念,可以统一转化,方便处理:如,某题给你 "YY-MM-DD 时:分" 把它抽取到一个函数,处理成秒,会减少概念混淆。
调试时分块调试。模块化的好处就是可以方便的单独调某一部分。
写代码的时候一定要思路清晰,不要想到什么写什么,要按照落在纸上的步骤写。
中午个人赛(一)前的To Do List:
(6.26 等明天吧,今天有题补,顺便看看最短路)
晚上计划大概是补题+To Do List
个人赛(一)反思:
题目大多数是ABC和ARC的题,从Atcoder上找的题好处是没有工业化算法。
思考速度和手速还行,输在了C的犹豫不决上。
C一开始WA了之后有点急躁,以为改一改小的参数就能过,所以有好几发是31/32。
之后整理了一下思路,重新优化了一下枚举顺序,想了俩小性质,过了。
不过7发罚时给我比赛送走了,直接不想打了,后面一直摆烂。
所以题目在提交之前最好还是算算复杂度好好想象细节,尤其是这种模拟题,在会做的题目数量不够的情况下罚时太难受了。
不想了,好好补题。
补F的时候去看最短路,开一篇图论学习笔记。写不动啊,咕咕咕!
建立超级源点的方法是很有用的,要把网络流中学会的建图方法学以致用。
草突然觉得F的做法非常自然。
ABC307F 大概就是每一天把能更新的用来留着更新剩下的,懂了Dijkstra的原理就会做。
DIjkstra的原理大概就是已知最短路集合S和未知集合T两个之间的一些balabalabala。
然后突然想到了一个东西叫K短路?等有空看看。
ABC307G 没想出来的并不是很难的DP。
只能说DP确实是区分入门级别选手和大众选手的守门员。
所有数加起来的和肯定是不变的,最后每个位置情况只能有两种\(\lfloor \frac{sum}{n} \rfloor\)和$\lfloor \frac{sum}{n}\rfloor + 1 $。
然后第二种的数量是\(sum - n * \lfloor \frac{sum}{n} \rfloor\)。
确实都挺显然的,然后就是\(dp_{i, j}\)表示前i个数,其中有j个是第二种这样的状态然后转移。
因为最后一个肯定是前面n - 1个流过去的,所以确实是正确的。
那就根据当前这个是第一种还是第二种分情况转移即可。
通过这个题开始想为什么能动态规划,突然想明白了一些东西,赶紧开个动态规划学习笔记。
To Do List:
LCS也能用Bitset优化,长见识了。
上午大概是有学长讲基础算法,挺水的,没听。
下次讲课是许队讲,认真听听。
确实做题比单纯看算法复健速度更快。
看了一车图论简单概念,感觉应该找点有体系的书看看。
《离散数学》和《具体数学》都不错,《数学分析》和《线性代数》也应该开始学了。
不过还是留一手打算吧,如果没进计划就还是老老实实考研数学。
图论相关概念实在难顶,真tm多啊草。
感觉图论是OI时期探索非常少的一部分,得好好学学。
接下来可以侧重于在字符串方面复健,先抓强的吧。
看DFS的时候有一个括号序列?DFS时候进栈为(,出栈为),每个节点的()里面代表的是它的子树,好像树上莫队会用到?挖个坑。
To Do List:
图论看完了DFS和BFS。
什么?双端队列BFS?优先队列BFS?没见过没见过!
非常好,单单一个bfs找最小环就给我干没了半天,感谢许队长救我……
有的时候出错还是得考虑算法正确性,别老想着哪里写挂了。
下午状态极差,非常困倦,晚上早点回去洗衣服休息了。
感觉晚上看不进去新东西了,打算先睡一会再看看最近那场CF。
下一步打算是实在太困就开始看以前Blog。
我chao,我原来还学过这个?
To Do List:
七点半的打算是睡一会看看高维前缀和。
还是得把书先搬出来,我想学数学分析。
感觉睡的量还行,但是忘带数学分析了妈的。
打算上午看看高维前缀和,晚上数学分析。
To Do List:
开了个数学学习笔记
草,被干碎了,已经完全不会博弈论相关了,妈的,下次不要尝试博弈论题。
To Do List:
就还是做到平常心吧,重在培养能力,不在于模拟赛过了几道题。
这次比赛还是涨了不少教训吧,一个是前面的简单题写的时候认真点,别搞那么多罚时,细节写清楚。
一个是不要在某个题上卡住,比如这场的F和I、J就还比较能做,可惜了。
晚上去一个很高级的馆打球,场地很亏贼,一点都不滑。
半夜出去喝了点,挺嘚~
拔尖计划选拔结果出了,结束忐忑心态,ACM开始摆烂。
就跟李海涛老师的考研一样,干任何事情都得有平常心吧。
但是有一点很关键的已经出现了好多次的问题是我从100fst到68了,草。
在经管待了一年导致代码能力直线下降,真的大无语。
浴乎沂,风乎舞雩,咏而归。
To Do List:
想了想,可以浅开一手搜索学习笔记
下午精神状态不错,应该是睡了午觉的缘故,晚上打算开一手CF,上大分上大分。
难受生病。
上午来了看了看FWT,没有太看明白,改天再看看。
以及开个小坑,准备补FFT。
下午组队赛单挑,被打爆了。
其实还是自己复健不到位吧,C和D感觉自己想也应该能想出来的才对。
I题的交互题还是很套路的,一开始没有敢写,因为交互题难以判断正误。
后来交互题因为格式LTE了好几发,最后发现是格式错误,所以就读题还是很重要的。
F和G题的难度其实都比较小,但是F的题面翻译错误了耽误了很长时间,加上一开始F题的做法写假了两发,所以F开的比较慢。
G题的小思路还挺有意思的,卡了一会,后来自己安静想了一会就想通了,看来还是个人安静多想一会更容易解决问题。
晚上去打了一场ABC,果不其然只做出来了600分以下的题目,而且B和C都WA了一两次。
可见现在一是代码能力有所下降,二是贪心DP等常见算法的应用不够精通,需要补一补这些常见算法的套路和应用,之后再去研究最近看的比如FWT之类的东西。
明天的计划是先补一补今天的abc的题目,然后开始复健图论基础把讲课课件搞的差不多,最后剩下点时间看看动态规划。
在赶图论讲课的课件,然后看到了天天爱跑步,寄,不会。
上午刷了点ABC的F题,都挺水的。
来贴一个变强指南
想退役了,这他妈什么傻逼题我都不会了草。
ABCDIJ直接连过了六个题,然后E卡了一个半小时,寄。
E题是个非常简单的傻逼题,根据题意发现非常符合最大生成树,跑就完了。
F题是个傻逼交互ST表题,无思维含量,写E写时间太长了,寄了,麻了。
真比赛策略出大问题,草
上午很困。
中午回去睡觉,很舒服,下午效率奇高,一个小时搞完了讲课的PDF课件,感觉难度安排的还挺合理。
策略改变,现在策略大概是先OI WIKI把常用模型和算法捡起来,然后刷一刷abc500~700分难度的题。
然后下午剩下时间打算好好看看综述性论文。
嗯搜索部分先暂时跳过去,后面组队赛有队友了压力小了再学。
课件得加一些部分,寄,打算粘贴一下Wiki然后随便用自己的话改改再加点小图片(
上午听组会,听宕机了。
下午比赛打的还行,都秒了,但是有四个题细节没注意到位,fst了,寄,还行,勉强rk3,周五得再保持一次。
之后大概是做完图论初步的课件,这样其实就大概把图论的基础内容补完了,然后剩下时间去继续看论文, 或者学一点PyTorch?
晚上借做课件差不多补全了图论基础,明天写写笔记总结一下。
上午图论讲课,人累麻了,感觉这周天去55教310的计划又泡汤了,周六训练结束之后需要好好休息休息。
下午过敏,真的状态不对劲,不知道自己在干啥一个状态,感觉敲不动代码。
再次进入大脑宕机状态,真该死啊。
周六打完组队赛应该会出一复健阶段性总结,在此之前除了比赛先摆一摆。
个人赛打的稀烂,不想评价。
目标:
1、复习AC自动机、KMP、后缀数组、后缀自动机、马拉车。
2、三周个人赛综合排名进前九。
3、看一些ctz_45562计算几何blog。
最近有尝试使用电子笔记接管博客园的想法,当知识学的多了之后迫切需要建立合理的体系架构。