【gym 101606K】Knightsbridge Rises (最大流+打印路径)

高校技术转移办公室人员如何提升技术成果的推介效果和市场转化率?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

https://codeforces.com/gym/101606/problem/K

题意

有 n个吊车,m个重物,现在要把m个重物放上楼顶,每个吊车有两个属性w1,w2,代表把这个吊车放上楼顶需要w1的力量,这个吊车拥有w2的力量,w1为0代表已经在楼顶上了。每个吊车只能使用一次。问是否可以将所有的重物都放上楼顶,并且输出一种方案。

题解

判断是否可行

  1. 设超级源点S,超级汇点T,从S向w1=0的吊车连一条容量为1的边,将所有重物都连一条容量为1的边到T。
  2. 对于每个吊车,因为只能选一次的原因,所以要对其限流,将吊车分裂成两个点W1,W2,从W1连一条容量为1的边到W2。
  3. 如果一个吊车可以拿动另一个吊车那么就从一个吊车的W2连容量为1的边到另一个吊车W1。如果可以拿得动重物,那么就从W2连容量为1的边到重物。
    最大流 == 重物个数 即可行
    打印路径
    因为这个图很特殊,边的容量都是1,所以用没用过可以直接看边的流量是否改变。
    直接从每一个重物沿着反向边找吊车。
    如果找合法的反向边呢?反向边编号为奇数,且流量为负数。
    同时因为对吊车进行了裂点,所以还需注意下吊车的点。

代码

#include <bits/stdc++.h>
using namespace std;
#define FOR0(a,b) for(int i = a; i < b; ++i)
#define FORE(a,b) for(int i = a; i <= b; ++i)
typedef long long ll;
typedef pair<int,int> pii;
const int maxn = 1000;
const int INF = 0x3f3f3f3f;
struct Dinic {
	vector<int> G[maxn];
	struct Edge {
		int from, to, cap, flow;
	};
	void AddEdge(int from, int to, int cap) {
		edges.push_back((Edge){from,to,cap,0});
		edges.push_back((Edge){to,from,0,0});
		m = edges.size();
		G[from].push_back(m-2);
		G[to].push_back(m-1);
	}

	int n,m,s,t;
	vector<Edge> edges;
	
	bool vis[maxn];
	int d[maxn];
	int cur[maxn];
	bool bfs() {
		memset(vis, 0, sizeof vis);
		queue<int> Q;
		Q.push(s);
		d[s] = 0;
		vis[s] = 1;
		while(!Q.empty()) {
			int x = Q.front();
			Q.pop();
			for(int i = 0; i < G[x].size(); ++i) {
				Edge& e = edges[G[x][i]];
				if(!vis[e.to] && e.cap > e.flow) {
					vis[e.to] = 1;
					d[e.to] = d[x]+1;
					Q.push(e.to);
				}
			}
		}
		return vis[t];
	}
	void setn(int n) {
		this->n = n;
	}
	int dfs(int x,int a) {
		if(x == t || a == 0) return a;
		int flow = 0, f;
		for(int& i = cur[x]; i < G[x].size(); ++i) {
			Edge& e = edges[G[x][i]];
			if(d[x]+1 == d[e.to] && (f=dfs(e.to, min(a, e.cap-e.flow))) > 0) {
				e.flow += f;
				edges[G[x][i]^1].flow -= f;
				flow += f;
				a -= f;
				if(a == 0) break;
			}
		}
		return flow;
	}

