ARTS打卡 第十七周
这周本来想准备kickstart的,但是也不知道怎么回事一周就过去了
好在还是有点进展的,这里来总结一下
这周虽然困难题多,但是总体来说也不算非常困难。有两道题要推荐一下
题目,首先是这个,这道题我个人觉得还是比较难的。看到数据范围就可以想到基本上是跟位运算有关的了。他是用dp先预处理,预处理出每个子树的答案,然后再根据n的二进制位将n拆分成若干个子树的和,最终得到结果。
主要是要对字典树有一定的感觉
题目,这道题是一个栈的拓展,一般看到括号相关的就要考虑栈了。
我们用一个栈维护左括号的位置,再用一个栈维护星号的位置。遇到右括号优先匹配左括号,没有左括号就匹配星号。然后最后再用星号去匹配剩下的左括号就行。
有一个值得思考的点,在使用星号匹配右括号的过程中,其实我们用掉的星号应该越偏左越好,因为我们之后可能还会用星号去匹配左括号,所以剩下的星号越偏右越好。
但是实际上这个问题不需要这么考虑,因为当我们需要用星号去匹配右括号的时候,就可以知道这个点的左边不会出现多余的左括号了,所以这个时候用那里的星号都是无所谓的。
这周我比较推荐这篇文章,讲解了异常实现的一些方法,对C++底层有兴趣的同学可以看一下
然后这周主要是在看CMU的数据库课,确实很不错,昨天我做完的第一个作业,属实硬核
下周继续数据库,还有深度探索C++模型。加油
文章评论