Codeforces Round 893 (Div. 2)B题题解

news2024/7/4 4:41:12

文章目录

  • [The Walkway](https://codeforces.com/contest/1858/problem/B)
    • 问题建模
    • 问题分析
      • 1.分析所求
      • 2.如何快速计算每个商贩被去除后的饼干数量
        • 代码

The Walkway

在这里插入图片描述在这里插入图片描述

问题建模

给定n个椅子,其中有m个位置存在商贩,在商贩处必须购买饼干吃,每隔经过d个椅子需要消耗饼干,在初始椅子1处也需要吃饼干,现在可以去除一个商贩,问去除一个商贩后所需消耗的饼干数量最小为多少,以及符合要求的商贩数量。

问题分析

1.分析所求

题目需要输出一个最小的饼干数量,以及对应符合要求的商贩数量。则可以考虑采用枚举计算每个商贩缺失后所需的饼干数量,取数量最小的情况即可。

2.如何快速计算每个商贩被去除后的饼干数量

由于到商贩处必须买饼干,也就是到商贩处计算椅子的间隔需要重新计算,则只需按商贩间隔计算饼干数量即可。由于只去除一个商贩,则可以预处理出所有商贩都存在的饼干数量,然后计算出去除商贩所需饼干数最少的情况即可。

代码

#include<bits/stdc++.h>

#define x first
#define y second
#define C(i) str[0][i]!=str[1][i]
using namespace std;
typedef unsigned long long ULL;
typedef long long LL;
typedef pair<int, int> PII;
typedef pair<LL, LL> PLL;
const int N = 1e5+10, INF = 0x3f3f3f3f;
int s[N];

void solve() {
    int n,m,d;
    cin >>n >>m >>d;
    for(int i=1;i<=m;i++)   cin >>s[i];
   ///计算方便计算第一个椅子和最后一个椅子到商贩的间隔
    s[0]=1-d,s[m+1]=n+1;
    int ans=m;
    for(int i=0;i<=m;i++)   ans+=(s[i+1]-s[i]-1)/d;
    int val=0,cnt=0;///计算去除商贩后减少饼干数量最多的
    for(int i=1;i<=m;i++){
        int a=s[i]-s[i-1]-1;
        int b=s[i+1]-s[i]-1;
        int c=s[i+1]-s[i-1]-1;
        if(val<a/d+b/d-c/d+1)   val=a/d+b/d-c/d+1,cnt=1;
        else if(val==a/d+b/d-c/d+1) cnt++;
    }
    cout <<ans-val <<" " <<cnt<<'\n';
}

int main() {
    int t = 1;
    cin >> t;
    while (t--) solve();
    return 0;
}

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

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

相关文章

u8g2 自制字体

显示器 SSD1306 单片机ARDUINO NANO 使用U8G2 将表情生成字库文件 使用DRAWGLYPH 显示表情字库 GIF转成40X80 GIF转PNG PNG 转1位 PNG生成BDP BDP生成 C U8G2源代码的TOOL\FONT中包含了PNG转BDP BDP转.C 文件 下载原代码 &#xff1a; GitHub - olikraus/u8g2: U8gl…

python3 0基础学习----数据结构(基础+练习)

python 0基础学习笔记之数据结构 &#x1f4da; 几种常见数据结构列表 &#xff08;List&#xff09;1. 定义2. 实例&#xff1a;3. 列表中常用方法.append(要添加内容) 向列表末尾添加数据.extend(列表) 将可迭代对象逐个添加到列表中.insert(索引&#xff0c;插入内容) 向指定…

redis查看执行的命令+配置文件命令

1.SLOWLOG LEN 获取 Slowlog 的长度&#xff0c;以确定 Slowlog 中有多少条记录 2.SLOWLOG GET 获取 Slowlog 中的具体记录。你可以使用 SLOWLOG GET 命令来获取第 n 条记录的详细信息&#xff0c;其中 n 是记录的索引&#xff08;从 0 开始&#xff09; 3.如果你想获取多条最…

RFID赋能新能源电池生产的智慧演进

随着全球对可再生能源的需求不断增长&#xff0c;新能源电池作为储能和供电的重要组成部分&#xff0c;正逐渐成为关注的焦点。然而&#xff0c;新能源电池的生产过程中存在着一系列挑战&#xff0c;如追踪和管理电池的生命周期、确保质量和安全等。在这方面&#xff0c;RFID正…

【WPF】 本地化的最佳做法

【WPF】 本地化的最佳做法 资源文件英文资源文件 en-US.xaml中文资源文件 zh-CN.xaml 资源使用App.xaml主界面布局cs代码 App.config辅助类语言切换操作类资源 binding 解析类 实现效果 应用程序本地化有很多种方式&#xff0c;选择合适的才是最好的。这里只讨论一种方式&#…

微信公众平台发布小程序流程

最近因为部署小程序&#xff0c;学习了下如何部署小程序 1. 取消不检验合法域名并上传小程序 建议在小程序上传之前&#xff0c;先取消不校验合法域名并真机调试下。 2. 登录微信公众平台 登录微信公众平台 3. 设置服务器域名 在开放->开发管理->开发设置找到服务器…

Minio知识点+linux下安装+面试总结

一 Minio简介 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等&#xff0c;而一个对象文件可以是任意大小&…

Word设置只读后,为什么还能编辑?

Word文档设置了只读模式&#xff0c;是可以编辑的&#xff0c;但是当我们进行保存的时候就会发现&#xff0c;word提示需要重命名并选择新路径才能够保存。 这种操作&#xff0c;即使可以编辑文字&#xff0c;但是原文件是不会受到影响的&#xff0c;编辑之后的word文件会保存到…

【Unity小技巧】Unity探究自制对象池和官方内置对象池(ObjectPool)的使用

文章目录 前言不使用对象池使用官方内置对象池应用 自制对象池总结源码参考完结 前言 对象池&#xff08;Object Pool&#xff09;是一种软件设计模式&#xff0c;用于管理和重用已创建的对象。在对象池中&#xff0c;一组预先创建的对象被维护在一个池中&#xff0c;并在需要时…

七夕节送礼物清单,总有一款他/她会喜欢!

马上就要到一年一度的七夕节了&#xff0c;你想好送给对方什么礼物了吗&#xff1f;送礼不一定是贵的好&#xff0c;但一定要表达出自己心意&#xff0c;也有人说&#xff0c;七夕不适合单身狗&#xff0c;其实是错的&#xff0c;单身狗正好可以趁七夕这个浪漫的节日&#xff0…

B站发布财报,正式会员数达2.14亿

KlipC报道&#xff1a;B站公布了截至2023年6月30日的未经审计的财务报告&#xff0c;据数据显示&#xff0c;B站总营收达同比增长8%达53.04亿元人民币&#xff0c;毛利润同比增长66%&#xff0c;其中广告业务收入同比增长36%达16亿人民币。财报发布后&#xff0c;B站美股盘前一…

深度云化时代,什么样的云网络才是企业的“心头好”?

科技云报道原创。 近年来企业上云的快速推进&#xff0c;对云网络提出了更多需求。 最初&#xff0c;云网络只是满足互联网业务公网接入。 随着移动互联网的发展&#xff0c;企业对云上网络安全隔离能力和互访能力、企业数据中心与云上网络互联、构建混合云的能力&#xff0…

骨传导耳机游泳能戴吗?骨传导游泳耳机哪个牌子好?

溽热的夏日&#xff0c;如果能够跳入水中畅游一番&#xff0c;那真的是再好不过了&#xff0c;既能强身健体&#xff0c;又能降温解暑。公共的游泳场馆人声鼎沸&#xff0c;像我这种“社恐”患者&#xff0c;如果在场馆中要待好几个小时&#xff0c;难免会觉得时间漫长&#xf…

韩国半导体巨头库存飙升,存储器市场面临挑战 | 百能云芯

最新财务报告揭示&#xff0c;韩国两大半导体巨头三星和SK海力士面临巨大的库存压力。截至今年6月底&#xff0c;两家公司的半导体库存金额已经飙升至超过50兆韩元&#xff0c;创下历史新高。这不仅显示了存储器市场库存过剩的严峻形势&#xff0c;也暗示着产业复苏步伐不容乐观…

Linux系统调试——valgrind内存泄露检测

代码可能存在内存泄露怎么办&#xff1f; 使用valgrind可以对代码进行内存泄露检测。 valgrind下载安装 下载&#xff1a;https://www.valgrind.org/downloads/ 安装&#xff1a; 1、tar –jxvf valgrind-3.21.0.tar.bz2 2、cd valgrind-3.21.0 3、./configure --prefix/ho…

GBU814-ASEMI逆变器专用整流桥GBU814

编辑&#xff1a;ll GBU814-ASEMI逆变器专用整流桥GBU814 型号&#xff1a;GBU814 品牌&#xff1a;ASEMI 芯片个数&#xff1a;1 封装&#xff1a;GBU-4 恢复时间&#xff1a;&#xff1e;50ns 工作温度&#xff1a;-55C~150C 浪涌电流&#xff1a;200A 正向电流&…

华为AR路由器配置双出口静态IP双链路负载

适用于&#xff1a;有多个以太WAN口的机型。 业务需求&#xff1a; 电信运营商1分配的接口pppoe拨号上网获取地址为116.24.65.19/32。 联通运营商2分配的接口pppoe拨号上网获取地址为10.59.7.238/32。 实现通过pppoe拨号获取动态IP双上行接入Internet&#xff0c;链路1和链…

[USACO1.5] 八皇后 Checker Challenge

题目描述 一个如下的 6 x 6 的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线&#xff08;包括两条主对角线的所有平行线&#xff09;上至多有一个棋子。 上面的布局可以用序列 2 4 6 1 3 5 来描述&#xff0c;第…

由于找不到msvcp120.dll怎么解决?哪个解决方案操作简单

我最近我的电脑遇到了一个问题&#xff0c;运行某些软件的时候出现了一个msvcp120.dll的错误提示。这个错误导致我无法正常运行一些程序&#xff0c;非常影响我的工作和娱乐体验。经过一番搜索和尝试&#xff0c;我最终成功修复了这个问题&#xff0c;现在我把修复方法分享给大…

【学习笔记之vue】使用Nginx运行vue

下载http://nginx.org/en/download.html 下一个稳定版本 加入环境变量 加入path中 在nginx解压路径下输入cmd 或者双击 之后erro显示&#xff1a;80端口冲突 下面我们将80默认启动端口改成90 双击nginx.exe&#xff0c;在浏览器中输入地址http://localhost:90/&#…