Loading

4.8 CW 模拟赛 T4. 银行的源起

思路

题意

给定一棵树, 树上的点有点权 νi\nu_i, 边有边权, 要求选定两个点 α,β\alpha, \beta, 使得
uVνu×min{dis(α,u),dis(β,u)}min\sum_{u \in \mathbb{V}} \nu_u \times \min\Big\{dis(\alpha, u), dis(\beta, u)\Big\} \longrightarrow \min


考虑在链上的做法, 要求复杂度 \(\mathcal{O}(n)\)
这个应该是没啥套路的, 上!

考虑到选择两个点之后, 这个链上的点会被分成两个部分, 然后贡献就是两个部分单算的了
但是问题又在于两个部分的贡献跟你具体选的位置也有关系这样

考虑错解不优的思想, 我们可以先枚举两个部分的分段, 然后两段分别找放点的的方式使得贡献尽量小
错解显然只会让答案上升, 并且我们这样可以保证枚举到最优解, 哎哎哎

然后两端最优解怎么做?
似乎可以 \(\mathcal{O}(n)\) 预处理, 但是有没有更好的做法?
好吧看来是没有的


考虑 \(\mathcal{O}(n^2)\) 的做法

套路
  • 树上问题
    • 距离
      • 往往拆成与 LCA\rm{LCA} 有关的式子
      • 拆成每一条边考虑

不难发现对于树, 仍然是可以拆成每一条边考虑的
考虑枚举一条边, 然后这条边的两个部分分别求最优解, 不难发现可以 \(\mathcal{O}(n)\) 处理

\[\sum_{(x, fa) \in E} w \cdot \min \left( \text{size}_e x, S - \text{size}_e x \right) \]

显然可以 \(\mathcal{O} (n)\) 处理, 相当于把距离拆分成边, 并且对边定向, 然后发现一定存在一个选点方式使得对于一个部分, 取到最优选点方式

总结

感觉是比较逆天的
双点拆成单点问题处理, 好做的多

posted @ 2025-04-09 09:06  Yorg  阅读(14)  评论(0)    收藏  举报