题干:

Problem Description

度度熊国王率领着喵哈哈族的勇士,准备进攻哗啦啦族。

哗啦啦族是一个强悍的民族,里面有充满智慧的谋士,拥有无穷力量的战士。

所以这一场战争,将会十分艰难。

为了更好的进攻哗啦啦族,度度熊决定首先应该从内部瓦解哗啦啦族。

第一步就是应该使得哗啦啦族内部不能同心齐力,需要内部有间隙。

哗啦啦族一共有n个将领,他们一共有m个强关系,摧毁每一个强关系都需要一定的代价。

现在度度熊命令你需要摧毁一些强关系,使得内部的将领,不能通过这些强关系,连成一个完整的连通块,以保证战争的顺利进行。

请问最少应该付出多少的代价。

Input

本题包含若干组测试数据。

第一行两个整数n,m,表示有n个将领,m个关系。

接下来m行,每行三个整数u,v,w。表示u将领和v将领之间存在一个强关系,摧毁这个强关系需要代价w

数据范围:

2<=n<=3000

1<=m<=100000

1<=u,v<=n

1<=w<=1000

Output

对于每组测试数据,输出最小需要的代价。

Sample Input

 

2 1 1 2 1 3 3 1 2 5 1 2 4 2 3 3

Sample Output

 

1 3

Source

2017"百度之星"程序设计大赛 - 资格赛

题目大意:

求全局最小割

解题报告:

求全局最小割

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define F first
#define S second
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
typedef pair<int,int> PII;
const int MAX = 3e3 + 5;
const int INF = 0x3f3f3f3f;
int G[MAX][MAX];
int dis[MAX],id[MAX];
bool vis[MAX];
int n,m;
int SW(int n) {int res = INF;for(int i = 0; i<n; i++) id[i]=i;while(n>1) {memset(dis,0,sizeof dis);int k = 0;for(int i = 1; i<n; i++) {swap(id[k],id[i-1]);for(int j = k = i; j<n; j++) {dis[id[j]] += G[id[i-1]][id[j]];if(dis[id[j]] > dis[id[k]]) k = j;}}res = min(res,dis[id[k]]);int s = id[n-2],t=id[n-1];for(int i = 0; i<n-2; i++) {int u = id[i];G[u][s]=G[s][u]+=G[u][t];}id[k]=id[n--];}return res;
}
int main()
{while(~scanf("%d%d",&n,&m)) {for(int i = 0; i<=n; i++)for(int j = 0; j<=n; j++)G[i][j]=0;for(int u,v,w,i = 1; i<=m; i++) {scanf("%d%d%d",&u,&v,&w);u--,v--;G[u][v]+=w;G[v][u]+=w;}printf("%d\n",SW(n));} return 0 ;
}

【HDU - 6081】度度熊的王国战略(SW算法,全局最小割)相关推荐

  1. 2017百度之星资格赛:1002. 度度熊的王国战略

    度度熊的王国战略  Accepts: 69  Submissions: 2102  Time Limit: 20000/10000 MS (Java/Others)  Memory Limit: 32 ...

  2. HDU 6082 度度熊与邪恶大魔王 (完全背包)

    度度熊与邪恶大魔王                                                                 Time Limit: 2000/1000 MS ( ...

  3. HDU - 6082 度度熊与邪恶大魔王(背包变式)

    度度熊与邪恶大魔王 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需 ...

  4. HDU 6113 度度熊的01世界【DFS/Flood Fill】

    度度熊的01世界 Accepts: 967 Submissions: 3064  Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...

  5. HDU 6082 度度熊与邪恶大魔王(01背包)

    Description 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式 ...

  6. hdu 6080 度度熊保护村庄

    题意 哗啦啦村袭击了喵哈哈村! 度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村. 但是度度熊发现,这是一场旷日持 ...

  7. 【hdu 6082 度度熊与邪恶大魔王 】 完全背包

    hdu 6082 这道题一拿过来 对一个熊直接跑完全背包 然后跑 100000 次 完美TLE 其实因为对一个熊跑的时候 下次熊还是会跑的 于是需要对所有的熊直接完全背包预处理 设 dp[i][j] ...

  8. HDU - 6082——度度熊与邪恶大魔王 (背包+DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6082 思路:dp[i][j]代表打死血量为i,防御力为j的怪兽要用的最少晶石.用背包的方式dp. #i ...

  9. HDU - 6118 度度熊的交易计划(最大费用可行流)

    题目链接:点击查看 题目大意:给出一张 n 个点 m 条边的有向图,每个点可以生产至多 b[ i ] 个物品,每个物品花费为 a[ i ] ,可以出售至多 d[ i ] 个物品,每个物品售价为 c[ ...

最新文章

  1. Web应用开发技术(1)-html
  2. [转] 移动平台Html5的viewport使用经验
  3. 用C#编写Linux守护进程
  4. 1.Office 365系列(-)
  5. maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
  6. 酷狗音乐、艺龙旅行等42款APP被曝违规收集用户信息
  7. Java基础类冒泡排序_Java基础 -- 冒泡排序算法(带详细注释)
  8. numpy中array的维度之-------一维向量和一维数组的区别。
  9. 数据库学习笔记5-隔离级别 Repeatable Read
  10. springcloud gateway 鉴权_SuperBoot框架是基于SpringCloud、SpringBoot敏捷开发框架
  11. C语言结构体内存对齐
  12. 各种激活函数求导公式
  13. 诛仙mysql架设_目前最完整的诛仙私服架设教程
  14. 张小龙2018微信公开课超时演讲,总结微信8年
  15. 今日头条悟空问答实现高效引流,轻松月入过万
  16. sybase 珍藏系列之一
  17. RPC(远程过程调用)详解
  18. 电池电压(电量)检测器的制作
  19. DXOMark是如何评价音频质量的
  20. 关于对象转json字符串的几个工具比较

热门文章

  1. HDU1856_More is better
  2. [Kali][VMware][2020][窗口大小][分辨率]高分辨率自适应
  3. [剑指offer][JAVA]面试题第[18]题[删除链表的节点]
  4. [剑指offer][JAVA]面试题第[12]题[矩阵的路径][DFS][剪枝]
  5. 2异常处理_Java处理异常2种机制关键字区别解析
  6. webgl 游戏_如何选择 WebGL 框架和引擎?
  7. python扩展库不是用于科学计算的有_有哪些科学计算的开源库
  8. thinkphp mysql函数_thinkphp对数据库操作有哪些内置函数
  9. cc2530i2c可同时接受两个传感器的数据吗_汽车方向及维修_玉树沃尔沃S40方向机,宝马531电子方向机进水可以维修吗...
  10. UE4 HTC VIVE - 番外篇 - 局域网联机三