当前位置: 首页 > news >正文

上海招标网站科技股龙头

上海招标网站,科技股龙头,wordpress阿里云esc配置,seo搜索引擎优化是做什么的hdu 2196 题意 给出一棵树#xff0c;求出树上每一个点在树上走一条简单路径所能走的最长距离。 解法 说起来#xff0c;这是我今天1A的第一题 我们设\(up[i]\) 表示从这个点向上走到某个点又向下走的最长距离 设 \(down[i][0]\) 表示从这个点出发向他的子树所能走到的最大距…hdu 2196 题意 给出一棵树求出树上每一个点在树上走一条简单路径所能走的最长距离。 解法 说起来这是我今天1A的第一题 我们设\(up[i]\) 表示从这个点向上走到某个点又向下走的最长距离 设 \(down[i][0]\) 表示从这个点出发向他的子树所能走到的最大距离\(down[i][1]\) 表示从这个点出发向他的子树所能走到的次大距离 然后我们就可以愉快的开始转移了。 我们先dfs一边求出 \(down[i][0/1]\) 然后我们再dfs一边求 \(up[i]\) 。 首先 \(up[i] up[fa] dis[i][fa]\) 如果 i 在 fa 向下走的最深路径上那么 \(up[i] max(up[i],dis[i][fa]down[fa][1])\) 否则 \(up[i] max(up[i],dis[i][fa]down[fa][0])\) 最后每个点的答案为 \(max(up[i],down[i][0])\) 。 代码 #include iostream #include cstdio #include cstdlib #include cstring #include cmath #include algorithm #include cctype #include vector #define INF 2139062143 #define MAX 0x7ffffffffffffff #define del(a,b) memset(a,b,sizeof(a)) using namespace std; typedef long long ll; templatetypename T inline void read(Tx) {x0;T k1;char cgetchar();while(!isdigit(c)){if(c-)k-1;cgetchar();}while(isdigit(c)){xx*10c-0;cgetchar();}x*k; } const int maxn100005; int up[maxn]; int down[maxn][2]; int n; struct Edge{int u,v,w;Edge(int u0,int v0,int w0):u(u),v(v),w(w){} }; vectorEdge edge; vectorint G[maxn]; void add_edge(int u,int v,int w) {edge.push_back(Edge(u,v,w));edge.push_back(Edge(v,u,w));int medge.size();G[u].push_back(m-2);G[v].push_back(m-1); }void dfs1(int u,int fa) {for(int i0;iG[u].size();i) {Edge eedge[G[u][i]];int ve.v;if(vfa) continue;dfs1(v,u);if(down[v][0]e.wdown[u][0]){down[u][1]down[u][0];down[u][0]down[v][0]e.w;}else if(down[v][0]e.wdown[u][1]) down[u][1]down[v][0]e.w;} } void dfs2(int u,int fa) {for(int i0;iG[u].size();i) {Edge eedge[G[u][i]];int ve.v;if(vfa) continue;if(down[u][0]!down[v][0]e.w)up[v]e.wdown[u][0];else up[v]e.wdown[u][1];up[v]max(up[u]e.w,up[v]);dfs2(v,u);} } void _init() {edge.clear();for(int i1;in;i) G[i].clear();del(down,0);del(up,0); } int main() {while(~scanf(%d,n)){_init();for(int u2,v,w;un;u) {read(v);read(w);add_edge(u,v,w);}dfs1(1,1);dfs2(1,1);for(int i1;in;i) printf(%d\n,max(up[i],down[i][0]));}return 0; } 转载于:https://www.cnblogs.com/mrasd/p/9550879.html
http://www.pierceye.com/news/123465/

相关文章:

  • 企业品牌网站建设方案无锡网站设计多少钱
  • 轻量级网站开发在线旅游网站平台有哪些
  • 怎么用vs做网站推广优化网站排名
  • 免费推广网站软件常宁网站建设常宁网站建设
  • 冀州市网站建设html编辑器安卓版手机版软件
  • 广州专业网站改版方案网站建设要做ui和什么
  • 做网站显示上次登录时间代码h5素材库
  • 比较有名的网站建设公司谷歌网站优化
  • 企业网站改版计划书中国制造网是做什么的
  • 非主营电子商务企业网站有哪些企业网项目建设实践
  • 颍东网站建设手机vi设计公司
  • 林哥seo网络营销seo培训
  • 如何面试网站开发网站制作交易流程
  • 绍兴网站建设冯炳良互联网营销
  • 制作企业网站怎么报价可以做我女朋友吗网站
  • 广西玉林网站建设正规公司建手机网站
  • 乐清网站制作公司招聘做私人网站 违法
  • 珠海电脑自己建网站电子商务排名
  • 怎样做网站的背景图片安卓原生开发
  • 现代电子商务网站建设技术wordpress采用的mvc
  • 台州网站建设团队如何申请建设网站域名
  • 资料查询网站建设桂林微代码网络科技有限公司
  • 做暖视频网站免费番禺网站制作技术
  • 如何做网站百度排名优化深圳市住房和建设网站
  • 汉沽做网站简单网站建设
  • 建信建设投资有限公司网站网站建设app小程序
  • wordpress文章所有图片seo中文含义
  • 免费网站建设开发个人 网站备案 幕布
  • 公司网站设计 优帮云网站开发合同注意事件有哪些
  • 网站建设费用用温州建设局老网站