POJ 3436 ACM Computer Factory 最大流

AI协议助手:法律文本解析与智能问答技术解析 自然语言处理(NLP)技术在法律文本解析中展现出巨大潜力,通过BERT等预训练模型实现条款分类与语义理解。结合OCR与知识图谱技术,AI协议助手能快速提取合同核心条款,并以问答形式解释法律术语,显著提升商务场景的决策效率。测试数据显示,该系统对NDA协议的识别准确率达92%,响应时间仅1.2秒,特别适用于人力资源竞业协议、云服务SLA评估等场景。随着RAG架构与法律术语向量库的应用,AI+法律正推动合同审核成本下降67%,未来将在跨境合规、智能谈判等方向持续演进。 阅读详情



ACM Computer Factory
Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u

Description

As you know, all the computers used for ACM contests must be identical, so the participants compete on equal terms. That is why all these computers are historically produced at the same factory.

Every ACM computer consists of P parts. When all these parts are present, the computer is ready and can be shipped to one of the numerous ACM contests.

Computer manufacturing is fully automated by using N various machines. Each machine removes some parts from a half-finished computer and adds some new parts (removing of parts is sometimes necessary as the parts cannot be added to a computer in arbitrary order). Each machine is described by its performance (measured in computers per hour), input and output specification.

Input specification describes which parts must be present in a half-finished computer for the machine to be able to operate on it. The specification is a set of P numbers 0, 1 or 2 (one number for each part), where 0 means that corresponding part must not be present, 1 — the part is required, 2 — presence of the part doesn't matter.

Output specification describes the result of the operation, and is a set of P numbers 0 or 1, where 0 means that the part is absent, 1 — the part is present.

The machines are connected by very fast production lines so that delivery time is negligibly small compared to production time.

After many years of operation the overall performance of the ACM Computer Factory became insufficient for satisfying the growing contest needs. That is why ACM directorate decided to upgrade the factory.

As different machines were installed in different time periods, they were often not optimally connected to the existing factory machines. It was noted that the easiest way to upgrade the factory is to rearrange production lines. ACM directorate decided to entrust you with solving this problem.

Input

Input file contains integers PN, then N descriptions of the machines. The description of ith machine is represented as by 2 P + 1 integersQiSi,1Si,2...Si,PDi,1Di,2...Di,P, where Qi specifies performance, Si,j — input specification for part j, Di,k — output specification for part k.

Constraints

1 ≤ P ≤ 10, 1 ≤ N ≤ 50, 1 ≤ Qi ≤ 10000

Output

Output the maximum possible overall performance, then M — number of connections that must be made, then M descriptions of the connections. Each connection between machines A and B must be described by three positive numbers ABW, where W is the number of computers delivered from A to B per hour.

If several solutions exist, output any of them.

Sample Input

Sample input 1 3 4
15  0 0 0  0 1 0
10  0 0 0  0 1 1
30  0 1 2  1 1 1
3   0 2 1  1 1 1 Sample input 2 3 5
5   0 0 0  0 1 0
100 0 1 0  1 0 1
3   0 1 0  1 1 0
1   1 0 1  1 1 0
300 1 1 2  1 1 1 Sample input 3 2 2
100  0 0  1 0
200  0 1  1 1

Sample Output

Sample output 1 25 2
1 3 15
2 3 10 Sample output 2 4 5
1 3 3
3 5 3
1 2 1
2 4 1
4 5 1 Sample output 3 0 0

Hint

Bold texts appearing in the sample sections are informative and do not form part of the actual data.


题意:有n个机器,每个机器有2*p+1个参数值,第一个表示这个机器的最大容量,

就是最大可加工零件的数量,然后的p个参数表示,输入条件控制,再之后的p个

参数表示输出情况。在输入部分有三种数字,0,1,2,表示对能够送入当前第i

个机器加工的零件的P个部分的要求,0表示这个部分一定不能有,1表示这个部

分一定要有,2表示这个部分可有可无。对于输出部分,只有两种状态就是0和1。

0表示这个位置输出时没有部件,1表示这个位置输出时有部件。

最后输出时,只有当输出部分p个位置都是1,才算完成。

那么想要形成一个流水线,即产品从一个机器出来,再从另一个机器进去,要满

足的条件是,前一个机器的输出必须满足后一个机器的输入。那么怎么才算满足呢,

由于2比较特别可以在必要时候看成0或者1,所以可以不管它。那么对于0和1,

00 ,11的时候肯定是满足的,然而对于01或者10就不能满足了。于是,只要前

一个机器的后P位中任何一位和后一个机器的前P位中对应位置相加等于1,那么

这两个机器就无法连边。让所有能连接起来的机器连成一张图,题目要求一次

最多能加工多少产品并且输出最大流的路径。

