Ideal Holidays

这篇具有很好参考价值的文章主要介绍了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:

两种写法文章来源地址https://www.toymoban.com/news/detail-846979.html

#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;
}

到了这里,关于Ideal Holidays的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Your idea evaluation has expired. Your session will be limited to 30 minutes.Ideal打开出现这种提示

    今天打开IDEA写代码突然提示:Your idea evaluation has expired. Your session will be limited to 30 minutes    这句话是说你的IDEA评估已过期,您的会话将限制为 30 分钟。也就是说可以使用,但30min就会自动关闭。 我使用的IDEA 是2020.1.1的版本,之前也是用了破解包。 解决方案: 1.把提示框的

    2024年02月10日
    浏览(35)
  • 算法题目题单+题解——图论

    本文为自己做的一部分图论题目,作为题单列出,持续更新。 题单由题目链接和题解两部分组成,题解部分提供简洁题意,代码仓库:Kaiser-Yang/OJProblems。 对于同一个一级标题下的题目,题目难度尽可能做到递增。 题目链接:Luogu P3547 [POI2013] CEN-Price List 题解: 题目链接:

    2024年02月19日
    浏览(36)
  • 【AI绘画】Stable Diffusion学习——自用大模型分享

    Checkpoint 模型存放路径:stable-diffusion-webui/models/Stable-diffusion majicMIX realistic 麦橘写实 写实系的人像大模型,一种能够渲染出具有神秘或幻想色彩的真实场景的效果,出图很稳定。我经常使用这个模型来生成一些真实的人像图片 下载地址:civitai.com/models/43331 XXMix_9realistic_v4.0 拥

    2024年03月10日
    浏览(106)
  • python节假日库holidays——查询国家节假日

    节假日—计算某天是否为节假日 参考学习: ​ Python holidays模块 ​ Python实现节假日查询 ​ Python怎么获取节假日信息 holidays主要提供以下函数

    2024年02月02日
    浏览(40)
  • CF1145G AI Takeover 题解

    人工智能取得了进展。在这一题中,我们考虑的是石头剪刀布游戏。 然而,比赛的前一天晚上有一群人把机器人弄坏了,于是使用一个程序替代。 您需要找到一个策略,使您能够获胜。祝你好运! 为了方便,石头剪刀布分别用三个字符表示: R , P , S 。 本题有 6 个测试点,

    2024年03月26日
    浏览(42)
  • 【题单】一个动态更新的洛谷综合题单

    洛谷试炼场的题目确实很具有代表性,但是近几年以来,又有许多经典题目出现在 OI 界中,这个大题单就是作为洛谷试炼场的扩展和补充。 目录 新版本食用指南 更新日志 题单 Part 0 试机题 Part 1 入门阶段 Part 2 基础算法 Part 3 搜索 Part 4 动态规划 Part 4.1-4.4 动态规划 Part 4.5-

    2024年02月19日
    浏览(34)
  • 0.96寸OLED显示屏文字取模和图片取模教程

    目录 1、文字取模 2、图片取模         第一种、PCtoLCD2002         第二种、Img2Lcd(个人推荐)  总结 资源见本章最底部         打开取模软件,如下图所示:          设置相关选项          可设置汉字宽高,如下图所示:          开始生成汉字C数组,如下图

    2024年02月06日
    浏览(45)
  • Java 取模和取余

    Java 取余和取模都是计算一个整数除以另一个整数后所得到余数。计算原理如下: 取余运算符 % 表示求余数运算,计算公式为 a % b = r ,其中 a 和 b 分别表示被除数和除数, r 表示所得到的余数。这个运算符将 a 除以 b ,并返回余数 r 。需要注意的是,如果 a 符号为正,则

    2024年02月05日
    浏览(32)
  • java中取模运算

    在Java中,取模运算使用百分号(%)符号表示。它返回两个操作数相除后的余数。下面是一些示例: 正数取模:如果被除数为正数,取模运算的结果也为正数。例如: int a = 10; int b = 3; int result = a % b; System.out.println(result);  // 输出结果为 1 在这个例子中,将10除以3,得到商为

    2024年02月11日
    浏览(37)
  • 线段树题单

    https://www.luogu.com.cn/problem/CF522D 题意: 给一个 n 个元素的数组 a ,m 次询问,每次询问区间 [ l , r ] 内 数值相等的两个数的最近距离,不存在则输出 -1 思路: 先用 set 和 map 对 a 数组离散化处理,对离散出来的每个点,记录 pos [ i ] 表示数字 i 上一次出现的位置,ans [ i ] 表示

    2024年02月16日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包