当前位置:网站首页>1192. 奖金
1192. 奖金
2022-07-29 13:16:00 【追寻远方的人】
由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。
公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。
于是Mr.Z下令召开 m 方会谈。
每位参加会谈的代表提出了自己的意见:“我认为员工 a 的奖金应该比 b 高!”
Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。
每位员工奖金最少为100元,且必须是整数。
输入格式
第一行包含整数n,m,分别表示公司内员工数以及参会代表数。
接下来 m 行,每行 2 个整数 a,b,表示某个代表认为第 a 号员工奖金应该比第 bb 号员工高。
输出格式
若无法找到合理方案,则输出“Poor Xed”;
否则输出一个数表示最少总奖金。
数据范围
1≤n≤10000,
1≤m≤20000
输入样例:
2 1
1 2
输出样例:
201
代码:
/* 差分约束求最长路,根据边权不同可分以下三类: 不知道是否有解的情况下: 边权无限制,用 SPFA,最坏 O(nm) ,正环则无解 边权非负,对 SCC 缩点变 DAG 后按拓扑序递推,稳定O(n+m),一个连通分量内部应该边权都是0,否则就存在正环,无解; 边权为正,如果不存在拓扑序就无解,所以用拓扑就可以 最长路负环和零环是可以的,但拓扑排序只能判断是否有环 对于DAG,最短路还是最长路都可以拓扑 */
#include <bits/stdc++.h>
using namespace std;
const int N = 10010, M = 20010;
int n, m;
int h[N], e[M], ne[M], idx;
int q[N];
int d[N];
int dist[N];
void add(int a, int b)
{
e[idx] = b;
ne[idx] = h[a];
h[a] = idx++;
}
bool topsort()
{
int hh = 0, tt = -1;
for (int i = 1; i <= n; i++)
{
if (!d[i])
q[++tt] = i;
}
while (hh <= tt)
{
int t = q[hh++];
for (int i = h[t]; i != -1; i = ne[i])
{
int j = e[i];
if (--d[j] == 0)
q[++tt] = j;
}
}
return tt == n - 1;
}
int main()
{
scanf("%d%d", &n, &m);
memset(h, -1, sizeof h);
while (m--)
{
int a, b;
scanf("%d%d", &a, &b);
add(b, a);
d[a]++;
}
if (!topsort())
puts("Poor Xed");
else
{
for (int i = 1; i <= n; i++)
dist[i] = 100;
for (int u = 0; u < n; u++) // 拓扑序遍历即可求最长路
{
int j = q[u];
for (int i = h[j]; i != -1; i = ne[i])
{
dist[e[i]] = max(dist[e[i]], dist[j] + 1);
}
}
int res = 0;
for (int i = 1; i <= n; i++)
res += dist[i];
printf("%d\n", res);
}
return 0;
}
边栏推荐
- Bika LIMS 开源LIMS集—— SENAITE的使用(分析/测试、方法)
- 【论文阅读】Anomaly Detection in Video via Self-Supervised and Multi-Task Learning
- Nacos分级存储模型-集群配置与NacosRule负载均衡
- 一起来侃个球
- frp-免费内网穿透
- Sentinel vs Hystrix 限流到底怎么选?(荣耀典藏版)
- 带你了解一下PHP搭建的电商商城系统
- 来自 Qt 官网的呐喊
- How to set the explosion rate of legendary humanoid?Humanoid increase tutorial
- 开放式耳机推荐哪款最好最实用、最好的开放式耳机推荐
猜你喜欢
随机推荐
Bika LIMS 开源LIMS集—— SENAITE的使用(分析/测试、方法)
npm出现报错 npm WARN config global `--global`, `--local` are deprecated. Use `--location=global
leetcode链表专题
C# 1秒跑一个数字的展示,主要练习 事件相关内容
mariadbackup物理备份使用——筑梦之路
码蹄集 tourist
【MySQL视图】视图的概念、创建、查看、删除和修改
mysql5.7.35安装配置教程【超级详细安装教程】
推荐几款2022年好用的设备管理系统(软件)
苹果手机用久了卡顿,学会这样清理缓存,清理后和新机一样流畅
C# autoCAD 几个经常用到的功能代码。
万字长文,揭秘华为数据治理体系!
DVWA全级别通关教程
从KEIL仿真界面导出数据的技巧
JS_删除数组里的无效数据 0 undefined ‘‘ null false NaN
"Industrial flaw detection depth study method" the latest 2022 research were reviewed
浅谈MES系统质量管理的方案
leetcode134. 加油站
25年来最经典的电影特效名场面
Meta,元宇宙和广告双败的一季