P6005 [USACO20JAN] Time is Mooney G 题解

news/2025/10/12 22:32:05/文章来源:https://www.cnblogs.com/redlightFancy/p/19137409

题目描述

Bessie 正在安排前往牛尼亚的一次出差,那里有 \(N\)\(2 \leq N \leq 1000\))个编号为 \(1 \ldots N\) 的城市,由 \(M\)\(1 \leq M \leq 2000\))条单向的道路连接。Bessie 每次访问城市 \(i\) 都可以赚到 \(m_i\) 哞尼(\(0 \leq m_i \leq 1000\))。从城市 \(1\) 出发,Bessie 想要赚到尽可能多的哞尼,最后回到城市 \(1\)。为了避免争议,\(m_1=0\)

沿着两个城市之间的道路移动需要消耗一天。出差的准备工作十分费钱;旅行 \(T\) 天需要花费 \(C \times T^2\) 哞尼(\(1 \leq C \leq 1000\))。

Bessie 在一次出差中最多可以赚到多少哞尼?注意有可能最优方案是 Bessie 不访问城市 \(1\) 之外的任何城市,在这种情况下结果应当为 \(0\)

输入格式

输入的第一行包含三个整数 \(N\)\(M\)\(C\)
第二行包含 \(N\) 个整数 \(m_1,m_2,\ldots, m_N\)
以下 \(M\) 行每行包含两个空格分隔的整数 \(a\)\(b\)\(a \neq b\)),表示从城市 \(a\) 到城市 \(b\) 的一条单向道路。

输出格式

输出一行,包含所求的答案。

分析

这道题可以用动态规划解决。我们设 \(dp_{i,j}\) 为在第 \(i\)\(j\) 号城市的最大哞尼获得数(不包括旅游花费 \(C \times T^2\) 的那一部分)。我们枚举每个开始时间 \(t\) 而同时在的位置 \(s\)。因为最大的 \(N\)(城市数)小于等于 \(1000\),所以 \(t\) 的枚举范围上限为 \(0\) ~ \(2000\)(往返 \(1000\) 个城市)。显然,\(s\) 的枚举范围为 \(1\) ~ \(N\)

如果在 \(t\) 的前一天没有到 \(s\) 城市(即 dp[t-1][s] == -inf),那就忽略这次循环。否则遍历与其相邻的所有城市,根据状态转移方程更新数组。

状态转移方程:在原来的 \(dp_{t,j}\)\(dp_{t-1,s} + m_j\)(上一次走的最大值加上这次走的收益)之中找到最大,即

\[dp_{t,j} = \max(dp_{t,j}, dp_{t-1,s} + m_j) \]

如果一个 \(dp_{t,1}\) 不是空(inf),那么就说明这条路可以原路返回城市 \(1\)。那么这条路可行。我们创建一个变量 \(\text{mx}\) 存储最大结果,比较 \(\text{mx}\) 是否小于找到的 \(dp_{t,1}\) 去掉旅游花费(\(C\times T^2\))并更新结果即可。

给出代码:

......
const int inf = 0x7f7f7f7f;
int N, M, C, m[1005], dp[2005][2005];
vector<int> g[3005];int main(void){cin >> N >> M >> C;for(int i=1; i<=N; ++i)cin >> m[i];for(int i=1, a, b; i<=M; ++i){cin >> a >> b;g[a].push_back(b);}memset(dp, -inf, sizeof dp);dp[0][1] = 0; // 刚开始肯定为 0int mx = 0;for(int t=1; t<=2000; ++t){for(int s=1; s<=N; ++s){if (dp[t-1][s] == -inf) continue; // 如果在 t-1 秒没有到达 s,跳过该循环for(int j : g[s]) // 每一个邻居 jdp[t][j] = max(dp[t][j], dp[t-1][s] + m[j]);}if (dp[t][1] != -inf) // 如果能回到城市 1mx = max(mx, dp[t][1] - C * t * t);}cout << mx << endl;return 0;
}

有问题可以评论提出改正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.2 优势演员–评论家算法(Advantage Actor-Critic, A3C)

