zoukankan      html  css  js  c++  java
  • [CSP-S模拟测试]:Tree(贪心)

    题目描述

    给定一颗$n$个点的树,树边带权,试求一个排列$P$,使下式的值最大

    $$sum limits_{i=1}^{n-1}maxflow(P_i,P_{i+1})$$

    其中$maxflow(s,t)$表示从点$s$到点$t$之间的最大流,即从$s$到$t$的路径上最小的边权


    输入格式

    第一行一个整数$n$,表示点数
    下接$n−1$行,每行三个数$u,v,w$表示一条连接点$u$和点$v$权值为$w$的边


    输出格式

    输出一行一个整数,表示答案


    样例

    样例输入:

    2
    1 2 2333

    样例输出:

    2333


    数据范围与提示

    对于前$5\%$的数据满足$nleqslant 8$
    对于前$40\%$的数据满足$nleqslant 200$
    对于前$60\%$的数据满足$nleqslant 2,000$
    对于$100\%$的数据满足$nleqslant 100,000$


    题解

    我也不是到这是什么玄学神题……

    码个对拍惊喜的发现其实就是边权和,然而我考试的时候暴力没打对于是只有$95$分……

    证明可以用贪心(有时间再证吧……)

    记得开$long long$就好了,否则$0$分的哦~

    时间复杂度:$Theta(n)$。

    期望得分:$100$分。

    实际得分:$100$分。


    代码时刻

    #include<bits/stdc++.h>
    using namespace std;
    int n;
    long long ans;
    int main()
    {
    	scanf("%d",&n);
    	for(int i=1;i<n;i++)
    	{
    		int w;
    		scanf("%d%d%d",&w,&w,&w);
    		ans+=w;
    	}
    	printf("%lld",ans);
    	return 0;
    }
    

    rp++

  • 相关阅读:
    [转]<UNIX编程艺术>之精华文字
    2012年学习小结
    重试逻辑代码
    《构建高性能web站点》读书点滴
    mysql体系结构
    设计memcache的部署结构
    一般性hash算法c#版
    Flex带进度条的多文件上传(基于Servlet)
    C++11中值得关注的几大变化
    优化网站响应时间tomcat添加gzip
  • 原文地址:https://www.cnblogs.com/wzc521/p/11629983.html
Copyright © 2011-2022 走看看