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

[补题记录] Atcoder Beginner Contest 325(E、F)

URL:https://atcoder.jp/contests/abc325

目录

E

Problem/题意

Thought/思路

Code/代码

F

Problem/题意

Thought/思路

Code/代码


E

Problem/题意

有一个二维矩阵,D[i][j] 表示从 i 到 j 的距离。从 i 到 j 有两种方式:

  • 坐汽车:耗费 D[i][j] * A;
  • 坐火车:耗费 D[i][j] * B + C;

你可以选择在某个城市 i 换乘火车,但不能再从火车换乘汽车。问最少的时间。

Thought/思路

恼馋题目,使我的 rank 旋转。

最重要的是理解这句话,然后做两个反向的最短🦌即可。

Code/代码

#include "bits/stdc++.h"#define int long longconst int inf = 1e15;int n, a, b, c, d[1007][1007], dis1[1000007], dis2[1000007];void dij(int s, int* dis) {for (int i = 1; i <= 1000000; ++ i) dis[i] = inf;dis[s] = 0;std::queue <int> q;q.push(s);while (!q.empty()) {int i = q.front(); q.pop();for (int j = 1; j <= n; ++ j) {int w = (s == 1 ? d[i][j] * a : d[i][j] * b + c);if (dis[j] > w + dis[i]) {dis[j] = w + dis[i];q.push(j);}}}
}signed main() {std::ios::sync_with_stdio(false);std::cin.tie(0); std::cout.tie(0);std::cin >> n >> a >> b >> c;for (int i = 1; i <= n; ++ i) {for (int j = 1; j <= n; ++ j) {std::cin >> d[i][j];}}dij(1, dis1);dij(n, dis2);int ans = inf;for (int i = 1; i <= n; ++ i){ans = std::min(dis1[i] + dis2[i], ans);}std::cout << ans;}

F

Problem/题意

有 N 条传输带需要监控,每条传输带长度为 D[i],现在有两种监控可以选择:

  • 第一种:监控长度为 L[1],售价 C[1];
  • 第二种:监控长度为 L[2],售价 C[2];

要求:

  • 对于传输带 D[i],所选的监控可以覆盖其长度;
  • 每种监控的购买数量不能超过 K[1]、K[2];

问是否能保证 N 条传输带都能被完整监控,若能,最小代价是多少。

Thought/思路

这个题要求维护最小值以及类似背包的最大数量。

通常我们在背包中,dp 表示最大价值,但在这个题中,多了一个 K 需要维护。

再想到,如果知道了某个状态下的 K[1]、K[2],其实就能求出这个状态下的价值。

因此,我们可以把 K2 当作 dp 表示的值,维护 K1 不超过限制的情况下,K2 的最少数量。

因此,dp[i][j] 表示:前 i 个,一共使用了 j 个一类监控,所需要的最少二类监控的数量。

Code/代码

