luogu1099[树网的核]
来源:互联网 发布:linux双系统怎么切换 编辑:程序博客网 时间:2024/05/17 01:22
最短路+枚举
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 305 ;const int Inf = 1e9; int w [N] [N] ;int main () { int n , s ; scanf ("%d%d", &n , &s ) ; for ( int i = 1 ; i <= n ; ++ i ) for ( int j = 1 ; j <= n ;++ j ) if ( i != j ) w [i] [j] = Inf ; for ( int i = 1 ; i < n ; ++ i ) { int u , v , w1 ; scanf ( "%d%d%d" , &u , &v , &w1 ) ; w [u] [v] = w [v] [u] = w1 ; } for ( int k = 1 ; k <= n ; ++ k ) for ( int i = 1 ; i <= n ; ++ i ) for ( int j = 1 ; j <= n ; ++ j ) if ( w [i] [k] != Inf && w [k] [j] != Inf ) w [i] [j] = min ( w [i] [j] , w [i] [k] + w [k] [j] ); int mi , mj , mx = 0 , ans = Inf ; for ( int i = 1 ; i <= n ; ++ i ) for ( int j = 1 ; j <= n ; ++ j ) if ( w [i] [j] < Inf && w [i] [j] > mx ) { mx = w [i] [j] ; mi = i , mj = j ; } for ( int i = 1 ; i <= n ; ++ i ) if ( w [mi] [i] + w [i] [mj] == w [mi] [mj] ) for ( int j = 1 ; j <= n ; ++ j ) if ( w [mi] [j] + w [j] [mj] == w [mi] [mj] ){ if ( w [i] [j] > s ) continue ; int ecc = 0 , ek; for ( int k = 1 ; k <= n ; ++ k ) ecc = max ( ecc , ( w [i] [k] + w [j] [k] - w [i] [j] ) >> 1 ); ans = min ( ans , ecc ) ; } printf ( "%d" , ans ) ; return 0;}
阅读全文
0 0
- luogu1099[树网的核]
- 树网的核
- NOIP2007 树网的核
- 【noip2007】树网的核
- 【noip2007】树网的核
- NOIP2007 树网的核
- noip2007 树网的核
- P1099 树网的核
- 1099树网的核
- 【76】树网的核
- [noip2007]树网的核
- 【noip2007】树网的核
- NOIP2007 树网的核 [dfs] [数据结构] [树的直径]
- 树网的核(树的直径)
- 树网的核(floyd,树直径)
- VIJOS 1362 树网的核
- wikioi 1167 树网的核 图论
- 树网的核 解题报告
- gojs入门
- nyoj82 迷宫寻宝(一)bfs(java)
- Apache POI 实现对 Excel 文件读写
- qnx学习笔记- QNX USB device与host模式下驱动脚本详解
- 机器学习_正规方程(最小二乘法)的推导
- luogu1099[树网的核]
- 数字河简单版
- Python基础的思维导图
- 被苹果抛弃后,芯片公司Imagination现在要整体出售了
- 腾讯优图杰出科学家贾佳亚:在企业做研究,是我的新课题
- 集齐叶荫宇、蓝光辉、陈溪、李建、王子卓的大牛圆桌会,关于算法优化他们都聊了什么
- OneWeb 获美国官方批准,曾得软银13.5亿美元夹持
- Lua和C++交互详细总结
- 在虚拟机中下载kali