XidianOJ 1090 爬树的V8

题目描述

V8超级喜欢锻炼身体,尤其喜欢爬树,为了抓到更多的虫子,他希望自己从某个叶子节点到根节点的路径最长,现在给你一棵树,输出V8需要的路径长度。

输入

多组数据
第一行一个T表示数据组数
对于之后的每组数据
第一行一个n,表示边数。
后面n行,每一行三个数u,v,w,表示有v是u的儿子,并且之间有一条权为w的边。
1为根节点。

所有数据小于10000.

输出

从根节点到某个叶子的最长路径。

--正文

难点在咋储存这个树。。

试过c的结构体,被free搞的心烦意乱

只好用vector水一下

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#include <vector>
using namespace std;
typedef long long LL;

struct EdgeNode {
    int next;
    int weight;
};
typedef struct EdgeNode Edge;
vector<Edge> Tree[10001];

int dfs(int node){
    int i,sum = 0;
    for (i=0;i<Tree[node].size();i++){
        sum = max(sum,dfs(Tree[node][i].next)+Tree[node][i].weight);
    }
    return sum;
}

int main(){
    int time,T,i,j;
    scanf("%d",&T);
    for (time=1;time<=T;time++){
        int n;
        scanf("%d",&n);
        for (i=1;i<=n;i++) Tree[i].clear();
        for (i=1;i<=n;i++){
            int u,v,w;
            scanf("%d %d %d",&u,&v,&w);
            Edge l;
            l.next = v; l.weight = w;
            Tree[u].push_back(l);
        }
        int root;
        printf("%d\n",dfs(1));
    }
    return 0;

}
时间: 2024-12-16 20:43:23

XidianOJ 1090 爬树的V8的相关文章

HPU--1141 蜗牛爬树

1141: 蜗牛爬树 [模拟] 时间限制: 1 Sec 内存限制: 128 MB 提交: 377 解决: 60 统计 题目描述 阿门阿前一棵葡萄树,阿嫩阿嫩绿地刚发芽,蜗牛背著那重重的壳呀,一步一步地往上爬. 想必很多小伙伴都听过这首<蜗牛与黄鹂鸟>,那么现在知道了蜗牛所爬树的高度.蜗牛白天爬一段距离,但是晚上将会下落一段距离. 求蜗牛爬到树顶是在第几天. 输入 每次测试只有一组测试数据. 每一行有三个整数,h,n,m(1≤h,n,m≤1000)分别代表树的高度.蜗牛白天爬的距离.蜗牛晚上下落

WORM Worm worm 毛毛虫爬树爬树~

对于动态规划,我也就不多说了.因为还不会, 每个题都不一样,但大致原则是一样的.抓住题意, 本题:n棵树,毛毛虫在m分钟内从p到t的路线种数,毛毛虫只可以向左右相邻位置走. 中心代码: for(i = 1; i <= m; i++) for(j = 1; j <= n; j++) dp[i][j] += dp[i-1][j-1] + dp[i-1][j+1];遍历所有可能时间点的位置的种数,最后得出m分钟t棵树的种数.原题已知0时间p位置是1.好好读题.. 原题: Worm Time Limi

1090. In the Army Now (Ural 1090 归并排序||树状数组)

1090. In the Army Now Time limit: 1.0 second Memory limit: 64 MB The sergeant ordered that all the recruits stand in rows. The recruits have formed K rows with Npeople in each, but failed to stand according to their height. The right way to stand in

XidianOJ 1088 AK后的V8

题目描述 公元20XX年X月X日,V8和他的小伙伴们又一次早早地AK(all kill)了,善良的V8为了不伤害其他蒟蒻们的心,纵使AK了也不提前离场,但是由于电脑被他的两个大神队友拿来玩五子棋(组队赛三人一台电脑),V8只能一个人无聊的在草稿纸上乱画,当V8因为思念过度画挫了某人的头像时,吓得V8马上写了三个数字,3,2,3,这时,机智的V8忽然发现:这三个数字拼起来最大是332!而不是233!!!无聊的V8又写下两个数字,97,98,然后V8发现其最大值是9897而不是9798.现在无聊的V

【BZOJ4372】烁烁的游戏 动态树分治+线段树

[BZOJ4372]烁烁的游戏 Description 背景:烁烁很喜欢爬树,这吓坏了树上的皮皮鼠.题意:给定一颗n个节点的树,边权均为1,初始树上没有皮皮鼠.烁烁他每次会跳到一个节点u,把周围与他距离不超过d的节点各吸引出w只皮皮鼠.皮皮鼠会被烁烁吸引,所以会一直待在节点上不动.烁烁很好奇,在当前时刻,节点u有多少个他的好朋友---皮皮鼠.大意:给一颗n个节点的树,边权均为1,初始点权均为0,m次操作:Q x:询问x的点权.M x d w:将树上与节点x距离不超过d的节点的点权均加上w. In

JavaScript 引擎 V8 执行流程概述

本文首发于 vivo互联网技术 微信公众号? 链接:https://mp.weixin.qq.com/s/t__Jqzg1rbTlsCHXKMwh6A 作者:赖勇高 本文主要讲解的是V8的技术,是V8的入门篇,主要目的是了解V8的内部机制,希望对前端,快应用,浏览器,以及nodejs同学有些帮助.这里不涉及到如何编写优秀的前端,只是对JS内部引擎技术的讲解. 一.V8来源 V8的名字来源于汽车的"V型8缸发动机"(V8发动机).V8发动机主要是美国发展起来,因为马力十足而广为人知.V8

前端基础(一)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "PingFang SC"; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica; color: #000000 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica; color: #000000;

【转】java提高篇(二)-----理解java的三大特性之继承

[转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大

oracle sql语句

##########基本操作##########启动数据库:su - oraclesqlplus / as sysdbaSQL> startup 对scott用户解锁:SQL> conn / as sysdbaSQL> alter user scott identified by tiger account unlock; 连接到指定的数据库用户:SQL> conn scott/tiger 实现操作系统开机数据库自动open:vi /etc/oratab--------------