uva11183最小树形图
本来看数据用临界矩阵可能会超时,还是写了临界矩阵,结果1A了
模板的不能再模板 了
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; int w[N][N];
int n,m;
bool vis[N],in[N];
int pre[N];
void dfs(int u)
{
vis[u]=;
for(int i=;i<n;i++)
if(!vis[i]&&w[u][i]<inf)
dfs(i);
}
int dirmst(int u)
{
int ans=;
dfs(u);
for(int i=;i<n;i++)
if(!vis[i])
return -;
memset(vis,,sizeof vis);
while(){
for(int i=;i<n;i++)
{
if(i!=u&&!in[i])
{
pre[i]=i;
w[i][i]=inf;
for(int j=;j<n;j++)
if(!in[j]&&w[j][i]<w[pre[i]][i])
pre[i]=j;
}
}
int i;
for(i=;i<n;i++)
{
if(!in[i]&&i!=u)
{
int j=i,cnt=;
while(pre[j]!=i&&cnt<=n&&j!=u)j=pre[j],cnt++;
if(cnt>n||j==u)continue;
break;
}
}
if(i>n-)
{
for(int i=;i<n;i++)
if(!in[i]&&i!=u)
ans+=w[pre[i]][i];
return ans;
}
int j=i;
memset(vis,,sizeof vis);
do{
ans+=w[pre[j]][j],j=pre[j],vis[j]=in[j]=;
}while(j!=i);
in[i]=;
for(int k=;k<n;k++)
if(vis[k])
for(int j=;j<n;j++)
if(!vis[j])
{
if(w[i][j]>w[k][j])w[i][j]=w[k][j];
if(w[j][k]<inf&&w[j][k]-w[pre[k]][k]<w[j][i])
w[j][i]=w[j][k]-w[pre[k]][k];
}
}
return ans;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
int t,cnt=;
cin>>t;
while(t--){
cin>>n>>m;
for(int i=;i<n;i++)
{
vis[i]=in[i]=;
for(int j=;j<n;j++)
w[i][j]=inf;
}
while(m--){
int a,b,c;
cin>>a>>b>>c;
if(a==b)continue;
if(w[a][b]>c)w[a][b]=c;
}
/*for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<w[i][j]<<" ";
cout<<endl;
}*/
int ans=dirmst();
if(ans<)cout<<"Case #"<<++cnt<<": Possums!"<<endl;
else cout<<"Case #"<<++cnt<<": "<<ans<<endl;
}
return ;
}
uva11183最小树形图的更多相关文章
- uva11183 最小树形图模板题
很简单的模板题,不多说了 #include<iostream> #include<cstring> #include<cstdio> #define INF 0x3 ...
- UVA11183 Teen Girl Squad —— 最小树形图
题目链接:https://vjudge.net/problem/UVA-11183 You are part of a group of n teenage girls armed with cell ...
- UVa11183 Teen Girl Squad, 最小树形图,朱刘算法
Teen Girl Squad Input: Standard Input Output: Standard Output You are part of a group of n teenage ...
- UVA-11183 Teen Girl Squad (最小树形图、朱刘算法模板)
题目大意:给一张无向图,求出最小树形图. 题目分析:套朱-刘算法模板就行了... 代码如下: # include<iostream> # include<cstdio> # i ...
- 最小树形图模板 UVA11183
题意:给定n个节点m条边的有向带权图,求以0为根节点的最小树形图权值大小 用这个代码的时候要注意,这里的数据是从0开始的,边也是从0开始算, 所以在打主代码的时候,如果是从1开始,那么算法里面的从0开 ...
- bzoj4349: 最小树形图
最小树形图模板题…… 这种\(O(nm)\)的东西真的能考到么…… #include <bits/stdc++.h> #define N 60 #define INF 1000000000 ...
- hdu 4966 GGS-DDU (最小树形图)
比较好的讲解:http://blog.csdn.net/wsniyufang/article/details/6747392 view code//首先为除根之外的每个点选定一条入边,这条入边一定要是 ...
- HDU 4966 GGS-DDU(最小树形图)
n个技能,每个技能有0-a[i]的等级,m个课程,每个课程需要前置技能c[i]至少达到lv1[i]等级,效果是技能d[i]达到lv2[i]等级,花费w[i]. 输出最小花费使得全技能满级(初始全技能0 ...
- hdu3072 强连通+最小树形图
题意:有一个人他要把一个消息通知到所有人,已知一些通知关系:A 能通知 B,需要花费 v,而又知道,如果某一个小团体,其中的成员相互都能直接或间接通知到,那么他们之间的消息传递是不需要花费的,现在问这 ...
随机推荐
- C语言可以分配的最大内存
前言 最近用C刷PAT算法题目, 发现C语言有太多需要关注大小范围的东西必须 知道, 虽说挺麻烦, 但也挺有意思. int最大值是多少 首先就是int类型的取值范围, 这个太常用. C语言标准规定最低 ...
- Wilcoxon符号秩+秩和检验学习[转载]
参数检验就是已知数据的精确分布模型,根据数据来求出模型中的未知参数:而非参数检验就是无需对样本总体分布(比如满足正态分布)做出假设. 1.符号检验 转自:https://baike.baidu.com ...
- Found multiple occurrences of org.json.JSONObject on the class path:
Question: Found multiple occurrences of org.json.JSONObject on the class path: jar:file:/C:/Users/nm ...
- 更新表中数据可以使用join
1.在修改数据库的时候,每写完一条SQL语句都要加上一个分号,这样每句之间是有依赖关系的,上面执行不成功不会执行下面的语句. 2.在更新数据库中数据时可以使用join. 例如: update res ...
- 记一次服务器迁移 TFS客户端ip更换
服务器迁移,TFS服务端IP由原10.58.8.231更换至10.58.1.230 TFS客户端更换ip操作比较复杂,请谨慎操作,避免脱库的风险!!! 打开注册表,运行->regedit 找到H ...
- JForum的运行环境
JForum的运行环境: 开始本文之前,我们确认一下JForum的运行环境. - Java动态运行环境(JRE) - 支持J2EE Servlet标准的任何一款Web服务器:Tomcat,JBoss, ...
- yarn 与 resource manager ha
YARN最初的思想是把hadoop1中的job tracker的功能拆分出来,把它的资源管理与任务调度功能分成两个单独的进程.yarn体系结构中有两个进程,resource manager和nodem ...
- 【HTML5校企公益课】第一天
1.搭建基本的开发环境.学校电脑用的是浏览器是Chrome,编辑器是HBuilder. 2.初步介绍HTML5的Web项目基本结构. css:样式表 img:存放图片 js:存放脚本文件 .html: ...
- 20145335郝昊《java程序设计》第7周学习总结
20145335郝昊 <Java程序设计>第7周学习总结 教材学习内容总结 认识时间与日期 格林威治标准时间:简称GMT时间,参考格林威治皇家天文台的标准太阳时间. 世界时:简称UT,借由 ...
- Docker 的一些使用心得
Docker 的使用心得 预备知识·必备· bash(bsd) Net ,ip know hot to search in Google and Baidu 安装 一般找一个不错的网络环境...不然玩 ...