考虑到每台机器都有容量,所以把一台机器分成两个点,中间建一条容量的边。

同时如果一台机器的输出符合另一台机器的输入,则建一条容量无穷大的边。

同时要增加源点和汇点。输入没有1的连接源点,输出全部是1的连接汇点。

代码如下:

//因为是多源点汇点,所以加入一个源点(0)与汇点(n+1),ek 算法
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
#define N 120
#define inf 0x3f3f3f3f
int pre[N], perf[N], data[N][N], n; //data[][]:满足条件的机器则连边建图 
int cap[N][N];//最大容量  
int flow[N][N];//实际流量
int ek()
{
	memset(flow, 0, sizeof(flow));
	int i, j, k, max_flow = 0;
	while (1)
	{
		memset(pre, -1, sizeof(pre));//边的前驱
		memset(perf, 0, sizeof(perf));
		queue<int >q;
		q.push(0);
		perf[0] = inf;
		while (!q.empty())
		{
			int s = q.front();  q.pop();
			for (i = 1; i <= n; i++){
				if (cap[s][i] > flow[s][i] && !perf[i]){
				   pre[i] = s;
				   perf[i] = min(perf[s], cap[s][i] - flow[s][i]);
				   q.push(i);
				}
			}
			if (perf[n])   break;//到汇点就先退出
		}
		if (!perf[n])  break;//到不了汇点退出
		for (i = n; i != 0; i = pre[i]){//更新流量
			flow[pre[i]][i] += perf[n];//正加(注意:反了)
			flow[i][pre[i]] -= perf[n];//反减(注意:反了)
		}
		max_flow += perf[n];//最大流
	}
	return max_flow;
}
struct l
{
	int s, t, f;
}lines[N];
int main()
{
#ifdef OFFLINE
	freopen("t.txt", "r", stdin);
#endif
	int s, t, p, i, j, k;
	while (~scanf("%d%d", &p, &n))
	{
		s = 0, t = n + 1;
		for (i = 1; i < 2 * p + 1; i++)//初始化源点和汇点
		{
			data[s][i] = 0;//源点出发
			data[t][i] = 1;//汇点出发
		}
		for (i = 1; i <= n; i++){
			for (j = 0; j < 2 * p + 1; j++){
				scanf("%d", &data[i][j]);//拆点
			}
		}
		n += 1;//共有 n 个点
		memset(cap, 0, sizeof(cap));
		for (i = 0; i <= n; i++){
			for (j = 0; j <= n; j++){
				if (i == j)   continue;
				int flag = 0;
				for (k = 1; k <= p; k++){
					if (data[i][k + p] + data[j][k] == 1){
                                   //机器 i 输出和机器 j 输入的和等于1则不符合
						flag = 1;   break;
					}
				}
				if (flag)  continue;
				if (i == 0)   cap[i][j] = data[j][0];//源点
				else if (j == n)  cap[i][j] = data[i][0];//汇点
				else   cap[i][j] += min(data[i][0], data[j][0]);
				//注意一定是多条流的和(中间点)(直接赋值也可以)
			}
		}
		printf("%d ", ek());
		int tol = 0;
		for (i = 1; i < n; i++){
			for (j = 1; j < n; j++){
				if (flow[i][j]>0){
					lines[tol].s = i;
					lines[tol].t = j;
					lines[tol].f = flow[i][j];
					tol++;
				}
			}
		}
		printf("%d\n", tol);
		for (i = 0; i < tol; i++)
			printf("%d %d %d\n", lines[i].s, lines[i].t, lines[i].f);
	}
	return 0;
}



GAN网络(论文阅读):Generative Adversarial Nets 当判别器效果比较好时,D(G(z))值为0,则log(1-D(G(z)))值为0,当判别器效果不好,会输出一个大于0 的数,则log(1-D(G(z)))值就为一个负数,在极端情况下,会得到负无穷大,此时判别失误。在价值函数的第二项中存在问题,在早期G比较弱的时,生成的数据和真实数据相差很大,D就容易训练的比较好,很容易区分,就会导致log(1-D(G(z)))变成0 ,这样很难求梯度来优化G,所以更新G时,将优化函数改为log(D(G(z)))。最终使G赢,即G生成的数据D判别不出来。 阅读详情

相关推荐

‌NTRU算法详细教程 | 2025年最新版(基于NIST后量子密码标准更新)

‌:NTRU是当前抗量子加密的黄金标准,‌。

blns_yxl的博客 1802

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

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

闲停 1537

知识推理——TransE(知识表示、知识嵌入)

知识图谱嵌入/表示方法 TransE

missyoudaisy的博客 1831

Wafer的T7 Code是什么,怎么来的

