【拓扑排序】威虎山上的分配-C++

威虎山上的分配
描述

每年过年的时候,座山雕都会给兄弟们分银子,分银子之前,座山雕允许大伙儿发表意见,因为要是没法满足所有人的意见,指不定谁要搞出什么大新闻。不过每个人在提意见的时候只能说:“我认为 A 分的银子应该比 B 多!”。座山雕决定要找出一种分配方案,满足所有人的意见,同时使得所有人分得的银子总数最少,并且每个人分得的银子最少为 100两。


输入
第一行两个整数 n,m(0<n≤10000,0<m≤20000),表示总人数和总意见数;

以下 m 行,每行两个整数 a,b,之间用一个空格隔开,表示某个意见认为第 a 号小弟所分得的银两应该比第 b 号小弟多,所有小弟的编号由 1 开始。


输出
若无法找到合法方案,则输出Unhappy!(不包含引号),否则输出一个数表示最少总银两数。


输入样例 1 

3 2
1 2
2 3
输出样例 1

303
来源

计蒜客

这道题就是很典型一道拓扑排序的题目,但是有个坑点“第 a 号小弟所分得的银两应该比第 b 号小弟多”,所以在输入的时候需要把u和v反过来emm其他的话就是基本一个拓扑模板,特判一下有没有有环的情况就可以了(没有用dfs跑一遍)。

AC代码

#include<bits/stdc++.h>
using namespace std;

const int MAX_N=10000+1;
const int MAX_M=20000+1;

int cnt,money[MAX_N];
bool vis[MAX_N];
struct edge{
	int v,next;
	int len;
}E[MAX_M];

int p[MAX_N],eid=1;

void insert(int u,int v){
	E[eid].v=v;
	E[eid].next=p[u];
	p[u]=eid++; 
}

int n,m;
int indegree[MAX_N];

void topo(){
	queue<int> q;
	for(int i=1;i<=n;i++)
	{
		if(indegree[i]==0)
		{
			q.push(i);
		}
	}
	while(!q.empty())
	{
		int now=q.front();
		vis[now]=1;
		cnt++;
		q.pop();
		for(int i=p[now];i!=0;i=E[i].next)
		{
			int v=E[i].v;
			indegree[v]--;
			if(indegree[v]==0)
			{
				q.push(v);
				vis[v]=1;
				//printf("money[%d]=money[%d]+1\n",v,i);
				money[v]=money[now]+1;
			}
		}
	}
}

int main()
{
	memset(indegree,0,sizeof(indegree));
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		insert(v,u);
		indegree[u]++;
	}
	
	topo();
	int ans=0;
	
	for(int i=1;i<=n;i++)
	{
		if(!vis[i])
		{
			cout<<"Unhappy!"<<endl;
			return 0;
		}
		//printf("money[%d]=%d\n",i,money[i]);
		ans+=money[i];
	}
	
	cout<<ans+n*100<<endl;
	return 0;
}

ov.

转载于:https://www.cnblogs.com/moyujiang/p/11167796.html

内容概要:本文详细比较了GPU、TPU专用AI芯片在大模型推理优化方面的性能、成本及适用场景。GPU以其强大的并行计算能力和高带宽显存,适用于多种类型的神经网络模型和计算任务,尤其适合快速原型开发和边缘计算设备。TPU专为机器学习设计,擅长处理大规模矩阵运算密集型任务,如Transformer模型的推理,具有高吞吐量和低延迟特性,适用于自然语言处理和大规模数据中心的推理任务。专用AI芯片通过高度定制化架构,针对特定神经网络模型进行优化,如卷积神经网络(CNN),在处理特定任务时表现出色,同时具备低功耗和高能效比的优势,适用于边缘计算设备。文章还介绍了各自的优化工具和框架,如CUDA、TensorRT、TPU编译器等,并从硬件成本、运营成本和开发成本三个角度进行了成本对比。 适合人群:从事人工智能、深度学习领域的研究人员和技术人员,尤其是对大模型推理优化感兴趣的读者。 使用场景及目标:①帮助读者理解GPU、TPU和专用AI芯片在大模型推理中的优缺点;②为选择适合的硬件平台提供参考依据,以实现最优的推理性能和成本效益;③介绍各种优化工具和框架,帮助开发者高效部署和优化模型。 其他说明:本文不仅涵盖了硬件架构特性,还深入探讨了优化技术和应用场景,旨在为读者提供全面的技术参考。在选择硬件平台时,需综合考虑具体任务需求、预算限制及开发资源等因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值