	int maxflow(int s,int t) {
		this->s = s; this->t = t;
		int flow = 0;
		while(bfs()) {
			memset(cur,0,sizeof cur);
			flow += dfs(s,INF);
		}
		return flow;
	}
	int pre[maxn];
	vector<int> path;
	void dfs2(int x, int s) {

		for(int i = 0; i < G[x].size(); ++i) {
			int w = edges[G[x][i]].flow, v = edges[G[x][i]].to;
			// cout << x <<" " << v << " " << w << " " << G[x][i] << endl;
			if(G[x][i]%2  && w < 0 && v != s) { 
				if(v <= n) {
					
					path.push_back(v);
				}
				dfs2(v,s);
			}
		}
	}
	void print(int m) {
		// for(int i = 0; i < edges.size(); ++i) {
		// 	cout << edges[i].from <<" "<<edges[i].to <<" " << edges[i].flow <<" "<< edges[i].cap << endl;
		// }
		for(int i = 1; i <= m; ++i) {
			path.clear();
			dfs2(2*n+i,0);
			reverse(path.begin(), path.end());
			for(int i = 0; i < path.size(); ++i)
				cout << path[i] <<" ";
			cout << endl;
		}
	}
}dinic;
struct crane {
	int a,b;
}cr[105];
int w[105];
int main() {
	int n;
	scanf("%d", &n);
	for(int i = 1; i <= n; ++i) {
		scanf("%d%d", &cr[i].a, &cr[i].b);
		if(cr[i].a == 0)
			dinic.AddEdge(0,i,1);
		dinic.AddEdge(i,i+n,1);
	}
	int m;
	scanf("%d", &m);
	for(int i = 1; i <= m; ++i) {
		scanf("%d", &w[i]);
		dinic.AddEdge(2*n+i, 2*n+m+1, 1);
	} 
	for(int i = 1; i <= n; ++i) {
		for(int j = 1; j <= n; ++j) {
			if(i == j) continue; 
			if(cr[i].b >= cr[j].a) 
				dinic.AddEdge(n+i,j,1);
		}
		for(int j = 1; j <= m; ++j) {
			if(cr[i].b >= w[j]) {
				dinic.AddEdge(n+i,2*n+j,1);
			}
		}
	}
	dinic.setn(n);
	int flow = dinic.maxflow(0,n*2+m+1);
	if(flow < m) {
		puts("impossible");
	} else {
		// cout << flow << endl;
		dinic.print(m);
	}
	return 0;
}
两相交错并联BuckBoost变换器仿真模型(Simulink仿真实现) 内容概要:本文档系统整合了电力电子与新能源领域的Simulink仿真资源,聚焦于两相交错并联Buck-Boost变换器的双闭环PWM控制建模与仿真,同时涵盖多种典型拓扑结构,包括交错并联Boost、PFC功率因数校正、LLC谐振变换器、双向CLLC、DAB变换器、VIENNA整流器等。资源体系完整,包含仿真模型、设计报告、计算书、PPT说明文档及Matlab/Python代码,覆盖从基础建模到高级控制策略(如软开关技术、谐波抑制、状态估计、双闭环控制)的全流程。此外,还拓展至状态估计(卡尔曼滤波、粒子滤波)、智能优化算法、机器学习、信号处理、路径规划等多个交叉学科方向,构建了一个面向科研与工程应用的综合性技术平台。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等专业的硕士博士研究生、高校科研人员,以及从事新能源发电、智能电网、电动汽车、电力传动等领域技术研发的工程师。; 使用场景及目标:①开展电力电子变换器(如Buck-Boost、LLC、DAB、PFC等)的建模、控制与仿真研究;②支撑课程设计、学位论文、科研项目中的系统仿真与算法验证;③学习并复现高水平期刊(如EI)提出的先进控制策略,如基于KKT条件的最优控制、扩展移相调制、恒压恒流双环竞争控制等;④结合智能算法(如粒子群、秃鹰算法)进行微电网调度、储能配置、路径规划等多目标优化问题的研究与快速原型开发。; 阅读建议:建议依据提供的资源目录循序渐进地查阅资料,优先选取与自身研究方向高度契合的内容进行深入学习;应结合仿真模型与配套文档动手实践,调试参数并分析结果,充分利用百度网盘与公众号渠道获取完整资源,提升科研工作的系统性、规范性与创新性。 立即下载

相关推荐

【基于Zernike矩的良性和恶性肿块的分类】应用于乳腺癌诊断中的快速相反权重学习规则(Matlab代码实现)

内容概要:本文详细介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,重点阐述了其在软开关技术条件下的建模方法与仿真分析过程。该模型能够精确模拟LLC谐振变换器在不同运行工况下的动态响应特性,涵盖开环与闭环控制策略的设计与实现,适用于研究变换器的效率优化、谐振参数匹配、系统稳定性及软开关性能等问题。相较于Simulink等传统仿真工具,Plecs在高频电力电子系统仿真中展现出更高的仿真速度与数值精度,尤其适合用于复杂电力电子拓扑的快速原型验证与优化设计。; 适合人群:具备扎实电力电子技术基础和仿真经验,从事高频功率变换器设计、新能源电源开发、电力电子系统研究的研发工程师及高校研究生。; 使用场景及目标:①深入理解全桥LLC谐振变换器的工作原理与软开关实现机制;②掌握在Plecs环境中搭建高精度、高效率电力电子系统仿真模型的方法;③开展变换器控制策略(如变频控制、闭环稳压)的仿真验证与参数优化;④为科研课题、学位论文或工业项目提供可靠的仿真平台与技术支持。; 阅读建议:建议结合相关电力电子教材与LLC变换器设计指南,深入掌握谐振参数计算与系统稳定性分析方法,并通过反复调试仿真模型,观察关键波形(如原边电流零点切换、副边整流波形),以全面理解软开关过程的物理本质与控制实现细节。

