P8294 [省选联考 2022] 最大权独立集问题

题目大意

给出一个二叉树,每个点有点权 d i d_i di,按顺序切断它的 n − 1 n−1 n1条边,代价是边所连的两个点的权值和,且断边之后两点会交换权值,你的目的是最小化权值和。
n ≤ 5 e 3 n\le5e3 n5e3

solution

实乃毒瘤 d p dp dp
很容易想到树形 d p dp dp,但是发现很难设置状态,题目中有一个重要条件,该树是棵二叉树,不妨先观察不同情况的不同短边顺序的点的移动情况
在这里插入图片描述在这里插入图片描述
不难发现无论是什么情况,当且仅当一个点经过父边从子树外进来到位置 v v v,一个点 u u u经过父边从子树内出去,且它们的 l c a lca lca r r r,即当前讨论的点
所以可以设出状态 f u , v , r = l c a ( u , v ) f_{u,v},r=lca(u,v) fu,v,r=lca(u,v)表示 r r r子树内和 r r r到父亲的边被断, u u u点被移出去,一个点被移到 v v v的最小代价,由于还不知道移进来的是哪个点,所以这个最小代价并不算移进来的点的代价,移进来的点将会在之后的转移中被确定并且代价会被计算

设儿子个数为 d e g r deg_r degr,深度为 d e p u dep_u depu,儿子为 l s u , r s u ls_u,rs_u lsu,rsu

d e g r = 0 deg_r=0 degr=0

显然只有 f r , r = d r f_{r,r}=d_r fr,r=dr

d e g r = 1 deg_r=1 degr=1

观察前面的图不难发现要么 u = r u=r u=r,要么 v = r v=r v=r

u = r u=r u=r

f u , v = min ⁡ { f i , v + d u } , l c a ( i , v ) = l s u f_{u,v}=\min\{f_{i,v}+d_u\},lca(i,v)=ls_u fu,v=min{ fi,v+d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\],取证2022七省联考的考生将获得中国PostgreSQL分会颁发的《中国PostgreSQL认证考试技术能力证书》和工信部下属中国电子工业标准化协会颁发的《中国电子信息行业专业技术认定证书》两份证书。这两份证书具有较高的认可度和应用价值,可以在招投标、求职、职称晋升、抵税等方面发挥作用。此外,取证学员还可以享受全职业周期、全国覆盖的就业推荐服务。\[1\] 关于直径的计算,根据引用\[2\]和引用\[3\],在树的分裂情况下,最后的直径的长度可能是以下三种情况的最大值: 1. tree1的直径,假设tree1中,原来最长链的一段为root1。 2. tree2的直径,假设tree2中,原来最长链的一段为root2。 3. tree1的某一个点和tree2的某一个点连接的最长链。 在情况3中,最优的连线方式是取tree1直径的一半、tree2直径的一半并连线。如果直径是奇数,则需要向上取整。具体表达为:⌈Max1\[u\]/2⌉ + ⌈Max2\[v\]/2⌉ + 1。\[3\] 综上所述,取证2022七省联考的考生将获得两份证书,并且在计算直径时需要考虑三种情况,其中情况3的最优连线方式是取tree1直径的一半、tree2直径的一半并连线,如果直径是奇数,则需要向上取整。 #### 引用[.reference_title] - *1* [全国联考 | PostgreSQL初、中级认证考试(5.22)通过考生公示](https://blog.csdn.net/weixin_46199817/article/details/117329421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [『树直径·树形DP』「四校联考」平衡树](https://blog.csdn.net/Ronaldo7_ZYB/article/details/90488429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值