首页 > 其他 > 详细

P4395 [BOI2003]Gem 气垫车

时间:2020-05-19 15:30:18      阅读:48      评论:0      收藏:0      [点我收藏+]

树形dp

首先,我们可以考虑dp,把这个问题看成一个树的染色问题,用dp[i][j]表示以i为根节点,将树染成第i种颜色的最小代价,那么我们可以得到j的最大值是(log(maxn)/log(2)+1)=15,所以循环次数我们开到15就可以了,然后是常规初始化和dp,这里dfs是遍历整棵树寻找答案.

for(int i = 1; i <= 15; i++)
     for(int j = 1; j<= 15; j++)
        if(i != j)
            mn = min(mn,dp[v][j])
      dp[u][i] += mn

 

P4395 [BOI2003]Gem 气垫车

原文:https://www.cnblogs.com/caterpillor/p/12917171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!