优势演员–评论家算法(Advantage Actor-Critic, A3C)演员–评论家(Actor–Critic)算法 策略梯度定理提供了一种能够基于单步转移估计梯度的架构: \[\nabla_\theta J(\theta) = \mathbb{E}_{s \sim \rho_\theta, a…

20232326 2025-2026-1 《网络与系统攻防技术》实验一实验报告

20232326 2025-2026-1 《网络与系统攻防技术》实验一实验报告 1. 实验内容 1.1 缓冲区溢出漏洞核心定义:程序向预设缓冲区写入数据时超出容量,溢出数据覆盖相邻内存(如函数返回地址、栈底指针ebp),最终篡改程序执…

[数据分析/BI] Microsoft Power BI 使用指南

1 概述:Power BI 什么是 Power BI?Power BI 是由微软发布的一款商业智能(BI)软件,或者说数据分析工具。Microsoft Power BI 是一个完整的报表解决方案,通过开发工具和联机平台提供数据准备、数据可视化、分发和管…

机器人技术在现实世界中的挑战与创新

本文探讨了在现实环境中构建与人类互动的机器人系统所面临的技术挑战,包括开放世界的不确定性、持续学习、多机器人协作以及人机共存等问题,涉及机器学习模型优化、系统架构设计和安全交互等核心技术。机器人技术在现…

Motorola和Inter的区别

位的顺序 MSB: Most Significant Bit 最高有效位,一个二进制数的最左边的那一位,他拥有最高的权重,他的值是1还是0对整个数的影响最大。2的N-1次方。 LSB: Least Significant Bit 最低有效位,一个二进制数的最右边…

设计模式-行为型设计模式(针对对象之间的交互) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

ROS2之TF

TFTF(Transform Frame) 是 ROS2 中用于维护多个坐标系之间空间关系的坐标变换系统。它可以实时跟踪机器人各个部分(如底盘、传感器、地图等)在三维空间中的位置与姿态,通过建立一棵动态的 坐标变换树(TF Tree),…

代码源2025长训

10/9 Day 16 A:非常可惜写的35pts暴力全部没分,也是神人了。首先需要一个小分讨,如果原树有双重心那么就会有如下情况:该边后的双重心不变和有可能改变;如果不变的情况就是说,对于双重心 \((u,v)\) ,我们加减边…

代码源国庆模拟赛

ABC 423 做题顺序a->b->c->d->c->d->c->e->d,吃了C*3+D*6共9发罚时,全部WA*1 C把一个减号左右两边写反导致出现负数爆炸了 D:能用prique别用set,常数大还会把元素去重,元素去重是很关键的…

CSP-S模拟30 2025.10.12

A. 灯若辰星 题面link 赛时 一眼看出\(F\)属于第一类斯特林数,但\(G\)死活找不出规律QAQ。 然后又没对\(F mod 2\)进行分讨,0pts遗憾离场。。。 正解 让我们分开求解 F 手搓几个样例可发现其中的递推关系 rt: 考虑以…

记录fiddler抓包mumu模拟器

fiddler设置设置完成后导出证书放入mumu模拟器的共享文件夹mumu模拟器设置 证书安装然后选中共享文件夹里的证书进行安装即可 代理设置代理主机名为电脑ip地址,代理端口为上述fiddler配置的端口号 配置完毕后即可抓包…

深入解析:2025年真实手机牧场CC攻击破防游戏盾?四维防御体系全面升级!

深入解析:2025年真实手机牧场CC攻击破防游戏盾?四维防御体系全面升级!pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

神经网络读书报告

神经网络是模拟生物神经系统结构与功能的人工智能模型,其核心思想源于对人类大脑神经元连接机制的仿生设计。自 20 世纪 40 年代 “感知器” 概念提出以来,神经网络经历了 “兴起 — 低谷 — 复兴” 的多轮迭代,如今…

MinIO 介绍(2)--MinIO 客户端 mc 基本功能

本文主要介绍 MinIO 客户端 mc 的基本功能;文中所使用到的软件版本:mc RELEASE.2025-07-21T05-28-08Z、Centos 8.5.2111。 1、mc 介绍 1.1、mc 安装 这里主要介绍 mc 在 Linux 环境下的部署;可通过如下地址下载 mc …

关于UE5基础关卡创建的注意点

关于UE5基础关卡创建的注意点ue5 中解决一个一个map的加载问题(增加了开放世界支持),进行将整个单个map划分为多份map,来设定成为角色在哪个部分就加载哪个部分map制作一张新地图 选择open world组成了天气 第一个…

2025年10月恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室/工业/工厂车间恒温恒湿空调系统公司推荐

2025年10月恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室/工业/工厂车间恒温恒湿空调系统公司推荐随着科技的不断进步和各行各业对环境控制要求的提高,恒温恒湿系统在多个领域中的应用…

征集歌单

如题,不要外文歌,不要不好唱的,最好有些激情的。

ABC427 游记

快速出 $4t$ 跳去看 F 一直在实现错误的方法结束比赛。省流 快速出 \(4t\) 跳去看 F 一直在实现错误的方法结束比赛。10.11 内含剧透,请vp后再来。 不是题解!!!!!!! 赛前 忘了干了什么了,总之什么也没干,处在…