I. 蚂蚁上树
蚂蚁上树(Sauteed Vermicelli with minced Pork),又名肉末粉条,是四川省及重庆市的特色传统名菜之一。因肉末贴在粉丝上,形似蚂蚁爬在树枝上而得名。这道菜具体的历史,已不可考。但在四川省、重庆市一带,该菜很常见。
蚂蚁上树通常由粉丝(或者粉条)、肉末为主料,辅以胡萝卜、姜、葱、豆瓣酱等辅料制作而成。成菜后,口味清淡,爽滑美味,色泽红亮,食之别有风味。

蚂蚁想知道这棵树上距离最远的两个点之间的距离
给你一个具有 n 个节点的树
求这棵树上距离最远的两个点之间的距离
输入格式
第一行一个整数 n ,(1≤n≤104)
接下来 n−1 行,每行三个整数 x,y,z 表示 x 与 y 之间有一条长度为 z 的边 (1≤x,y≤n,1≤z≤104)
输出格式
一个整数表示树上距离最远的两个点之间的距离
样例
5
1 2 9
1 3 3
1 5 2
2 4 10
22 简单的树的直径。。。就是有点忘了。。。。。
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
const int N=1E4+;
struct stu{
int a,b;
};
vector <stu>ve[N];
int mark[N];
int point ;
int step[N];
int ans=;
void bfs(int x){
queue<int >que;
que.push(x);
mark[x]=;
step[x]=;
while(que.size()){
int y=que.front();
que.pop();
if(ans<step[y]){
ans=step[y];
point=y;
}
for(int i=;i<ve[y].size();i++){
if(mark[ve[y][i].a]!=){
mark[ve[y][i].a]=;
step[ve[y][i].a]=step[y]+ve[y][i].b;
que.push(ve[y][i].a);
}
}
}
}
int main(){ int n;
cin>>n;
int x,y,z;
for(int i=;i<n-;i++){
cin>>x>>y>>z;
ve[x].push_back({y,z});
ve[y].push_back({x,z});
}
memset(mark,,sizeof(mark));
ans=;
bfs();
memset(mark,,sizeof(mark));
ans=;
bfs(point);
cout<<ans<<endl; return ;
}
I. 蚂蚁上树的更多相关文章
- Swift基础语法 、 元组(Tuple)
字符串的使用 1.1 问题 Swift的String和Character类型提供了一个快速的,兼容Unicode的方式来处理代码中的文本信息.创建和操作字符串的语法与C语言中字符串类似.本案例将学习如 ...
- IT男的”幸福”生活"续3
我和MM一进饭店,服务员走过,面带笑容,说:“欢迎,欢迎,两位里面坐.” ...... 谢谢大家的捧场,IT的”幸福”生活.是我的回忆录来着.真实可靠,在写法上有点小说化.可能是我一直看小说的原因吧, ...
- 【Mysql】初学命令行指南
MYSQL初学者使用指南与介绍 一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbi ...
- 【练习】Html
要求: 用html相关知识实现以下网页 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 三:C#对象转换Json时的一些高级(特殊)设置;
导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型: 二:C#对象.集合.DataTable与Json内容互转示例: ...
- vuex——做简单的购物车功能
购物车组件 <template> <div> <h1>vuex-shopCart</h1> <div class="shop-listb ...
- Ants on tree
Description 从前有一个策略游戏, 叫做 蚂蚁上树 游戏中有一棵 nn 个节点, 以 11 为根的有根树 初始始每个节点都为空, 游戏系统会进行两种操作 : 1 x , 表示往 xx 节点放 ...
- ListView获取网络数据并展示优化练习
权限: <uses-permission android:name="android.permission.INTERNET"></uses-permission ...
- cookie和session是否可以保存对象
session看了一下,是可以保存对象的.语法很普通,但是cookie的话本身是只能保存string类型的信息的,这就需要先序列化,然后接收的页面反序列化后形成对象调用,为了防止乱码,需要在数据传输的 ...
随机推荐
- 洛谷 P1047 校门外的树 题解
Case 1. 本题其实不难,直接模拟就可以了.时间复杂度: \(O(L \times M)\) Case 2. 考虑一个简单的增强:把原来的: \[L \leq 10^4,M \leq 10^2 \ ...
- 我的Keras使用总结(3)——利用bottleneck features进行微调预训练模型VGG16
Keras的预训练模型地址:https://github.com/fchollet/deep-learning-models/releases 一个稍微讲究一点的办法是,利用在大规模数据集上预训练好的 ...
- Consul+upsync+Nginx 动态负载均衡
1,动态负载均衡 传统的负载均衡,如果修改了nginx.conf 的配置,必须需要重启nginx 服务,效率不高.动态负载均衡,就是可配置化,动态化的去配置负载均衡. 2,实现方案 1. Consul ...
- n次方
1.问题描述 计算 an 2.算法分析 先将 n 变一变,寻找新的计算路径.预处理就是变治法的根本. 如果单纯循环执行 n 次相乘,那么时间复杂度为 O(n).可以利用二进制幂大大改进效率. 主要思路 ...
- Day13 流程控制
Linux中的流程控制语句 一.if语句 1.单分支if条件语句 格式:if [ 条件判断式 ] then 程序 fi 注意:1.在Linux中是以if开头,fi结尾.其他地方一般是{开头,} ...
- MyBatis整合Spring原理分析
目录 MyBatis整合Spring原理分析 MapperScan的秘密 简单总结 假如不结合Spring框架,我们使用MyBatis时的一个典型使用方式如下: public class UserDa ...
- 并发——抽象队列同步器AQS的实现原理
一.前言 这段时间在研究Java并发相关的内容,一段时间下来算是小有收获了.ReentrantLock是Java并发中的重要部分,所以也是我的首要研究对象,在学习它的过程中,我发现它是基于抽象队列 ...
- SWUSTOJ 960A题总结,又完成一个讨厌的题,内含链表操作启发
今天debug了一个nice代码,先码在这里,SWUST OJ960 双向链表的操作问题 1000(ms) 10000(kb) 2994 / 8244 建立一个长度为n的带头结点的双向链表,使得该链表 ...
- STM32F103ZET6的基本定时器
1.定时器的分类 STM32F103ZET6总共有8个定时器,它们是:TIM1~TIM8.STM32的定时器分为基本定时器.通用定时器和高等定时器. TIM6.TIM7是基本定时器.基本定时器是只能向 ...
- 第一次将本地项目push到github
问题:github有一个空项目,将本地项目上传到github空项目时,报错如下 $ git push --set-upstream git@github.com:dslu7733/promise.gi ...