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

免费电子商务网站源码百度网站怎样做

免费电子商务网站源码,百度网站怎样做,湖北专业网站建设公司,湖北网站建设营销qqF. Roads in the Kingdom(树形dp) 题意#xff1a; 给一张n个点n条边的无向带权图 定义不便利度为所有点对最短距离中的最大值 求出删一条边之后#xff0c;保证图还连通时不便利度的最小值 $n 2e5 $\(w_i 1e9\) 思路:树形dp 这个图是一个环上挂着很多颗树#xf…F. Roads in the Kingdom(树形dp) 题意 给一张n个点n条边的无向带权图 定义不便利度为所有点对最短距离中的最大值 求出删一条边之后保证图还连通时不便利度的最小值 $n 2e5 $\(w_i 1e9\) 思路:树形dp 这个图是一个环上挂着很多颗树首先把这个环处理出来 删边只能在环上进行所以可以先求出以环上每个点为根的树的直径和最大深度dep 答案来源分为二种 树内部两点最远距离 - 直径 (树形dp 或者 两次bfs)两棵树深度最大的两点配对 假设环长度为\(k\),把环变成一个序列\(a_1,a_2,...,a_k\) 令\(a_0 a_k\) 选择\(a_0\)做起点用\(s_i\)表示第\(i\)个点到起点的距离 考虑每次断开的边为\(e(a_{i-1},a_i)\),那么答案分为三种情况 序列\(1\)到\(i-1\)中选两个点配对取最大值序列\(i\)到\(k\)中选两个点配对取最大值前后各取一个点配对取最大值 计算第一种情况 假设取的两个点为\(1xyi-1\), 则距离\(d dep[x] dep[y] dis[x][y] dep[x] - s[x] dep[y] s[y]\) 这样我们只需要顺序枚举维护\(dep[x] - s[x]\)的最大值即可 同理第二种情况只需要逆序枚举维护\(dep[x] s[x]\)的最大值即可 考虑第三种情况 假设取的点为\(1 x i - 1 , i y k\) 则距离\(d dep[x] dep[y] dis[x][y] dep[x] dep[y] s[k] - (s[y] - s[x])\) $d (dep[x] s[k] s[x]) (dep[y] - s[y]) $ 同理顺序可算出第一部分最大值逆序可以算出第二部分最大值 最后在删边后三种情况的最大值里取最小值再和树内部直径比较即可 #includebits/stdc.h #define LL long long #define P pairint,int #define ls(i) seg[i].lc #define rs(i) seg[i].rc using namespace std; const int N 2e5 10; const LL inf 1e18; int read(){int x 0;char c getchar();while(c 0 || c 9) c getchar();while(c 0 c 9) x x * 10 c - 48, c getchar();return x; } vectorPG[N]; int n,k; int a[N],pa[N],e[N]; LL s[N],dep[N],ans; void dfs(int u,int fa){pa[u] fa;for(auto v:G[u]){if(v.first fa) continue;if(pa[v.first] 0) {e[v.first] v.second;dfs(v.first,u);}else if(!k){int x u;a[0] v.first,s[1] v.second;while(x ! v.first) {a[k] x,s[k1] s[k] e[x],x pa[x];}a[k] v.first;}} } void dp(int u){pa[u] 0;for(auto v:G[u]){if(pa[v.first] ! 0){dp(v.first);ans max(ans,dep[v.first] v.second dep[u]);dep[u] max(dep[u], dep[v.first] v.second);}} } LL sL[N],sR[N],L[N],R[N];///把环变成序列断开的边左边配对右边配对左右配对的最大值 int main(){int u,v,w;n read();for(int i 1;i n;i){u read(),v read(),w read();G[u].push_back(P(v,w));G[v].push_back(P(u,w));}k 0;ans 0;dfs(1,-1);for(int i 1;i k;i) pa[a[i]] 0;for(int i 1;i k;i) dp(a[i]);LL mx -inf;L[0] sL[0] -inf;for(int i 1;i k;i){sL[i] max(sL[i-1],dep[a[i]] s[i] mx);L[i] max(L[i-1],dep[a[i]] s[k] s[i]);mx max(mx, dep[a[i]] - s[i]);}sR[k1] R[k1] mx -inf;for(int i k;i 1;i--){sR[i] max(sR[i1],dep[a[i]] - s[i] mx);R[i] max(R[i1],dep[a[i]] - s[i]);mx max(mx, dep[a[i]] s[i]);}LL tmp inf;for(int i 1;i k;i) tmp min(tmp,max(L[i-1]R[i],max(sL[i-1],sR[i])));coutmax(ans,tmp)endl;return 0; } 转载于:https://www.cnblogs.com/jiachinzhao/p/7305578.html
http://www.sadfv.cn/news/279306/

相关文章:

  • 厦门建设工程招标中心网站如何将优酷视频上传到自己网站
  • 扁平化网站设计欣赏如何创建外卖网站
  • 武安做网站wordpress分享计数
  • 成都网站设计合理柚v米科技h5编辑器免费版
  • 安国市住房和城乡建设局网站shopnc本地生活o2o网站源码
  • 遂宁商城网站建设蛋糕网站内容规划
  • 北京建站公司哪家好都选万维科技廉政网站建设
  • 福安 网站建设电子商务网站后台模板
  • 买了一个域名怎么做网站邵阳建设局网站
  • 重庆网站建设公司建站模板云南专业建网站
  • 高清做网站插图杭州设计公司乌海
  • 模板网站怎么优化四川网站建设网站制作
  • 手机网站特点dede宠物网站模板
  • 建站合同模板joomla做的网站
  • 羊坊店网站建设wordpress页面去掉标题
  • 临湘网站重庆网红景点排名
  • 网站建设及政务公开工作总结排名前十的大学
  • 绍兴网站设计公司某网站搜索引擎优化
  • 河南商务学校网站建设做网站运营公司收费
  • 外贸建站行业好做吗网页平台做个业务推广
  • 医药招商网站建设响应式培训网站模板下载
  • 江门网站建设费用定制网站开发的意思
  • 网站首页关键词设置微信开放平台官方网站
  • 网站服务器租用价格 贴吧信息化网站建设引言
  • sql2008做网站做胃肠医院网站
  • 自己怎么做外贸网站网站建设首选公司哪家好
  • 建设网站的价格是多少网站目录优化
  • 学院网站整改及建设情况报告企业网站官网模板
  • 烟台专业网站制作公司产品设计工具
  • 乡镇网站模板wordpress 主题 排行