#include "bits/stdc++.h"#define int long longconst int inf = 1e15;int n, d[100007], dp[107][1007];
std::array <int, 3> l, c, k;signed main() {std::cin >> n;for (int i = 1; i <= n; ++ i) {std::cin >> d[i];for (int j = 0; j <= 1000; ++ j) {dp[i][j] = inf;}}std::cin >> l[1] >> c[1] >> k[1];std::cin >> l[2] >> c[2] >> k[2];for (int i = 1; i <= n; ++ i) {for (int j = 0; j <= k[1]; ++ j) { // 总共用了 j 个 K1for (int k = 0; k <= j; ++ k) { // j 与 k 做差,得出第 i 个用了几个 K1int p = j - k;int a = (d[i] - p * l[1] <= 0 ? 0 : d[i] - p * l[1]);dp[i][j] = std::min(dp[i][j], dp[i - 1][k] + (a % l[2] == 0 ? a / l[2] : a / l[2] + 1));}}}int ans = inf;for (int i = 0; i <= k[1]; ++ i) {if (dp[n][i] <= k[2]) {ans = std::min(i * c[1] + dp[n][i] * c[2], ans);}}if (ans == inf) std::cout << -1;else std::cout << ans;
}

相关文章:

[补题记录] Atcoder Beginner Contest 325(E、F)

URL&#xff1a;https://atcoder.jp/contests/abc325 目录 E Problem/题意 Thought/思路 Code/代码 F Problem/题意 Thought/思路 Code/代码 E Problem/题意 有一个二维矩阵&#xff0c;D[i][j] 表示从 i 到 j 的距离。从 i 到 j 有两种方式&#xff1a; 坐汽车&…...

1024啊啊啊啊啊啊

1024 程序员节快乐&#xff0c;没什么想发的&#xff0c;只是想要个1024胸章。...

淘宝商品详情API接口(H5端和APP端),淘宝详情页,商品属性接口,商品信息查询

一、接口参数说明&#xff1a;提取淘宝商品详情页各项数据&#xff0c;包含skuid、价格、收藏数、加购数、月销售量、主图、标题、详情页图片等页面上可以看奥的数据都可以拿到。 点击获取key和secret 二、使用场景 1、商品销售情况分析&#xff0c;根据销量调整活动方案&am…...

JVM的几个面试重点

JVM的内存区域划分 JVM类加载机制 前言 Java程序最开始是一个 .java 的文件&#xff0c;JVM把它编译成 .closs 文件&#xff08;字节码文件&#xff09;&#xff0c;运行 Java 程序&#xff0c; JVM 就会读取 .class 文件&#xff0c;把文件内容读取到内存中&#xff0c;构造出…...

[yolo系列:YOLOV7改进-添加CoordConv,SAConv.]

文章目录 概要CoordConvSAConv 概要 CoordConv&#xff08;Coordinate Convolution&#xff09;和SAConv&#xff08;Spatial Attention Convolution&#xff09;是两种用于神经网络中的特殊卷积操作&#xff0c;用于处理图像数据或其他多维数据。以下是它们的简要介绍&#x…...

【万字实操】可视化运维平台openGauss Datakit,带你轻松玩转openGauss 5.0

openGauss Datakit:openGauss社区推出的可视化的运维工具. 特性优势 初级用户学习openGauss门槛高让你望而却步&#xff1f;openGauss Datakit一键化安装企业版集群、监控、日志分析、SQL诊断&#xff0c;让你快速上手&#xff0c;快速部署&#xff0c;从容面对企业环境&#…...

《动手学深度学习 Pytorch版》 10.1 注意力提示

10.1.1 生物学中的注意力提示 “美国心理学之父” 威廉詹姆斯提出的双组件&#xff08;two-component&#xff09;框架&#xff1a; 非自主性提示&#xff1a;基于环境中物体的突出性和易见性 自主性提示&#xff1a;受到了认知和意识的控制 10.1.2 查询、键和值 注意力机制…...

C# 写入文件比较

数据长度&#xff1a;128188个long BinaryWriter每次写一个long 耗时14.7828ms StreamWriter每次写一个long 耗时44.0934 ms FileStream每次写一个long 耗时20.5142 ms FileStream固定chunk写入&#xff0c;循环操作数组&#xff0c;耗时13.4126 ms byte[] chunk new byte[d…...

医院设备利用(Use of Hospital Facilities, ACM/ICPC World Finals 1991, UVa212)rust解法

医院里有n&#xff08;n≤10&#xff09;个手术室和m&#xff08;m≤30&#xff09;个恢复室。每个病人首先会被分配到一个手术室&#xff0c;手术后会被分配到一个恢复室。从任意手术室到任意恢复室的时间均为t1&#xff0c;准备一个手术室和恢复室的时间分别为t2和t3&#xf…...

解决github ping不通的问题(1024程序员节快乐!

1024程序员节快乐&#xff01;&#xff08;随便粘贴一个文档&#xff0c;参加活动 解决github ping不通的问题 域名解析&#xff08;域名->IP&#xff09;&#xff1a;https://www.ipaddress.com/ Ubuntu平台 github经常ping不通或者访问缓慢&#xff0c;方法是更改host…...

QT基础 柱状图

目录 1.QBarSeries 2.QHorizontalBarSeries 3.QPercentBarSeries 4.QHorizontalPercentBarSeries 5.QStackedBarSeries 6.QHorizontalStackedBarSeries 从上图得知柱状的基类是QAbstractBarSeries&#xff0c;派生出来分别是柱状图的水平和垂直类&#xff0c;只是类型…...

微机原理与接口技术-第七章输入输出接口

文章目录 I/O接口概述I/O接口的典型结构基本功能 I/O端口的编址独立编址统一编址 输入输出指令I/O寻址方式I/O数据传输量I/O保护 16位DOS应用程序DOS平台的源程序框架DOS功能调用 无条件传送和查询传送无条件传送三态缓冲器锁存器接口电路 查询传送查询输入端口查询输出端口 中…...

YoloV8改进策略:独家原创,LSKA(大可分离核注意力)改进YoloV8,比Transformer更有效,包括论文翻译和实验结果

文章目录 摘要论文:《LSKA(大可分离核注意力):重新思考CNN大核注意力设计》1、简介2、相关工作3、方法4、实验5、消融研究6、与最先进方法的比较7、ViTs和CNNs的鲁棒性评估基准比较8、结论YoloV8官方结果改进一:测试结果摘要 本文给大家带来一种超大核注意力机制的改进方…...

7天易语言从入门到实战(一)

1.1易语言简介 易语言是一门有着伟大理想的语言。公司用的少&#xff0c;开发者也很少&#xff0c;并不影响国人对他的热情。曾经的多玩LOL&#xff0c;朗读女&#xff0c;都是陪伴再那个国产PC应用匮乏的时代。 2001年1月 吴涛研发了中国自主知识产权的的中文编程语言——易语…...

redis缓存问题

缓存击穿 缓存击穿是指某个热点数据存储在redis中&#xff0c;该数据在高并发的场景下&#xff0c;当该key过期时就会有大量的请求去查询数据库&#xff0c;对数据库的压力非常大&#xff0c;可能会导致数据库压垮。 解决方案 1.不为热点的key设置过期时间。 2.使用分布式锁…...

mysql创建自定义函数报错

mysql创建自定义函数报错&#xff1a;This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declarat… 这是我们开启了bin-log&#xff0c;我们就必须指定我们的函数是否是 1.DETERMINISTIC 不确定的 2.NO SQL没有sql语句&#xff0c;当然也不会修改数…...

Docker 的数据管理与网络通信以及Docker镜像的创建

目录 Docker的数据管理 1、数据卷 2、数据卷容器 3、端口映射 4、容器互联 二、Docker网络 1、Docker网络实现原理 2、Docker的网桥模式 1&#xff09;Host 2&#xff09;Container 3&#xff09;none 4&#xff09;bridge 5&#xff09;自定义网络 3、创建自定义…...

linux系统查看bash的history

要输出最近的20条命令&#xff0c;可以使用history命令。在Bash终端中&#xff0c;输入以下命令即可获取最近的20条命令历史记录&#xff1a; history 20这将显示你最近执行的20条命令及其相应的行号。 要将最近的20条命令写入到一个名为 “command.txt” 的文本文件中&#…...

【T+】畅捷通T+增加会计科目提示执行超时已过期。

【问题描述】 在畅捷通T软件中&#xff0c; 增加会计科目的时候提示&#xff1a; 通过DataTable插入ext扩展表出错:执行超时已过期。 完成操作之前已超时或服务器未响应。 操作已被用户取消。 语句已终止。 【解决方法】 【方法一】 注销用户登录&#xff0c;回到软件登录界面…...

0基础学习VR全景平台篇第111篇:全景图拼接和编辑 - PTGui Pro教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 前情回顾&#xff1a;上节&#xff0c;我们将源图像导入了PTGui&#xff0c;也设置好了各项参数。 下面我们就开始拼接全景图&#xff0c;并且在编辑器里进行一系列检查错位和设…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...