当前位置: 首页 > news >正文

若干思维题总结

P6005 [USACO20JAN] Time is Mooney G

题目描述

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\) 的一条单向道路。

输出格式

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

输入输出样例 #1

输入 #1

3 3 1
0 10 20
1 2
2 3
3 1

输出 #1

24

说明/提示

最优的旅行方案是 \(1 \to 2 \to 3 \to 1 \to 2 \to 3 \to1\)。Bessie 总共赚到了 \(10+20+10+20-1 \times 6^2=24\) 哞尼。

题解

考虑DP
\(f_{i,j}\)为第\(i\)天到达城市\(j\)的最大收益
那么很显然,
转移方程为\(f_{i,j}=max(f{i-1,k})\),其中\(k\)为与城市\(j\)相邻的城市
\(i\)的范围并没有给出
那我们便可以手动推一下
因为收益不能为负
因此可得式子\(-c\times i^2 + max(m_i) \times i >= 0\)
我们令\(c\)取最小值\(1\)\(max(m_i)\)取最大值\(1000\)
\(-i^2+1000i?=0\)
\(i(1000-i)>=0\)
可得\(i \le 1000\)
那么就可以愉快的AC这道题了

Code:

#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 7, inf = 0x3f3f3f3f;
struct edge{int to, pre;
}e[N << 1];
struct node{int u, w, t;bool operator<(const node &a)const{return w < a.w;} 
};
int n, m, c;
int a[N];
int head[N], tot;
int f[N][N], ans;
void add(int x, int y){e[++tot] = {y, head[x]};head[x] = tot;
}
int main(){scanf("%d%d%d", &n, &m, &c);for(int i = 1; i <= n; i++){scanf("%d", a + i);} for(int i = 1; i <= m; i++){int x, y;scanf("%d%d", &x, &y);add(y, x);}memset(f, -1, sizeof(f));f[0][1] = 0;for(int i = 1; i <= 1000; i++){for(int j = 1; j <= n; j++){for(int k = head[j]; k; k = e[k].pre){int v = e[k].to;if(f[i - 1][v] != -1){f[i][j] = max(f[i][j], f[i - 1][v] + a[j]);}}}ans = max(ans, f[i][1] - c * i * i);}printf("%d\n", ans);return 0;
}
http://www.jsqmd.com/news/24325/

相关文章:

  • 2025年热门的窖藏坛装涪陵榨菜品牌
  • 2025年度印刷机专用稳压器生产商TOP3综合实力榜单:干式稳压器/智能型稳压器/无触点稳压器源头厂家精选。
  • 【译】在 Visual Studio 中引入计划功能(公开预览版)
  • 2025年口碑好的企业VI设计实力公司
  • 2025年评价高的团餐配送最新用户口碑榜品牌
  • 2025 年深圳餐饮设计公司最新推荐榜,聚焦机构专业能力与项目落地成效深度剖析潮流引领 / 功能优化 / 成本精控 / 品牌塑造公司推荐
  • pwn中常用函数
  • 2025 年模压桥架厂家最新推荐榜,技术实力与市场口碑深度解析:高承重耐腐蚀品牌甄选
  • 为什么在componentDidMount()中请求数据?
  • 2025年质量好的云南房屋加固用户好评榜
  • 关心安全与效率?内外网文件交换系统有哪些,一文讲透!
  • 2025年耐用的覆盖膜离型纸厂家选购指南与推荐
  • 【VSCode】VS Code 中使用 Cline AI
  • 2025年专业的进口品牌地暖管厂家选购指南与推荐
  • 2025大型油边机源头厂家TOP3权威榜单:全自动油边机/皮革油边机/精密油边机源头厂家精选。
  • 2025年靠谱的全自动水渠成型机厂家最新权威实力榜
  • 2025年知名的316不锈钢网片高评价厂家推荐榜
  • GPT-4o 新增说话人分割模型 Transcribe-Diarize;巨人网络开源方言模型 DiaMoE-TTS 丨日报
  • 2025年知名的五轴车铣复合厂家推荐及选购参考榜
  • C#执行存储超时过长,但是数据库执行很快问题
  • 2025年正规的风机风阀风管加工厂家推荐及选购参考榜
  • 鱼皮的vibe coding复现记录
  • 2025年质量好的热镀锌钢销售厂家
  • 2025年广东中小学网课学习机服务商TOP3权威实力榜单:小学英语学习机/智能ai学生学习机/网课平板学习机服务商精选
  • 2025年知名的涂料光触媒行业内口碑厂家排行榜
  • 2025 年阳台光伏厂家最新推荐榜,技术实力与市场口碑深度解析:含逆变器、储能及光伏板优质企业
  • 2025年靠谱的水泥基防火涂料行业内知名厂家排行榜
  • 2025年口碑好的大型年糕机厂家最新推荐排行榜
  • SQL的查缺补漏 - Irving11
  • 2025年口碑好的空气离心悬浮鼓风机厂家推荐及采购指南