Description

Ink最近得到了一张藏宝图,这张图上共有n个藏宝室,但因为年代久远藏宝图上的路已经模糊不清,于是Ink找到了智慧的Pseudo,Pseudo告诉Ink,这个宝藏中每两个藏宝室之前都有一条通路,每条通路上都有一定数量的机关。现在Ink已经探明了其中n-1条路上的机关数目,这n-1条路不构成任何环路。众所周知Ink是个乐天派,他坚持认为自己探明的这些路构成的无环联通子图中机关总数是唯一且最少的,现在假设他的想法是对的,他想知道整个图中最少共有多少机关?

Input

第一行是一个数字n,表示藏宝室个数(0<n<=100)
第二行至第n行每行3个数u,v,w,表示探明的一条u到v的路,机关数是w.(1<=u,v<=n, 1<=w<=100).

Output

一个数,表示最少总机关数。

Sample Input

4 2 3 2 1 2 1 3 4 3

Sample Output

17
 
 
思路:给定最小生成树,求原来的图最少权值之和是多少。那么只要算加上一条边,加上之后必定成环,计算环上权值最大的边,那么加上去的这条边的权值就是环上最大权值+1,否则最少生成树会被破坏。
例如样例,
1---2---3---4 是这样的图。
加上1到3这条边,那么1,2,3成环,权值最大是2,那么1--3的权值就是2+1=3;
算好之后删除1--3这条边。
加上1--4,那么1,2,3,4成环,权值最大是3,那么1--4权值等于3+1=4;
删除1--4这条边。
加上2--4,那么2,3,4成环,权值最大是3,那么2--4权值等于3+1=4;
所有边的权值都算完了,ans=1+2+3+3+4+4=17;
 
用DFS可以判断哪些节点在环内。
 
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std; const int INF = 0x7FFFFFFF;
const int maxn = ;
int jz[maxn][maxn];
vector<int> ljb[maxn];
int anss, flag;
int cost[maxn];
int ff[maxn]; void dfs(int start,int end,int now,int tot)
{
int i;
if (now == end)
{
int maxn = -;
flag = ;
for (i = ; i < tot - ; i++)
{
if (jz[cost[i]][cost[i + ]]>maxn) maxn = jz[cost[i]][cost[i + ]];
}
anss = anss + maxn + ;
return;
}
for (i = ; i < ljb[now].size(); i++)
{
if (ff[ljb[now][i]] == )
{
ff[ljb[now][i]] = ;
cost[tot] = ljb[now][i];
dfs(start, end, ljb[now][i], tot + );
if (flag) return;
}
}
} int main()
{
int n, i, j, u, v, c;
while (~scanf("%d", &n))
{
anss = ;
for (i = ; i <= n; i++) for (j = ; j <= n; j++) jz[i][j] = INF;
for (i = ; i <= n; i++) ljb[i].clear();
for (i = ; i <= n - ; i++)
{
scanf("%d%d%d", &u, &v, &c);
jz[u][v] = c;
jz[v][u] = c;
anss = anss + c;
ljb[u].push_back(v);
ljb[v].push_back(u);
} for (i = ; i <= n; i++)
{
for (j = i + ; j <= n; j++)
{
if (jz[i][j] == INF)
{
memset(ff, , sizeof(ff));
ff[i] = ;
cost[] = i; flag = ;
dfs(i, j, i, );
}
}
}
printf("%d\n", anss);
}
return ;
}

