随笔分类 -  DP(树形/仙人掌)

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