1500*B. The Walkway(贪心规律)

news/2025/3/15 16:43:00/

 解析:

        把每个区间段分成左闭右开区间,我们可以观察到,每个区间的饼干数量为 ( r - l ) / d 上取整。

        所以先计算不删除某个点的饼干总和init,然后遍历所有点,将这个点删除。所以删除某个点后剩余数量为:

        

        找出最小值并且统计数量。

        需要注意的是,因为如果没有 1 号位,那么 1 号位同样要吃一个饼干,所以设置一个 1 号虚拟位放在 a[ 0 ],这样就算有1号,那么 a[1]和a[0]的距离也是0,不影响结果。  

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
int t,n,m,d,x,a[N];
int func(int x,int y){if((y-x)%d==0) return (y-x)/d;return (y-x)/d+1;
}
int main(){scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&m,&d);int f=0;for(int i=1;i<=m;i++){scanf("%d",&a[i]);if(x==1) f=1;}a[0]=1;a[m+1]=n+1;int cnt=0;for(int i=0;i<=m;i++){cnt+=func(a[i],a[i+1]);}int ans,res=-1;for(int i=1;i<=m;i++){int p=cnt-func(a[i-1],a[i])-func(a[i],a[i+1])+func(a[i-1],a[i+1]);if(res==-1||p<res){ans=1;res=p;}else if(p==res) ans++;}printf("%d %d\n",res,ans);}return 0;
}

http://www.ppmy.cn/news/1111182.html

相关文章

5.4双积分ADC工作原理

文章目录 1、高中几个知识点exp(n)log(n)lgx、lnx电容充放电公式 2、双积分型ADC工作原理3、SAR和∑-Δ型模数转换器(ADC) 1、高中几个知识点 exp(n) exp函数即指数函数&#xff1a;e的n次方的函数&#xff0c;自然常数e2.718281828459045 举例&#xff1a; exp(0) e 0 e^{…

python中not的用法

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 话不多说&#xff0c;直接开搞&#xff0c;如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 python中的not具体表示是什么: 在python中not是逻辑判断词&#xff0c;用于布尔型True和False&#xff0c; not True为F…

Vue3修改数组问题

Vue3修改数组问题 1. reactive2. ref总结 vue3中使用组合式式API时定义响应式数据需要使用reactive或者ref,两者使用时有些许不同,下面通过重新赋值数组来说明两者的不同 1. reactive 主要用来定义复杂一些的响应式数据 先清空再赋值 const datas reactive([{id:1,name: 孙…

业务上云的容器排障与思考

1 前言 此前我们部门已经完成了业务上云的目标&#xff0c;而随着业务请求量的激增&#xff0c;上云应用系统也面临着一些复杂的故障和挑战。 下文我就结合最近的容器排障工作&#xff0c;跟大家一起探讨如何优化系统的性能、扩展性和容错能力&#xff0c;为读者提供参考和借鉴…

编写postcss插件,全局css文件px转vw

跟目录下创建plugins文件夹&#xff0c;创建postcss-px-to-viewport.ts文件 文件内代码&#xff1a; // postcss 的插件 vite内置了postCss插件 无需安装 import { Plugin } from postcss;interface Options {viewportWidth: number }const Options {viewportWidth: 375, // …

利用芯片74hc165为单片机增加输入扩展端口proteus仿真arduino

我们前面的博文《输入端口少如何扩展&#xff1f;74hc148或74ls148级联在arduino中实现16转4的应用》介绍了148,148输入后可以立即输出到数码管&#xff0c;可以说它是自带编BCD编码器的。而今天这里我们主要介绍的74hc165是没有编码器&#xff0c;这里我们以proteus为仿真环境…

ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点

ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序&#xff08;简例&#xff09; 03. ROS学习笔记(三)—好用的终端Terminator 一、什么是launch文件 虽然说Terminator终端是能够比较方便直观的看运行的节点…

数据分析工具有哪些,哪个好学?

Tableau、帆软BI、思迈特BI、SpeedBI数据分析云……这些都是比较常见的BI数据分析工具。从学习成本、操作难度以及数据可视化分析效果来看&#xff0c;SpeedBI数据分析云都表现地可圈可点。 1、不需下载安装、学习成本低 SpeedBI数据分析云是一款SaaS BI数据分析工具&#xf…