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

洛谷 P14460 【MX-S10-T1】『FeOI-4』寻雾启示 题解

Link

可做题。

考虑怎么做划算?要么在第 \(0\) 格等待全部铁锭满足之后购买并走到终点,要么重复一个买、走、折返、买、走这样的过程,注意到这个等待时间和行走路程都是可以二分的,但是神秘贪心好像都被毙掉了。

要输出 \(d\) 天的所有方案?考虑写一个 DP 状物。\(O(Tm^2)\) 的做法是容易想到的,按照上上述描述裸的模拟一下就可以了,记 \(f_i\) 表示搭建到第 \(i\) 格的最小代价:

\[f_{i} = \min \begin{cases} (k + t_1)i \\ \min_{1 \leq j \leq i} \{ (f_j + 2 \times j \times t_2 + \max(0, ik - (f_j + j \times t_2)) + (i - j) \times t_1) \} \end{cases} \]

这个东西好像没有办法怎么优化?也没有可以套的 DS 来维护,观察, 但是对于每个 \(i\) 输出答案对应的 \(j\) 会发现 \(j\) 单调不降,记录上一个转移点 \(lst\)​ 并 DP。

long long

#include <bits/stdc++.h>using i64 = long long;void solve() {int m, k, t1, t2;std::cin >> m >> k >> t1 >> t2;std::vector<i64> dp(m + 1);int lst = 0;for (int i = 1; i <= m; i++) {dp[i] = 1ll * i * (k + t1);for (int j = std::max(lst, 1); j < i; j++) {i64 _f = dp[j] + (i64) 2 * j * t2 + std::max(0ll, 1ll * i * k - (dp[j] + 1ll * j * t2)) + 1ll * (i - j) * t1;if (_f < dp[i]) {dp[i] =_f;lst = j;} else {break;}}std::cout << dp[i] << " ";}std::cout << "\n";
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t;std::cin >> t;while (t--) {solve();}return 0;
}
http://www.rkmt.cn/news/44998.html

相关文章:

  • P10789 [NOI2024] 登山 解题报告
  • 2025年11月短视频矩阵获客公司权威榜:五强对比评测助你精准选型
  • 2025年11月中国电线电缆厂家推荐榜:五强排名与性能对比评价
  • 2025年11月免费素材网站推荐榜:从版权到画质五强全程护航创意
  • 2025年11月环保板材品牌推荐榜:艺术高定环保榜
  • C#记录类型中意外的数据不一致问题解析
  • 2025.10.10博客
  • HEAD^n和HEAD~n的区别
  • 【比赛游记】2025 ICPC 南京站游记
  • 为啥ls -d */列出所有目录
  • 我的旮旯回忆录
  • 2025年11月AI搜索营销推荐全览:五强格局趋势与实操
  • 为啥ls -d */能列出所有目录
  • 2025年11月AI搜索优化推荐榜:从诊断到落地的完整路径
  • 2025年11月deepseek关键词排名优化推荐:五家优选机构对比助您高效落地
  • 2025年11月GEO品牌推荐:技术引擎驱动跨平台协同增长
  • 2025年11月geo优选推荐:五强对比与场景决策指南
  • 2025年11月geo服务商年度推荐榜:五强方案深度拆解
  • 2025年11月deepseek排名优化推荐:五强实测数据公开供理性参考
  • 2025ccpc女生赛题解
  • 20232327 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • solidity面试题
  • AtCoder Beginner Contest 431
  • 空间矢量脉宽调制(Space Vector Pulse Width Modulation)SVPWM基础
  • 如何有效衡量开发者生产力:超越代码行数的思考
  • 从API调用到智能体编排:GPT-5时代的AI开发新模式 - 教程
  • Spring AI Alibaba 项目源码学习(一)-整体介绍
  • 技术架构师到CIO如何转型
  • Spring Boot + JWT + jjwt 建立前后端分离登录认证(详细教程 + 工具类封装)入门教程
  • 基于实际字节码解析Python链式赋值:从ls1[i]=2到a=b=c=10的完整机制