L. Paid Leave(贪心)[CCPC Finals 2021]

news2025/1/9 16:42:02

题目如下:

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

思路 or 题解

我们可以先只考虑第一段(两个休息日之间)
在这里插入图片描述
白色为休息日,蓝色为工作日
我们思考,如果在满足题意的条件下,如何安排额外的休息日可以使答案更优:
贪心可得:额外的休息日尽量往后安排一定不会使答案变差
所以我们把额外的工作日都安排到满足题意的最后面

第一段我们如何构造:
x[工作] 1(休息) y-x(工作) 1休息 x[工作] 1(休息) y-x(工作) 1休息 ... ...

我们可以发现循环节
循环节的长度为: x + 1 + y − x + 1 = y + 2 x + 1 + y - x + 1 = y + 2 x+1+yx+1=y+2
进行推广至任意段我们如何操作才可以使答案最优?
约定:
last 代表上一次休息后连续工作的天数
ans 代表我需要添加的额外休息日的天数
ans += (r - l + 1) / (y + 2) * 2;
注: × 2 \times 2 ×2 是因为一个完整的循环节有两个额外的休息日
剩余的长度:tt = (r - l + 1) % (y + 2);
如果 t t > l a s t tt > last tt>last 我们需要再添加一个额外的休息日

if (tt > last)
{
	tt -= last;
	ans++, tt --;
}

更新 l a s t last last
last = min(x, y - tt);