在半导体Cim系统中,waferstart 业务需要支持 Sorter 读取 Wafer 的 T7 Code,与 MES 的 Wafer ID 进行绑定,以便向 前追溯 Wafer 历史,那么问题来了,T7code 是什么Wafer的T7 Code是一种,用于标识双面抛光的晶圆。这种标记采用二维矩阵代码符号,适用于各种尺寸的晶圆,不仅限于450mm无缺口晶圆7。T7 Code是衬底来料背面通常会有的供应商刻的追溯ID,这是一串数字和字母组成的流水码。

阿拉伯梳子的专栏 7923

Hi3516CV610硬件设计避坑指南:从电源模块到DDR布线实战解析

本文深入解析了Hi3516CV610硬件设计中的关键难点与实战技巧。重点剖析了电源架构的选型陷阱与PCB布局要点,详细阐述了DDR3/L高速布线的等长匹配、信号完整性及端接策略,并提供了MIPI接口与时钟电路的隔离设计指南。旨在帮助工程师规避常见设计错误,提升系统稳定性与可靠性。

ooo22的博客 255

poj3436 ACM Computer Factory, 最大流,输出路径

POJ 3436 ACM Computer Factory 电脑公司生产电脑有N个机器,每个机器单位时间产量为Qi。 电脑由P个部件组成,每个机器工作时只能把有某些部件的半成品电脑(或什么都没有的空电脑)变成有另一些部件的半成品电脑或完整电脑(也可能移除某些部件)。求电脑公司的单位时间最大产量,以及哪些机器有协作关系,即一台机器把它的产品交给哪些机器加工。 Sample

天亮说晚安 2269

保姆级教程:用ESP32-S3点亮你的第一块ili9341触摸屏(附完整源码与避坑指南)

本文提供了一份详细的ESP32-S3与ili9341触摸屏的入门指南,涵盖硬件连接、环境配置、驱动补全、触摸校准及图形界面开发等关键步骤。特别针对新手常见问题提供解决方案,并附完整源码与避坑技巧,帮助开发者快速上手嵌入式图形界面开发。

weixin_26854829的博客 243

poj3436 ACM Computer Factory

poj3436 ACM Computer Factory 题意:   n个工厂加工电脑,电脑有p个部件。每个工厂加工的电脑必须是满足它对原材料的需求。p个部件,0代表不能有,1必须有,2代表可有可无。然后经过加工后,这个工厂输出的电脑各个部件的情况,0代表没有,1...

banggui5839的博客 258

芯片标称具备8kVESD能力却在8kV测试中失效?

芯片级ESD(HBM模型)与系统级ESD(IEC 61000-4-2)存在本质差异:

硬核科技 644

YOLO11涨点优化:注意力魔改 | 引入Deformable Attention (可变形注意力),灵活感受野自适应复杂形变目标

Deformable Attention为YOLO11带来的不仅是2.6个百分点的mAP提升,更是一种全新的“形变感知”范式。标准卷积的固定感受野在非刚性目标、多尺度变化和遮挡场景下力不从心——Deformable Attention恰好填补了这一空白。从架构设计到代码实现,从竞品对比到部署方案,从生态工具到安全风险,本文覆盖了将Deformable Attention引入YOLO11所需的全部知识链路。

2601_95807009的博客 284

ACM Computer Factory POJ - 3436 (最大流+建图+Dinic+点权与边权之间的转换)

