题目链接:点击查看

题目大意:给出一个有 nnn 个点的无向图,要求将其分成两个集合,使得总权值最大,每个集合需要非空

题目分析:SW模板题,套上即可

代码:

// Problem: Dahno Dahno
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/17574/D
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)// #pragma GCC optimize(2)
// #pragma GCC optimize("Ofast","inline","-ffast-math")
// #pragma GCC target("avx,sse2,sse3,sse4,mmx")
#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<cassert>
#include<bitset>
#include<list>
#include<unordered_map>
#define lowbit(x) x&-x
using namespace std;
typedef long long LL;
typedef unsigned long long ull;
template<typename T>
inline void read(T &x)
{T f=1;x=0;char ch=getchar();while(0==isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(0!=isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=getchar();x*=f;
}
template<typename T>
inline void write(T x)
{if(x<0){x=~(x-1);putchar('-');}if(x>9)write(x/10);putchar(x%10+'0');
}
const int inf=0x3f3f3f3f;
const int N=510;
LL maze[N][N];
LL v[N],wg[N],vis[N];
LL SW(int n) {LL res = -1;for(int i = 0; i < n; ++i) v[i] = i; //点标号的马甲,一开始都是自己。while(n > 1){memset(vis,0,sizeof(vis)); //标记数组memset(wg,0,sizeof(wg)); //权和数组int pre = 0; //起点为0号点vis[pre] = 1; //标记起点,虽无实际用处,仅为提醒自己for(int i = 1; i < n; ++i){int p = -1;for(int j = 1; j < n; ++j) if(!vis[v[j]]){ //寻找下个拓展点wg[v[j]] += maze[v[pre]][v[j]];  //下个点的权和加上边权if(p == -1 || wg[v[j]] > wg[v[p]]) p = j; //寻找wg值最大的点}vis[v[p]] = 1; //标记下个点已经遍历if(i == n - 1){ //最后个点,需要合并if(res == -1) res = wg[v[p]];else res = min(res,wg[v[p]]); //更新res,取最小割for(int j = 0; j < n; ++j){maze[v[pre]][v[j]] += maze[v[p]][v[j]];maze[v[j]][v[pre]] += maze[v[j]][v[p]];}v[p] = v[--n];}pre = p;}}return res;
}
int main()
{#ifndef ONLINE_JUDGE
//  freopen("data.in.txt","r",stdin);
//  freopen("data.out.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);int n;read(n);LL sum=0;for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {read(maze[i][j]);sum+=maze[i][j];}}printf("%lld\n",sum-2*SW(n));return 0;
}

上海理工大学第二届“联想杯”全国程序设计邀请赛 - Dahno Dahno(SW)相关推荐

  1. 上海理工大学第二届“联想杯”全国程序设计邀请赛

    文章目录 上海理工大学第二届"联想杯"全国程序设计邀请赛 A.A-SOUL! B.Bheith i ngra le C.Counting Cats! D.Dahno Dahno E ...

  2. 上海理工大学第二届“联想杯”全国程序设计邀请赛 - Little Witch Academia(矩阵快速幂)

    题目链接:点击查看 题目大意:给出两种型号的瓷砖,尺寸分别是 a∗1a*1a∗1 和 b∗1b*1b∗1,现在需要填满 w∗hw*hw∗h 的矩阵,需要满足以下两个情况: 瓷砖不能旋转 相邻的两行中, ...

  3. 上海理工大学第二届“联想杯”全国程序设计邀请赛 - Experiment Class(几何+三分套三分)

    题目链接:点击查看 题目大意:在二维平面的第一象限中给出两条射线代表河流,再给出起点和终点,问从起点出发,至少经过两条河各一次后到达终点的最短路 题目分析:如果只有一条河的话就是初中数学的经典问题了, ...

  4. 上海理工大学第二届“联想杯”全国程序设计邀请赛 Identical Day 思维 + 暴力

    传送门 文章目录 题意: 思路: 题意: 给你一个010101序列,假设有一段长为lll连续的全111子串,定义这段字串不高兴值为l∗(l+1)2\frac{l*(l+1)}{2}2l∗(l+1)​, ...

  5. 2016第二届美亚杯全国电子数据取证大赛团队赛write up

    2016第二届美亚杯全国电子数据取证大赛 团队赛wp 本人TEL15543132658 同wechat,欢迎多多交流,wp有不足欢迎大家补充多多探讨! A部分write up 关于Hugo计算机的附加 ...

  6. 2016年 第二届美亚杯全国电子数据取证大赛个人赛write up

    2016年 第二届美亚杯个人赛write up 本人TEL15543132658 同wechat,欢迎多多交流,wp有不足欢迎大家补充多多探讨! 前景概要: 你会获得一个包含Hugo电脑硬盘的镜像文件 ...

  7. 第二届天府杯数学建模竞赛

    2022年第二届天府杯全国大学生数学建模竞赛正式官宣为省级赛事!四川省生产力促进中心挂牌在四川省自然资源科学研究院,是国家级生产力促进中心和国家级技术转移中心.想参加数模竞赛的快来报名啦~是由成都锦城 ...

  8. 2020 年 “联想杯”全国高校程序设计在线邀请赛暨第三届上海理工大学程序设计竞赛题解

    2020 年 "联想杯"全国高校程序设计在线邀请赛暨第三届上海理工大学程序设计竞赛题解 萌新又来写题解啦 原题链接 (不是按照题号顺序来的QWQ) L. Lottery Ticke ...

  9. 北京理工大学计算机学院赵曜,北理工学子参加第十届蓝桥杯全国软件和专业人才大赛取得佳绩...

    5月25日,第十届"蓝桥杯"全国软件专业人才设计与创业大赛在北京大学.首都经济贸易大学等多所高校同步举办.北京理工大学ACM俱乐部派出的21名参赛队员,经过长达四个小时的激烈角逐最 ...

最新文章

  1. 新课程网上选课系统V1.0—适用于中小学校本课程选课、选修课选课
  2. 射频领域中交调和互调的区别
  3. Instagram为何如此受欢迎?
  4. 原型模式的应用场景_前端常用设计模式
  5. C++设计模式之工厂方法模式
  6. python计算条件概率_用Python实现贝叶斯定理(附代码)
  7. OpenSceneGraph 3.2 版本修改点
  8. 中台不火,天理难容!
  9. thymeleaf 中select下拉回显
  10. android选项菜单xml,使用 XML 定义选项菜单
  11. 截图软件 snipaste
  12. Hexo next博客添加折叠块功能添加折叠代码块
  13. Jlink接口引脚定义
  14. 英飞凌 AURIX 系列单片机的HSM详解(3)——开发方法
  15. 目标检测算法——小目标检测相关数据集(附下载链接)
  16. IntelliJ IDEA必会的几个常用设置
  17. python列表嵌套元组拆分_Python进阶之元组拆包及嵌套元组拆包
  18. 论文分为哪几个级别(一)
  19. 两行代码隐藏进程在top中的显示
  20. 已注册LODOP出现水印的解决办法

热门文章

  1. android小闹钟课程设计,《小闹钟》教学设计
  2. python casefold lower_Python学习之路(2)——字符串方法casefold和lower的区别(Python3.5)-Go语言中文社区...
  3. dns服务器漏洞修复,KB4569509:DNS 服务器漏洞 CVE-2020-1350 指南
  4. 华为首款鸿蒙系统产品成行业,华为首款鸿蒙系统产品成行业公敌!只因开机无广告:遭十大品牌批评...
  5. SpringBootApplication注解
  6. 标记-整理(Mark-Compact)
  7. 线程的应用-如何应用多线程
  8. 函数式接口的概念函数式接口的定义
  9. Hive的基本操作-数据库的创建和删除
  10. 数据库-优化-pt-query-digest使用简介