zoukankan      html  css  js  c++  java
  • 斜率优化:

    #include<bits/stdc++.h>
    #define ll long long
    #define rep(i,a,b) for(int i=a;i<=b;i++)
    using namespace std;
    const int maxn=600010;
    const int Mod=1e9+7;
    int c[maxn],fa[maxn];
    int Laxt[maxn],Next[maxn],To[maxn],len[maxn],cnt;
    ll dp1[maxn],dp2[maxn],ans=0;
    ll Pow(int x){ return 1LL*x*x;}
    void add(int u,int v,int w)
    {
        Next[++cnt]=Laxt[u]; Laxt[u]=cnt; To[cnt]=v; len[cnt]=w;
    }
    void dfs1(int u,int f) //dp1[u]是fa[u]到子树的最大值
    {
        for(int i=Laxt[u];i;i=Next[i]){
            int v=To[i]; if(v==f) continue;
            c[v]=len[i]; dfs1(v,u);
            dp1[u]=max(dp1[u],dp1[v]+Pow(c[u]-c[v]));
        }
        if(f) ans=max(ans,dp1[u]);
    }
    int main()
    {
        int N,u,v,w;
        while(~scanf("%d",&N)){
            rep(i,1,N) Laxt[i]=0; cnt=0;
            rep(i,1,N-1){
                scanf("%d%d%d",&u,&v,&w);
                add(u,v,w); add(v,u,w);
            }
            rep(i,1,N) dp1[i]=dp1[i]=0; ans=0;
            dfs1(1,0);
            dfs2(1,0);
            printf("%lld
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    javascript 对象只读
    异步IO
    模板
    Web框架
    WSGI接口
    web开发发展历程
    python函数中的参数类型
    学习网址
    python inspect模块
    详解python的装饰器decorator
  • 原文地址:https://www.cnblogs.com/hua-dong/p/11456269.html
Copyright © 2011-2022 走看看