目录 传送门 点权转化为边权 传送门 题意:题意迷得很,最后也是看网友的才看懂。 每台计算机有p(<=10)个零件,一个公司有n(<=50)个工厂。每个工厂加工一些半成品,输入(得到)一些指定的零件,最多能够输出指定套(指定的是总输出上限,最多不能输出输入套)指定的文件。 n行,第 i 行第一个值是第 i 个工厂的总输出的上限,然后是p个数表示输入的零件,0表示一定不能有该零件,1表示一定要有该零件,2表示无所谓,接着是输出的零件,0表示有该零件,1表示没有。 题解:建图(点权转化

I_have_a_world的博客 513

神经形态芯片:IBM TrueNorth技术详解以及应用案例

2018年的一项演示中,机器人使用TrueNorth处理了复杂的路径规划,功耗仅为传统系统的1/10。它通过模仿人脑的结构,解决了传统芯片在功耗和并行性上的痛点,并在图像识别、物联网和机器人等领域展现了强大潜力。:不同于传统芯片的时钟驱动,TrueNorth是事件驱动的。例如,工厂中的振动传感器使用TrueNorth检测设备故障的早期迹象,实现了更高效的维护策略,避免了停机时间。:在医疗领域,TrueNorth可以用于可穿戴设备,比如一个智能助听器,它能过滤噪音并增强特定声音,功耗低到可以用纽扣电池供电。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2477

POJ 3436 ACM Computer Factory 最大流输出路径

题目:http://poj.org/problem?id=3436 题意:题意真心很难懂啊。。。产品有p个状态,给定n个机器,给出每个机器要求加工前的状态是什么,且给出加工后的状态是什么。产品初始时状态全部为0,完成加工时状态全部为1。加工前有三种状态,为0和1状态要求产品的对应位置也要是0和1,2状态的话可以随意,加工后只有0和1状态 思路:拆点建图,然后在从汇点出发搜索残余网络中的反向边,

弱智就要多努力 951

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

POJ 3436 ACM Computer Factory 最大流

ACM Computer Factory 题意:一个公司有 n 个机器, 现在一个电脑有 p 个组件,每个机器一分钟能够处理Qi个电脑,前p个数代表的是每个位置的零件的状态 0 代表的是进入到这个机器的电脑 这个位置的零件不能存在 1 代表这个位置的零件一定要有,2代表这个位置的零件可以有也可以没有。 后p个数代表的是,电脑从这个机器出去之后的状态,0代表这个位置没有零件 1代表这个...

dengpangbu3703的博客 116

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

POJ 3436 ACM Computer Factory(网络最大流)

http://poj.org/problem?id=3436 ACM Computer Factory Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5286   Accepted: 1813   Special Judge Descrip

fcbruce 2483

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

POJ3436,ACM Computer Factory(最大流)

代码如下: #include<cstdio> #include<algorithm> #include<iostream> #include<cmath> #include<queue> #include<cstring> #include<stack> using namespace std; const int...

shamansi99的博客 209

POJ - 3436 ACM Computer Factory ( 最大流 )

POJ - 3436 题意:... 大意就是有几台机器可以把半成品加工成成品或者另外的半成品,问你最终每小时得到的最多的成品。 思路:那么由题目,这个机器出来的零件个数和另一个机器需要的零件相同时(2的位置不算),他们肯定有条线,但是这里可以看出,对机器每小时有限制数量,这是对点有限制,而不是对边有限制,所以需要拆点,我第一遍写的时候没拆,但是过了,估计数据比较弱..... 没拆点的: #

shinimashzi 293

poj 3436 ACM Computer Factory(最大流)

题目链接:http://poj.org/problem?id=3436 ACM Computer Factory Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7625   Accepted: 2724   Special Judge De

far away 352

POJ 3436 ACM Computer Factory (最大流 + 输出路径)

POJ 3436 ACM Computer Factory 链接:http://poj.org/problem?id=3436 题意:每台电脑有P部分,可以通过不同的机器来进行加工。有N台机器,每台机器用2 P +1 个整数来描述:Qi  Si,1  Si,2 ...  Si,p  Di,1  Di,2. ..  Di,p,其中Qi 指定了机器的性能,表示每小时加工的电脑数量。Si,j

SIOFive的专栏 1485

Poj3436——ACM Computer Factory(最大流)

题意: 流水线上有N台机器装电脑,电脑有P个部件组成,每台机器有三个参数,产量,输入规格,输出规格;输入规格中0表示改部件不能有,1表示必须有,2无所谓;输出规格中0表示该部件没有,1表示有。问如何安排流水线使电脑产量最高。 思路: 每个机器都是一个结点,点上有容量。拆点,中间连一条边,容量设为产量。然后根据输入规格和输出规格建立网络。跑最大流,有流量的边就是方案中包含的边。 #include &...

CY05627的博客 265

POJ3436 ACM Computer Factory 【最大流】

ACM Computer Factory Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5412   Accepted: 1863   Special Judge Description As you know, all the computers use

长风的专栏 1382

poj 3436 ACM Computer Factory(最大流)

题目链接 ACM Computer Factory Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7067   Accepted: 2497   Special Judge Description As you know, all the com

fouzhe的博客 440

ACM Computer Factory POJ-3436 (最大流+拆点)

题目链接 :http://poj.org/problem?id=3436 题目很难理解,读题的时候读蒙了,看了好多解释才理解,简单点就是有很多机器来生产电脑,这些机器 可以通过利用一些零件生成或者销毁一些零件,也可能通过一些零件直接生成一台电脑。 利用的零件 给出的输入形式为 0代表这台机器工作的时候不需要这种零件,1代表必须要这种零件,2代表可有可无 工作产生的结果是输出形式为 ...

zx93的博客 220

POJ3436:ACM Computer Factory(最大流)

ACM Computer Factory Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9963 Accepted: 3738 Special Judge 题目链接:http://poj.org/problem?id=3436 Description: ...

dft539533的博客 122

(最大流) poj3436 ACM Computer Factory

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

LycenYao的专栏 511
上一篇: Educational Codeforces Round 11--A. Co-prime Array
下一篇: FZU 2084--电动车通行证制度 ( 模拟 )
yibin94
博客等级 码龄11年 78粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值