NC19810(kingdom )

感受

思路

图片说明











#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const int maxn = 8e3 + 10;
ll ans[maxn], dp[maxn][maxn];
/**ans[i]表示i个节点构成的树最大贡献*/
/**dp[i][j]表示i个节点构成的森林中, |任意一棵树| <= j的最大贡献*/
int n;
int main(){
    scanf("%d", &n);
    for(int i = 1; i <= n; i++){
        for(int j = 1; j < i; j++){
            ans[i] = max(ans[i], dp[i - j - 1][j] + ans[j] + i - j - 1);
        }
        for(int j = 1; j <= n; j++){
            dp[i][j] = dp[i][j - 1];
            if(i >= j){
                dp[i][j] = max(dp[i][j], dp[i - j][j] + ans[j]);
            }
        }
    }
    printf("%lld\n", ans[n]);
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 14:08
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
榕城小榕树:你是我见过最幸福的牛客男孩
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务