随笔分类 - DP(树形/仙人掌)
摘要:昨晚被欧老师D得怀疑人生。。。 再次表扬一下自己2A(记错了数据范围。。。) 为什么我的感觉就是打了个暴力。。。 两个dfs处理出树的直径,确定了两点 然后接着暴力找剩下那个点。
阅读全文
摘要:题目就是算法啊 求仙人掌图的直径也算是基本问题之一了吧。 简单的想法就是dp,当y是割点,那么直接更新答案没有问题,也就是常规的treeDP求树的直径 但是呢当构环了情况就会有些复杂。 需要用到单调队列维护环里面的ans,不过f还是可以直接继承的。
阅读全文
摘要:这题很有思考价值。DP啊,真是太TM博大精深了。%%%题解a 相信只要用treeDP就会想到二维,这东西表示答案也很容易想,难就难在怎么转移。 对于当前的dfs,我们想要知道,有多少个点对会经过x和fa的这条边,而且是全局总贡献(这想法真是太NB了)维护的话就可以写一个背包,每访问一个节点就维护一下
阅读全文
摘要:一开始的想法:top判一下环,然后直接D 然后其实整个环一起取是合法的 所以无脑缩点 然而森林转二叉树+treedp真的慢到爆炸,10s跑不出一个点 Rose:我从来都是直接多叉D (%%%%%% 然后就%了一发fyc,然后学会了。(或许某天我又会回来补) 垃圾森林转二叉 AC:
阅读全文
摘要:这题以前好像是做过的。 很容易发现就是treeDP了。 然后需要一点贪心的思想,对于当前以x为根的子树,删除任意的子节点,实际上答案都是+1,所以可以排序一下,然后先删那些值小的点。
阅读全文
摘要:这题一眼题就是树形DP了,前两天看完,结果因为高烧+流感写不动,今天切了。 mod数极小,那么f[i][j]表示以i为根节点的子树中,长度%3==j的链的个数。 答案就是这一个子节点乘以前面的子节点的对应值,用根累计。
阅读全文
摘要:一眼题,就是treedp,第一问很好做啊!看来是道水题! 第二问?两维咯,一维点,一维非偏爱个数或者有多少个偏爱咯 一眨眼一上午,准备精A。。。C,三维!? 好吧,为啥WA10+!? 还有mod!还有判断联通! 说多都是泪。。(本来想用自己的努力AC不被D的)
阅读全文
摘要:估计像我一样想树形DP搞搞不想时间复杂度的蒟蒻很少见了~~~~ 然而花了一个下午学会了——虚树!!!厉害!(感觉在竞赛室都在不停的get新姿势,舒服) 这个东西呢主要是省略一些不会访问到的点。比如这题的样例第一个问,我们就把树变成这样: 就是保留根,通过保留lca和要断的节点来把树的形状得出。 具体
阅读全文
摘要:期望的大难题,%%ZZZ大佬的解释,不得不说这是一道好题(然而膜题解都没完全看懂,然后就去烦ZZZ大佬) 简单补充几句吧,tmp的理解是个难点,除以tmp的原因是,当我们化简时,子节点也有一个B*f[父节点],这个时候我们化简不掉,怎么办?直接将他放到等式的左边,和f[父节点]合起来,(1-(1-k
阅读全文