这周还是上网课,下周就是开学第八周,学期已经过半。
这周主要是系统看了一下哈希hash,它既可以用来帮助状态记录,也可以用来减少枚举量。正如所看博客中写的一样,所有的哈希都无异于设一个集合,往里面加元素罢了。最简单的方式就是开一个数组,记录正整数元素出现的有无。而对于其他类型的元素,我们可以用到一些数据结构比如哈希树,或者是STL中的map,set等。
基本遇到的题都与字符串hash有关。Problem - K - Codeforces 与https://ac.nowcoder.com/acm/problem/15253
这两个题是在看博客的过程中挺好的哈希题,第一道就是典型第一眼看上去想要暴力枚举但是肯定TLE需要哈希,第二个就是求循环同构子串的数目。在之前写哈希题目的时候,只会用Stl写map,但是树哈希就是对树进行哈希,去判断两个树是否同构。具体又分为有根树的哈希算法与无根树的,给出了对应节点的哈希公式,遍历整个树将对应的哈希值标出,【模板】树同构([BJOI2015]树的同构) - 洛谷一个哈希树的模版,虽然是紫题但是看题解之后还是能明白的。。
然后最近又看了看最基础的搜索、贪心的知识,用其他语言的代码进行实现。
上周说打一打codeforces结果一周都没碰到比赛(不知道是不是我的邮箱出毛病了)。。但是看博客里面挺多题目链接都是codeforces里面的,不过今天晚上倒是有场div2的。下周我想精读一下dp先,然后继续看树,感觉看的这些知识与学的数据结构交集挺多的,对课程的学习帮助也很大。