7032: Knightsbridge Rises(网络流+dfs)

Knightsbridge Rises 时间限制:1 Sec内存限制:128 MBSpecial Judge提交:46解决:13[提交] [状态] [讨论版] [命题人:admin] 题目描述 High-rise buildings in the wealthy retail district of Knightsbridge are usually bui...

diaozha3808的博客 172

基于Qt实现的轻量级CAD画图软件

基于Qt开发的轻量级CAD应用程序

weixin_44954230的博客 5658

GYM 101606 K.Knightsbridge Rises(最大流-Dinic)

Description 现在有mmm个重量分别为TiTiT_i的物品需要吊到楼上,有nnn个吊车,第iii个吊车的重量为WiWiW_i,可以吊起的重量为LiLiL_i,重量为000表示该吊车可以无代价的先放置在楼上以吊起重物或其他吊车,问如果安排吊车可以把这mmm个重物都吊到楼上,一个吊车只能用一次 Input 第一行一整数nnn表示吊车数量,之后nnn行每行两个整数Li,WiLi,WiL...

ZSQ 523

Unity手游优化实战:用GPU Instancing把草地渲染的DrawCall从8000降到20(附完整Shader)

本文详细介绍了Unity手游中利用GPU Instancing技术优化草地渲染的实战方法,将DrawCall从8000降至20。通过Shader改造和性能优化技巧,开发者可以在移动端实现高效渲染,显著提升游戏性能。文章包含完整的Shader代码和优化策略,适合Unity开发者学习应用。

weixin_33691817的博客 489

AltiumDesigner 09安装过程破解问题 .

首先分享一下破解文件,网上总是下载不到,好不容易下载到了,放在网盘上,有需要的自取。AltiumDesigner 09破解文件。链接:https://pan.baidu.com/s/1ZGvbR_6T51hpcaFbQiMX5w 密码:qwvaAltiumDesigner 09安装安装文件,比较大,包含破解文件:链接:https://pan.baidu.com/s/1mfgragB519jpGfR...

xiaoxiao_rabbit的博客 3万+

Gym 101606K Knightsbridge Rises(最大流+输出路径)

High-rise buildings in the wealthy retail district of Knightsbridge are usually built with exotichoisting machines known, in construction circles, as cranes.While it is common to mount these devices o...

LP_Cong 848

损失函数大汇总(四十五)(clDice Loss附公式推导与代码)

clDice Loss是一种针对细长结构分割任务的拓扑保持损失函数,通过比较预测区域和真实区域的中心线重叠情况来评估分割质量。与传统Dice Loss关注区域重叠不同,clDice Loss重点考察连通性和骨架拓扑结构,能有效避免血管断裂、分支错误连接等问题。该损失函数包含两个核心指标:预测骨架在真实区域中的覆盖比例(Topology Precision)和真实骨架被预测区域覆盖的比例(Topology Sensitivity),通过调和平均得到最终评估值。由于传统骨架提取算法不可导,实际实现采用可微的so

悦学共鸣,温柔以待,汇聚光芒,共同成长 450

UKIEPC2017 - K - Knightsbridge Rises - 网络流

题解链接 http://www.lucien.ink/archives/320/ 题目链接 http://codeforces.com/gym/101606 题目 High-rise buildings in the wealthy retail district of Knightsbridge are usually built with exotic hoisting ma...

LucienShui 575

ZY1-02D (ZY1E)多光谱数据预处理

资源一号02D卫星(5米光学卫星)于2019年9月12日成功发射,卫星搭载的两台相机,可有效获取115公里幅宽的9谱段多光谱数据以及60公里幅宽的166谱段高光谱数据,其中全色谱段分辨率可达2.5米、 多光谱为10米、高光谱优于30米,高光谱载荷可见近红外和短波红外光谱分辨率分别达到10纳米和20纳米。

热爱分享,热爱记录 4827

漫画安全HIDS、EDR、NDR、XDR

漫画安全HIDS、EDR、NDR、XDR

墨痕诉清风的博客 3445

Gym - 101606 K - Knightsbridge Rises (拆点建图+网络流)

原题地址:https://codeforces.com/gym/101606 题目大意:有nnn台起重机和mmm个物品,每台起重机有两个参数www和lll,www代表起重机的重量,lll代表起重机能举起的最大重量。每件物品都也一个重量ttt。小的起重机能举起大的起重机,并且每种起重机只能使用一次。问能否把这些物品全都举起来,若能,则输出方案;若不能,则输出"impossibleimpossible...

yiqzq的博客 459