ZUFE OJ 2145 05机关图的更多相关文章

  1. ZUFE OJ 2288 God Wang I

    Description God Wang 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GodW变换 对于一个数字n,该变换后的值GodW(n)为,先令X=n 第一步,如果X为个位数,G ...

  2. ZUFE OJ 2301 GW I (3)

    Description GW 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GW变换 对于一个数字n,该变换后的值GW(n)为,先令X=n 第一步,如果X为个位数,GW(n)=X,否则执 ...

  3. ZUFE OJ 2289 God Wang II

    Description 这个世界太无聊了,于是God Wang想出了新的运算符号$,对于两个数x,y来说x$y的值等于x和y各个位置上的数字乘积之和,没有的位按0来算 比如说123$321=1*3+2 ...

  4. zufe oj 引水工程( 巧妙地把在i建水设为e[0][i])

    引水工程 时间限制: 3 Sec  内存限制: 128 MB提交: 11  解决: 6[提交][状态][讨论版] 题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来 ...

  5. 05 Java图形化界面设计——布局管理器之GridLayout(网格布局)

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  6. Android 自定义Gallery浏览图片

    之前写的<Android ImageSwitcher和Gallery的使用>一文中提到我在教室一下午为实现那个效果找各种资料.期间在网上找了一个个人觉得比较不错的效果,现在贴图上来: 其实 ...

  7. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  8. Excel 中使用sql语句查询

    将Excel连接Oracle数据库 Excel选项板中"数据"—"自其他来源"下拉菜单中有有个可以连接其它数据库的选项"来自数据连接向导"和 ...

  9. 骗访问量的机房人物列传by xMinh

    作者:$xMinh$ 人物列传·Refun(Aufun,虚凡,人赢) 机房最人赢的人赢,上过表白墙的男人 在宿舍公然开设情感讲座和人赢培训班,教学成果显著,他的徒弟要么gay了要么凉了 认识的人极其广 ...

随机推荐

  1. 动态SQL语句:定义(一)

    文章系列 动态SQL语句:定义(一) 静态SQL与动态SQL 静态SQL:程序运行前,具有固定的形式和结构的SQL. 动态SQL:程序运行时,能够动态改变形式或结构的SQL. 一些思考和想法 在实际的 ...

  2. [.net] c# webservice

    采用的工具VS2010生成工程 1. 生成webservice工程:建 ASP.NET 空WEB 应用程序. 2. 在建好的ASP.NET 空WEB应用程序中新建项“web 服务”. 完成上述内容工程 ...

  3. 微型orm框架--dapper的简单使用

    1.安装 首先使用nuget安装dapper,因为这里的示例是使用mysql,所以还要安装mysql的驱动.如下图: 2 数据库表 脚本 ; -- -------------------------- ...

  4. Debian 8 安装BtSync

    声明,此方法是Btsync的官网resilio提供的方法 传送门:https://help.getsync.com/hc/en-us/articles/206178924 第一,在如下文件中添加: 1 ...

  5. CodeVS 3415-最小和

    原题 题目描述 Description      小浣熊松松来到文具店,选择了K支自己喜欢的水彩笔,并抄下了它们的价格.可是到结算时,他发现自己抄价格时抄得太密集,以至于所有价格连成了一个数字串(你可 ...

  6. Centos 7 意外断电如何处理

    拔U盘的时候,不小心碰到了主机上的开机键-- 还好默认的响应动作是睡眠-- 还不知道 CentOS 怎么样应对意外断电呢?!

  7. CSS菜单横竖布局要点

    菜单纵向:把ul 元素的边框属性去除,li元素用border-top  上边框显示分离,把a 元素用display:block  text-decoration:none  去除默认下划线 菜单横向: ...

  8. Html5NodeJs安装less之千辛万苦CMD系列

    如题,这个东西很是费了一般脑筋 上一次讲了如何在浏览器端解析less文件,这次是在cmd中使用npm中的less模块来解析 详解如下 首下我们去下载一个NodeJs,   我下载的是4.44版本,一路 ...

  9. python json.load 的奇葩错误

    json.load() 可以参数是文件对象, 但是这种方式会遇到莫名其妙的错误: No JSON object could be decoded 有的朋友说的是utf-8编码有BOM和无BOM造成的. ...

  10. Epidemic in Monstropolis

    Epidemic in Monstropolis 题目链接:http://codeforces.com/contest/733/problem/C 贪心 新序列的m个数肯定是由原序列的连续的m个子序列 ...