博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[CF773D]Perishable Roads
阅读量:6217 次
发布时间:2019-06-21

本文共 1105 字,大约阅读时间需要 3 分钟。

[CF773D]Perishable Roads

题目大意:

一个\(n(n\le2000)\)个点的完全图\(G\),定义\(d(x)\)为生成树上点\(x\)到根路径上的最小边权。问图\(G\)的生成树\(\sum d(x)\)最小是多少?

思路:

由得到图的一些性质,然后就不难了。

源代码:

#include
#include
#include
#include
using int64=long long;inline int getint() { register char ch; while(!isdigit(ch=getchar())); register int x=ch^'0'; while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0'); return x;}constexpr int N=2001;bool vis[N];int w[N][N],d[N];int main() { const int n=getint(); int min=INT_MAX; for(register int i=1;i<=n;i++) { for(register int j=i+1;j<=n;j++) { min=std::min(min,w[i][j]=w[j][i]=getint()); } } d[0]=INT_MAX; for(register int i=1;i<=n;i++) { d[i]=INT_MAX; for(register int j=1;j<=n;j++) { if(i==j) continue; w[i][j]-=min; d[i]=std::min(d[i],w[i][j]*2); } } for(register int i=1;i<=n;i++) { int k=0; for(register int j=1;j<=n;j++) { if(!vis[j]&&d[j]

转载于:https://www.cnblogs.com/skylee03/p/9100081.html

你可能感兴趣的文章
4.4.5 Main方法
查看>>
4.5 方法参数
查看>>
spark整合hive+hbase做数据实时插入及实时查询分析
查看>>
java采用jdbc连接操作数据库
查看>>
ASP.NET MVC 应用提速的十种方法
查看>>
1.3节 逻辑门与二进制数 part2
查看>>
不重装系统修复系统的一些实例
查看>>
异步GEI (2) 线程
查看>>
通过管理控制台和命令行两种方式新建邮箱数据库(exchange2010)
查看>>
网卡设置(设置IP地址、网关、DNS)
查看>>
linux之sed用法
查看>>
HBTC2012 参会感受
查看>>
如何愉快的使用MQ-详述各种功能场景
查看>>
SQL查询语句中的 limit 与 offset 的区别
查看>>
hadoop SequenceFile介绍 大数据 存储
查看>>
手动订制一个基于BusyBox的微型Linux系统
查看>>
TCP/IP协议和Socket编程
查看>>
lnmp(new)
查看>>
使用fastjson时出现$ref: "$.list[2]"的解决办法(重复引用)
查看>>
ZooKeeper观察节点
查看>>