摘要: 打卡代码有注释 update 2024.7.15 如果用树上直接统计做,那么就要用\(f[v][0/1]\)表示已经/正在遍历过的子树长度为\(v\)的最短路径条数是多少,然后更新答案;注意在即将遍历下一棵子树的时候,我们要用这棵子树(当前的\(f[v][1]\))去更新\(f[v][0]\),但不 阅读全文
posted @ 2024-02-26 23:25 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 这个解法就看看OI-wiki的解法就好了,用的是树上直接统计(代码就看洛谷提交的,有注释) 再解释一下这个代码。每一次进入dfs的时候,这个dfs代表的点是当前所选树的根节点,在之后,我们“删除”这个根节点会将树分成若干个连通块,我们再递归地对连通块进行操作。“删除”之所以打引号,是因为自始至终我们 阅读全文
posted @ 2024-02-26 23:09 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 莫队模板题,考虑如何\(O(1)\)更新 阅读全文
posted @ 2024-02-26 16:59 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这个看OI-wiki就好了,写的很清楚 讲一下OI-wiki上面代码的一些细节 首先是第\(51\)行到第\(78\)行的\(L,R,last\)的改变,\(L,R\)的改变顺序是无关紧要的,但是\(last\)一定要在\(L,R\)修改完后再改变,因为要用到真正的\(L,R\)的值来判断范围 其次 阅读全文
posted @ 2024-02-26 16:37 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: OI-wiki上面关于莫队的介绍都可以看一下(特别是算法模板),这里介绍一下莫队算法时间复杂度的证明,OI-wiki那个有点看不懂 接下来设序列总长度为\(n\),询问为\(m\),块长为\(L\) 首先来看左端点移动总次数,设某个块的询问个数为\(x_i\),那么这个块内左端点移动的总长度为\(O 阅读全文
posted @ 2024-02-26 15:51 最爱丁珰 阅读(6) 评论(0) 推荐(0) 编辑