首页 > 其他分享 >CF1735A Working Week 题解

CF1735A Working Week 题解

时间:2022-12-24 23:11:41浏览次数:67  
标签:Week Working int 题解 相邻 休息日 l2 l3 l1

题目传送门

题目大意

一周有 \(n\) 天,有三天休息日,其中第 \(n\) 天一定休息。现需要安排剩下的两个休息日,要求:

  • 不能使得休息日相邻。

  • 这两个休息日将 \(n-1\) 天分成三段,记每段天数分别为 \(l1,l2,l3\)。

求最大的 \(\min(\ |l1-l2|\ ,\ |l2-l3|\ ,\ |l1-l3|\ )\)。

解题思路

可以将这 \(n\) 天想成一串格子来举例说明。

例如当 \(n=21\) 时:

蓝色:休息日(\(l1\),\(l2\),\(l3\));

紫色 \(+\ l2\):\(\ |l1-l2|\);

红色 \(+\ l3\):\(\ |l2-l3|\);

紫色 \(+\) 红色 \(+\ l2\ +\ l3\):\(\ |l1-l3|\);

可以将这 \(3\) 天的休息日分到 \(21-3\) 天的工作日中的三个点,用 \(\left\lfloor\dfrac{n-3}{3}\right\rfloor\) 来表示。但是这样会有两个休息日是相邻的,题目中条件是不能使得休息日相邻,所以可以将相邻的两个休息日之间留出一天。

两个休息日之间留出一天:

蓝色:休息日;

紫色 \(+\ l2\):\(\ |l1-l2|\);

红色 \(+\ l3\):\(\ |l2-l3|\);

紫色 \(+\) 红色 \(+\ l2\ +\ l3\):\(\ |l1-l3|\);

绿色:\(l1\) 与 \(l3\) 这两个相邻的休息日之间留出的一天;

也就是在原来的基础上减去留出来的一天。这样就可以既满足不能使得休息日相邻,又满足最大的 \(\min(\ |l1-l2|\ ,\ |l2-l3|\ ,\ |l1-l3|\ )\)。

所以,只要输出 \(\left\lfloor\dfrac{n-3}{3}\right\rfloor\ -1\) 即可。

代码

注意有多组数据!

#include<iostream>
using namespace std;
int T,n;
int main() {
	cin>>T;
	for (register int i=1;i<=T;++i) {
		cin>>n;
		cout<<(n-3)/3-1<<'\n'; //默认向下取整
	}
	return 0;
}

AC记录

标签:Week,Working,int,题解,相邻,休息日,l2,l3,l1
From: https://www.cnblogs.com/zzyblog0619/p/17003519.html

相关文章

  • CF1666K Kingdom Partition 题解
    题意给定\(n\)个点\(m\)条边的无向图,边有边权\(l\)。需要将点划分成\(A,B,C\)三个集合。\(A\)或\(B\)内部的边有\(2l\)的贡献,\(AC\)或\(BC\)之间的边有......
  • DTOJ 2022.12.24 测试 题解
    (2023省选模拟Round#1)测试成果50+0+0太菜了)A御神体这题写了四个多小时,最后还是没写出来ww莫队一直写挂(不过对莫队的理解加深了很多题目链接DTOJP4346题目大意......
  • 自动化测试神器playwright的安装及常见问题解决
    前言相信自动化测试的同学,对于另一个Python自动化测试神器selenium并不陌生,在playwright出现之前,selenium是自动化测试最常用的Python库,他支持多平台:windows、linux、MAC,且......
  • VsCode搭建C语言运行环境以及终端乱码问题解决
    在VsCode中搭建C/C++运行环境需要先安装以下插件1、安装c/c++插件2、安装coderunner插件当然也可以安装一些其他的美化插件根据个人习惯,但是以上这两个是必装的......
  • Codeforces 1097 G Vladislav and a Great Legend 题解 (DP)
    题目链接思路首先看到这种求\(x^k\)形式的,直接无脑转下降幂:\(x^k=\sum_{i=1}^kS2(k,i)\cdotx^{\underline{i}}\),其中\(S2\)表示第二类斯特林数,\(x^{\underlinei}\)表......
  • Codeforces 1097 G Vladislav and a Great Legend 题解 (DP)
    题目链接思路首先看到这种求\(x^k\)形式的,直接无脑转下降幂:\(x^k=\sum_{i=1}^kS2(k,i)\cdotx^{\underline{i}}\),其中\(S2\)表示第二类斯特林数,\(x^{\underlinei}\)表......
  • Codeforces 1097 G Vladislav and a Great Legend 题解 (DP)
    题目链接思路首先看到这种求\(x^k\)形式的,直接无脑转下降幂:\(x^k=\sum_{i=1}^kS2(k,i)\cdotx^{\underline{i}}\),其中\(S2\)表示第二类斯特林数,\(x^{\underlinei}\)表......
  • Codeforces 1097 G Vladislav and a Great Legend 题解 (DP)
    题目链接思路首先看到这种求\(x^k\)形式的,直接无脑转下降幂:\(x^k=\sum_{i=1}^kS2(k,i)\cdotx^{\underline{i}}\),其中\(S2\)表示第二类斯特林数,\(x^{\underlinei}\)表......
  • luoguP5383 普通多项式转下降幂多项式 题解
    学习了bztMinamoto大佬的做法,希望这篇题解可以使得那个方法更加易于理解。既然下降幂多项式转普通多项式可以采取分治\(\operatorname{NTT}\),那么可以猜测逆过来也可以......
  • week1-homework
    week01-homework1,图文并茂解释开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?参考文档:各大开源协议的比较_Robin_zero的博客-CSDN博客_开源协议对比参考文档:细......