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

Ideal Holidays

题目链接

AtCoder Beginner Contest 347

C - Ideal Holidays


思路:

一周有 A + B A+B A+B 天,前 A A A 天放假,问能不能把所有工作放进节假日里。

先看简单的,两个。其实我们并不是很在乎它们中间隔了多少天,我们只在乎前一个工作排在周几的时候,后一个工作排在周几。所以我们可以给两个工作都 模 A + B A+B A+B。而它们之间的差距是不变的(可以想象一个长为 A + B A+B A+B 的一个条带,把两个工作放入相应位置,当前一个工作向后推移一天的时候,后一个工作同样推一天,到结尾后再循环回头部,这两个工作中间的间隔是固定不变的),当我们确定了前一个工作放在周几,后一个工作的时间也就随之确定了。

这个结论可以推广到 n n n 个工作。也就是说,我们只要确定了某个工作放在周几,我们就知道其他工作放在周几了。如果我们想要工作全部落在前 A A A 天里,只需要保证所有工作都落在一个长为 A A A 的连续天数里(还是可以想象成上面的条带,一个工作代表一个点,就是要保证所有点落在一个长为 A A A 的连续长度上)。

我们可以给模完后的工作排个序,然后枚举起点工作,找到最后一个工作落在哪里。也可以枚举相邻的两个工作,看它们之间的间隔是否大于等于 B B B(既然两个工作的间隔天数大于等于 B B B,说明剩下的工作都落在长为 A A A 的连续天数里了)。

code:

两种写法

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=2e5+5;int n,A,B;
int a[maxn<<1];bool check(){for(int i=1;i<=n;i++)if(a[i+n-1]-a[i]+1<=A)return true;return false;
} int main(){cin>>n>>A>>B;int maxx=-1e9,minn=1e9;for(int i=1,t;i<=n;i++){cin>>a[i];a[i]%=(A+B);}sort(a+1,a+n+1);for(int i=1;i<=n;i++)a[i+n]=a[i]+A+B;puts((check())?"Yes":"No");return 0;
}
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=2e5+5;int n,A,B;
int a[maxn];int main(){cin>>n>>A>>B;int maxx=-1e9,minn=1e9;for(int i=1,t;i<=n;i++){cin>>a[i];a[i]%=(A+B);}sort(a+1,a+n+1);bool flag=false;if(a[1]+A+B-a[n]-1>=B)flag=true;else for(int i=2;i<=n;i++){if(a[i]-a[i-1]-1>=B){flag=true;break;}}puts((flag)?"Yes":"No");return 0;
}
http://www.lryc.cn/news/331377.html

相关文章:

  • Raven:一款功能强大的CICD安全分析工具
  • 【苹果MAC】苹果电脑 LOGI罗技鼠标设置左右切换全屏页面快捷键
  • IDE/VS2015和VS2017帮助文档MSDN安装和使用
  • 开启 Keep-Alive 可能会导致http 请求偶发失败
  • 【leetcode面试经典150题】4.删除有序数组中的重复项 II(C++)
  • 【LeetCode热题100】【普通数组】合并区间
  • 自我认识的方法模型图
  • dhcp和dhcp中继代理
  • 【fastadmin】脚本模式下,日志钩子函数执行出现死循环,导致内存溢出奔溃
  • gitlab代码迁移,包含历史提交记录、标签、分支
  • 通过TCP或UDP向某个IP和端口发送数据
  • Go语言介绍及Go语言成功的项目列举
  • CQI-17:2021 V2 英文 、中文版。特殊过程:电子组装制造-锡焊系统评审标准
  • 普通Java工程可执行JAR两种打包方式探讨
  • 开源博客项目Blog .NET Core源码学习(13:App.Hosting项目结构分析-1)
  • Vue的双向绑定v-model详细介绍
  • AWS入门实践-S3对象存储的基本用法
  • el-tree-v2渲染树形大数据并设置默认展开
  • 损失函数篇 | YOLOv8更换损失函数之MPDIoU(23年7月首发论文)
  • 【力扣】200.岛屿数量(染色法DFS深搜)
  • 达梦配置ODBC连接
  • 独孤思维:高客单价项目,必须来一个
  • 学习java第三十二天
  • 力扣150. 逆波兰表达式求值
  • hololens 2 投屏 报错
  • 初次在 GitHub 建立仓库以及公开代码的流程 - 公开代码
  • 论文笔记 - :MonoLSS: Learnable Sample Selection For Monocular 3D Detection
  • LVS、HAProxy
  • 开发环境->生产环境
  • 基于AI智能识别技术的智慧展览馆视频监管方案设计