hdu5534 Partial Tree(dp)

原创 2016年08月30日 10:39:34

hdu5534

题目

就是给你n个点,要连n-1条边形成一棵树,最后有个cool值,cool值是所有节点的f值的和,f值与节点的度数有关,具体f1~fn-1事先都已经给出。

思路

不用考虑图上的东西,从度考虑,每个点至少1个度,总共2n-2个度,所以要分派n-2个度,dp[i]表示分配了i个度时的最大值。转移方程中的i-1的原因是已经分配掉了一个度,实际增加的是i-1度。注意f2~fn-1要减去f1。

代码

#include<cstdio>
#include<cstring>
#include<cassert>
#include<iostream>
#include<algorithm>

using namespace std;

typedef long long ll;

int n;
int f[2025];
int dp[2025];

int solve(int m)
{
    for(int i=0; i<=m; i++) dp[i]=-0x3f3f3f3f;
    dp[0]=0;
    for(int i=2; i<n; i++)
        for(int j=0; j+i-1<=m; j++)
            dp[j+i-1]=max(dp[j]+f[i],dp[j+i-1]);
    return dp[m];
}

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=1; i<n; i++)
            scanf("%d",&f[i]);
        int ans=f[1]*n;
        for(int i=2; i<n; i++)
            f[i]-=f[1];
        printf("%d\n",ans+solve(n-2));
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【HDU5534 2015长春赛区H】【树上DP转完全背包】Partial Tree 不同度不同权对应最大树权

#include #include #include #include #include #include #include #include #include #include #include #...

HDU 5534 (ACM 2015 长春) Partial Tree [基础DP]

给出N个点,让你构造出一棵树,让价值尽量大,价值的计算方式为 Σ f[ Ai ] 其中Ai是每个点的度。

HDU 5534 Partial Tree(dp优化)

题目链接: HDU 5534 Partial Tree 题意: 有一棵树有nn个节点,对于度为dd的节点对树的价值贡献为f(d)f(d),给出f(1),f(2),⋯,f(n−1)f(1),f(...

HDU5534 Partial Tree(15年亚洲区长春站) DP

当时长春赛举办的时候我们队并没有去,另一队跑去参加了。。。 于是我们就去参加中国赛了 然后又是铜奖 真是nice 个屁啊 长春站的H题,一道动态规划的题目,不过需要一些转换。题意是说,给你N个点,让你...

hdu 5534 Partial Tree 2015长春区域赛 dp 脑洞

2015长春区域赛第五题,银牌题。

[hdu 5534]2015ACM/ICPC亚洲区长春站 Partial Tree  完全背包

Partial Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...

HDU 5534 Partial Tree (2015长春站H题&&完全背包)

今天写了这题,再次感慨,失去了拿我们学校首金的机会,今天花了20分钟1A了这题。这么简单的背包DP,比赛的时候被我想那么复杂,我花了2个小时搞了这题,看到题目我就想想到了是背包DP,然后开心地列了一个...

hdu 5534 Partial Tree【完全背包】

Partial Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others...

hdu5534 Partial Tree

Partial Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

hdu5534 Partial Tree

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submissi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)