我们将 第 0 0 0 天, 第 n + 1 n+1 n+1 天认为是休息日,这样处理起来更加方便!(:

AC代码如下:

#define int long long
int n, m, x, y;
void solve()
{
    vector<int> v;
    cin >> n >> m >> x >> y;
    v.push_back(0);
    for (int i = 1; i <= m; i++)
    {
        int tt; cin >> tt;
        v.push_back(tt);
    }
    v.push_back(n + 1);
    int ans = 0;
    int last = x;
    for (int i = 1; i < v.size(); i++)
    {
        int l = v[i - 1] + 1, r = v[i] - 1;
        ans += (r - l + 1) / (y + 2) * 2;
        int tt = (r - l + 1) % (y + 2);
        if (tt > last)
        {
            tt -= last;
            ans++, tt --;
        }
        last = min(x, y - tt);
    }

    cout << ans << '\n';
}
signed main()
{
    buff;
    solve();
}

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

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

相关文章

RabbitMQ之TTL机制

在京东下单&#xff0c;订单创建成功&#xff0c;等待支付&#xff0c;一般会给30分钟的时间&#xff0c;开始倒计时。如果在这段时间内用户没有支付&#xff0c;则默认订单取消。 该如何实现&#xff1f; 定期轮询&#xff08;数据库等&#xff09; 用户下单成功&#xff0…

【自然语言处理(NLP)】聊天机器人模块实现

【自然语言处理&#xff08;NLP&#xff09;】聊天机器人模块实现 作者简介&#xff1a;在校大学生一枚&#xff0c;华为云享专家&#xff0c;阿里云专家博主&#xff0c;腾云先锋&#xff08;TDP&#xff09;成员&#xff0c;云曦智划项目总负责人&#xff0c;全国高等学校计算…

《异常检测——从经典算法到深度学习》20 HotSpot:多维特征 Additive KPI 的异常定位

《异常检测——从经典算法到深度学习》 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测算法 5 Opprentice——异常检测经典算法最终篇 6 基于重构概率的 VAE 异常检测 7 基于条件VAE异常…

[附源码]计算机毕业设计JAVA鲜花销售管理系统

[附源码]计算机毕业设计JAVA鲜花销售管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…

【学习笔记02】node的模块化和内置模块

一、nodejs的模块化 &#x1f602; nodejs 所有的东西都是模块 &#xff08;一&#xff09;node模块的分类 1. 自定义模块&#xff1a;自己写的模块 2. 内置模块&#xff1a;nodejs提供的模块 3. 第三方模块 别人写好的东西, 上传到某一个位置(npm), 我们去 npm 去下载到我们本…

SpringBoot+MyBatis和MyBatisPlus+vue+ElementUl实现批量删除 我只能说太简单了

目录准备工作MySQL数据库表Result返回结果1、SpringBootMyBatisPlusvueElementUl实现批量删除1.1、演示GIF动态图1.2、实体类1.3、Dao接口1.4、Service接口1.5、ServiceImpl接口实现层1.6、Controller控制层1.7、Vue前端2、SpringBootMyBatisvueElementUl实现批量删除2.1、演示…

关于数据权限的设计

在项目实际开发中我们不光要控制一个用户能访问哪些资源&#xff0c;还需要控制用户只能访问资源中的某部分数据。 控制一个用户能访问哪些资源我们有很成熟的权限管理模型即RBAC&#xff0c;但是控制用户只能访问某部分资源&#xff08;即我们常说的数据权限&#xff09;使用R…

云计算-JavaAPI与Hadoop的互联的实现

云计算-JavaAPI与Hadoop的互联的实现 文章目录云计算-JavaAPI与Hadoop的互联的实现一、环境准备二、HDFS 基本的命令操作三、HDFS客户端操作IntelliJ IDEA 环境准备通过API操作HDFS主函数程序进行连接测试1. 初始化hdfs连接获得FileSystem对象1. HDFS获取文件系统2. HDFS创建文…

Redis集群方案备忘录

文章目录哨兵模式官方Redis ClusterJedis&#xff08;客户端分片&#xff09;Codis&#xff08;代理分片&#xff09;哨兵模式 优点 哨兵模式是基于主从模式的&#xff0c;解决可主从模式中master故障不可以自动切换故障的问题。缺点 &#xff08;1&#xff09;是一种中心化的…

Express 6 指南 - 路由 6.3 路线路径 Route paths

Express Express 中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Express6 指南 - 路由6.3 路线路径 Route paths6 指南 - 路由 6.3 路线路径 Route paths 【这翻译得…生怕国人看懂】 路由路径与请求方法相结合&#xff0c;定义了可以…

大数据培训课程之序列化案例实操

序列化案例实操 1. 需求 统计每一个手机号耗费的总上行流量、下行流量、总流量 &#xff08;1&#xff09;输入数据 &#xff08;2&#xff09;输入数据格式&#xff1a; 7 13560436666 120.196.100.99 1116 954 200 id…

编辑器实现思路

复杂项目 业务的复杂性: 交互的复杂性数据结构和状态的复杂性,例如级联选择器需要遍历树结构,还有一些需要链表、栈、队列等多项目依赖,工程的复杂性性能优化流程的复杂性 git flowlint 工具单元测试commit信息Code ReviewCI/CD开发一个编辑器 例如低代码的编辑器 编辑器…

如何批量旋转图片?学会这三种方法就能轻松实现

对于喜爱拍照的小伙伴来说&#xff0c;你们的手机或者相机应该有很多图片素材吧。那么在整理这些图片到电脑的时候&#xff0c;你们的图片会不会出现方向不一致的情况呢&#xff1f;有的是倒着的&#xff0c;有的是左旋了90。想要将这些图片都调整为同一个方向&#xff0c;靠手…

Delete `␍` 最简单最有效的解决方法和解释(VScode)

一、原因 VScode 出现 Delete ␍ 的原因&#xff0c;大部分都是因为安装了 Prettier 插件指定了文件的结尾换行符与系统不一致导致的&#xff0c;就是下面这个插件 由于历史原因&#xff0c;windows 和 linux 两个系统的文本文件的换行符不一致&#xff1b;Windows在换行的时候…

空域图像增强-图像灰度变换

1.图像灰度变换。自选一张图片&#xff0c;完成以下图像处理&#xff1a;①显示图像的灰度直方图&#xff1b;②直方图均衡化&#xff0c;对比变化前后的图像和灰度直方图&#xff1b;③对图像进行线性灰度变换&#xff0c;对某部分灰度值进行扩展&#xff0c;压缩其它灰度值区…

汽车空调器前缸盖数控加工工艺的制订及夹具设计

目  录 摘  要 &#xff11; Abstract 2 1 引言 3 2 零件的分析 4 2.1 零件的作用 4 2.1.1空调压缩机的功用和要求 4 2.1.2 汽车空调压缩机的一般结构 4 2.1.3 斜盘式压缩机的结构特点 4 2.1.4 斜盘式压缩机的优点 5 2.2 零件的工艺分析 5 3 数控机床的加工性能分析 10 3.1…

[附源码]计算机毕业设计JAVA校园跑腿系统

[附源码]计算机毕业设计JAVA校园跑腿系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…

2023年软考备考,系统分析师知识点速记,速看

2023上半年软考系统分析师知识点速记分享给大家&#xff0c;快来一起打卡学习吧&#xff01; 1、企业集成分类&#xff1a;按组织范围分 2、企业集成分类&#xff1a;按集成点分 3、企业战略与信息化战略集成方法 业务与IT整合&#xff08;BITA&#xff09;&#xff1a;重心是…

计算机组成原理习题课第三章-4(唐朔飞)

计算机组成原理习题课第三章-4&#xff08;唐朔飞&#xff09; ✨欢迎关注&#x1f5b1;点赞&#x1f380;收藏⭐留言✒ &#x1f52e;本文由京与旧铺原创&#xff0c;csdn首发&#xff01; &#x1f618;系列专栏&#xff1a;java学习 &#x1f4bb;首发时间&#xff1a;&…

计算机网络——OSI参考模型

计算机网络的分层结构 OSI参考模型 世界上第一个提出网络结构的公司IBM公司&#xff0c;其他的公司有美国国防部提出的TCP/IP 为了支持不同的网络结构的互联互通&#xff0c;国际标准化组织于1984年提出的开放的系统互联&#xff08;OSI&#xff09;参考模型。 OSI参考模型在…