当前位置: 首页 > news >正文

P9545 [湖北省选模拟 2023] 环山危路 / road 题解

显然可以看作竞赛图上的最大流,考虑转化为最小割。

\(S\) 为包含 \(s_1,s_2,\dots,s_k\) 但不包含 \(t_i\) 的点集,\(T=\{1,2,\dots,n\}\backslash S\),则代价为 \(\sum_{x\in S}\sum_{y\in T}v_{x,y}\),记为 \(f(S,T)\)

放在竞赛图上可以找到一些性质:\(f(S,T)+f(T,S)=|S|\times |T|,f(S,T)-f(T,S)=\sum_{x\in S}\text{out}_x-\text{in}_x\),由这两个值可以得到 \(f(S,T)\)。于是将所有点按 \(\text{out}_x-\text{in}_x\) 从小到大排序,然后贪心取就做完了,时间复杂度 \(\mathcal O(n(n+m))\)

参考代码:

#include<bits/stdc++.h>
#define mxn 3003
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define rept(i,a,b) for(int i=(a);i<(b);++i)
#define drep(i,a,b) for(int i=(a);i>=(b);--i)
using namespace std;
int n,m,st,sm,ct,ans,c[mxn],p[mxn];
char s[mxn][mxn];
bool v[mxn];
signed main(){scanf("%d%d",&n,&m);rep(i,1,n){scanf("%s",s[i]+1);rep(j,1,n)if(i!=j){if(s[i][j]=='1')c[i]++;else c[i]--;}p[i]=i;}sort(p+1,p+n+1,[](int x,int y){return c[x]<c[y];});int t,x;while(m--){rep(i,1,n)v[i]=0;scanf("%d%d",&st,&t);sm=0,ct=t;while(t--)scanf("%d",&x),v[x]=1,sm+=c[x];ans=sm+ct*(n-ct);rep(i,1,n){x=p[i];if(x==st||v[x])continue;sm+=c[x],ct++;ans=min(ans,sm+ct*(n-ct));}cout<<(ans>>1)<<'\n';}return 0;
}
http://www.jsqmd.com/news/3401/

相关文章:

  • c语言经典课程资料
  • k8s 兼容寒武纪 - 教程
  • 探秘圆周率 π:圆周率计算在线工具
  • 注意力机制下的位置编码的理解和梳理
  • 以史为鉴【长期置顶】
  • java21学习笔记-未命名的模式和变量 - 指南
  • 达梦数据库DM-查询指定模式下表的大小
  • 【笔记】Prfer 序列
  • win11 无线投屏(Miracast:)引发的思考附带解决方案 - Popeye
  • 2025年十大主流项目管理工具评测:功能覆盖与成本效益分析
  • 完整教程:服务器磁盘空间满了怎么办?阿里云ECS清理与云盘扩容教程
  • 分布式专题——19 Zookeeper分布式一致性协议ZAB源码剖析 - 指南
  • 关于MCO使用配置
  • 网络运维 --- ntp服务器
  • 向量那点事儿
  • c++输入输出详解
  • docker/docker compose/k8s
  • 中国开发者迎来新选择:Gitee成为研发协作平台转型期的中流砥柱
  • PySpark - Get the number of rows
  • RK3588-ubuntu server - 详解
  • 一文教你上手 Geometric Glovius 6.0:安装、授权与首个项目演示
  • 32单片机+free rtos移植CJSON库函数主要流程
  • Gitee如何重塑中国开发者生态:本土化创新与数字化转型的双重奏
  • 从MESA模型到锁升级:synchronized性能逆袭的底层逻辑
  • 输入输出接口
  • Go语言中的信号捕获与优雅退出:SIGINT、SIGTERM和SIGKILL详解 - 若
  • (二)3.1.9 生产“稳”担当:Apache DolphinScheduler Worker 服务源码全方位解析
  • 实用指南:虚拟机搭建 DHCP 服务器 + 配置 DHCP 中继:完整实操指南
  • 完整教程:生产环境实战:Spring Cloud Sleuth与Zipkin分布式链路追踪实践
  • ibero 2025.1 Run PROGRAM_SPI_IMAGE_Action