无需Python环境!纯C#上位机+OpenCVSharp4+ONNX Runtime实现YOLOv8摄像头实时流检测,工业级稳定

摘要 工业自动化C#开发中,传统Python方案实现视觉检测功能存在环境依赖、内存泄漏和性能不稳定等问题。本文提出基于.NET 8+OpenCVSharp4+ONNX Runtime的纯C#方案,通过实际案例验证其优势: 零Python依赖,支持离线部署 内存稳定(380MB/72h),检测延迟<80ms 检测精度达漏检率<0.1%,误检率<0.5% 保留原有业务逻辑代码,3天完成适配 方案采用分层架构设计,支持多种硬件平台和操作系统,提供从模型导出到部署的全流程指导,为工业视觉检测提供高

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 196

Problem K

Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时

独行无疆的博客 352

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POJ 1504 Adding Reversed Numbers(水~)

Description 给定n组数据,每组数据包含两个数a和b,求将a反转加上b反转然后整个再反转的值 Input 第一行为一个整数n表示数据组数,接下来n行每行两个整数a,b Output 对于每组用例,输出a反转加上b反转然后整个再反转的值 Sample Input 3 24 1 4358 754 305 794 Sample Output 34 1998 1 S

ZSQ 632

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

E - Slot Machines Gym - 101667I —— kmp

原文链接: https://odzkskevi.qnssl.com/6fd8c99567698f4bad5a228cc982bad7?v=1534480987 这么长的题目我都看不懂,还是别人和我讲的题意,就是给你一串数字,前面可能是没有规律的,后面是有规律的,让你找出需要删掉k个数,然后循环内数的个数是p,k+p最小。 网上kmp算法很多,这个我是看别人的,它可以找到上一个循环的节点。 ...

天翼之城的博客 556

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

poj - 3436 ACM Computer Factory(最大流+打印路径)

ACM Computer Factory Time Limit:1000MS Memory Limit:65536K Total Submissions:10687 Accepted:3986 Special Judge Description As you know, all the computers used...

weixin_30886233的博客 133

洛谷 - P2763 试题库问题(最大流+路径打印)

题目链接:点击查看 题目大意:给出n种试题类型,以及m种试题,现在需要出题,要求每种类型的题目必须满足相应的数目,问应该怎么设计方案 题目分析:一开始其实就建好了图,然后就在怀疑自己建图的正确性,因为没读好题,一开始以为试题如果被选中,那么这个试题会对其对应的类型都做出贡献,然后就自闭了,因为没有办法控制流量,后来去看了一眼题解发现,一个试题虽然可以对应多个类型,但最后被选中的时候只会对其中一...

Falcon的博客 685

POJ3436 ACM Computer Factory

POJ3436 ACM Computer Factory Time Limit:1000MS Memory Limit:65536K Total Submissions:3345 Accepted:1112 Special Judge Description As you know, all the computer...

weixin_30794491的博客 221

2017暑假训练第一场的一些题目

3635: 拯救小鸡 时间限制: 1 Sec 内存限制: 128 MB 提交: 71 解决: 34 [提交][状态][讨论版] 题目描述 鸡国最近遇到了一件很棘手的事情,经常有一只老鹰想来抓小鸡。经鸡国情报员探查,这只老鹰打算共来袭击 n 次,第 i 次来的时刻为第 t i (1≤i≤n) 秒时刻。 鸡国国王为了保护鸡国中的小鸡,决定派出鸡国警察(鸡国有无穷多个警察)来巡逻。 每个警察巡逻的时间长度都为 t 秒。当老鹰来袭击的时刻至少要有 x 名警察才能抵御老鹰的袭击。另外国王派遣警察有两个原则:

雪的期许 1805

Buildings Gym - 101873B

As a traveling salesman in a globalized world, Alan has always moved a lot. He almost never lived in the same town for more than a few years until his heart yearned for a different place. However, thi...

七九河开的博客 521

[POJ 3436]ACM Computer Factory[最大流][打印路径]

题目链接:[POJ 3436]ACM Computer Factory[最大流][打印路径] 题意分析: 组装一台电脑需要P个部件,现在有N个生产线,每个生产线分三部分的描述:第一个数字代表,这台机器单位时间能接收多少部件,后面的前p个部分代表该生产线需要什么部件,0代表不需要,1代表需要,2代表可有可无(相当于不需要),后p个部分代表产生什么部件,0不产生,1产生。问,怎么样调动这些材料,让整

闲停 1537
上一篇: 【GYM 101606F】Flipping Coins (概率dp)
下一篇: 【01分数规划】二分+判圈
Link_Ray
博客等级 码龄9年 44粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值