本题可以看做是一个数学题

因为 在第 1 和第 3 个洒水器之间的 花园灌溉的时间只要

(1 + 3 ) >> 1 - 1 + 1;//这么长的时间 那么我么就可以以此类推到

从而我么可以进行进一步的推广


例如 有10块土地待浇水 那么就是

1 2 3 4 5 6 7 8 9 10

我们假设 洒水器所处的位置为 3 和 6 那么我们发现 9 / 2 是无法整除的,但是我们可以发现 9 / 2 = 4 很明显 4 是靠近 3 的 所以灌溉 4 的时间就是 4 - 3 +1 秒(因为灌溉③这个位置还需要一秒 而其他的就是 进一步灌溉 最后总共的时间就是 2 秒 所以 我们可以得到如下公式来计算时间

(X2 + X1) / 2 - X1 + 1 我们将 3 和 6 代入公式可得 时间为 2

但是记住 是 [(X2 + X1) / 2] 是向下取整 没事咱们int自带向下取整

然后这就是我们的核心代码 接下来讨论的就是我们算完了 中间的数据后要怎样去 计算不在范围内的土地要多少时间才能被灌溉

从题目可以知道一个非常重要的条件那就是 灌溉器的位置是不断增加的 因此最后一个灌溉器的位置一定是最靠近 最后一块土地的

那么我们就可以初始化得到如下代码假设灌溉器的数组为 q 并且有 k 个灌溉器

int ans = max( q[1] , n - q[k] + 1 )

我也不卖关子了 接下来就是 AC代码了

 1 #include <iostream>
2
3 using namespace std;
4
5 const int N = 220;
6 int q[N];
7 int t, n, k;
8 int main()
9 {
10 cin >> t;
11 while (t--)
12 {
13 cin >> n >> k;
14 for (int i = 1; i <= k; i++) cin >> q[i];
15
16 int res = max(q[1], n - q[k] + 1);
17
18 for (int i = 1; i < k; i++)
19 res = max(res, ((q[i] + q[i + 1]) >> 1) + 1 - q[i]);
20 cout << res << endl;
21 }
22 return 0;
23 }

CF 920A Water The Garden的更多相关文章

  1. C - Water The Garden

    It is winter now, and Max decided it's about time he watered the garden. The garden can be represent ...

  2. 【Educational Codeforces Round 37 A】 Water The Garden

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 记录下水龙头在哪些位置. 然后每秒钟把index-i和index+i改变状态一下就好(置1 [代码] #include <bi ...

  3. Codeforces Educational Round 37

    Solved   CodeForces 920A Water The Garden   Solved   CodeForces 920B Tea Queue   Solved   CodeForces ...

  4. D - Garden

    Problem description Luba thinks about watering her garden. The garden can be represented as a segmen ...

  5. Genesis 2.8-2.12

    And the LORD God planted a garden eastward in Eden; and there he put the man whom he had formed. 9 A ...

  6. Educational Codeforces Round 37

    Educational Codeforces Round 37 这场有点炸,题目比较水,但只做了3题QAQ.还是实力不够啊! 写下题解算了--(写的比较粗糙,细节或者bug可以私聊2333) A. W ...

  7. 新概念英语(1-125)Tea for two

    Does Susan have tea by herself?A:Can't you come in and have tea now,Peter? Not yet.B:I must water th ...

  8. 第一册:lesson 125.

    原文: Tea for two. question:Does Susan have tea by herself? Can't you come in and have tea now Piter? ...

  9. Educational Codeforces Round 37 A B C D E F

    A. water the garden Code #include <bits/stdc++.h> #define maxn 210 using namespace std; typede ...

随机推荐

  1. 如何在 Flutter 中集成华为云函数服务

    介绍 云函数是一项 Serverless 计算服务,提供 FaaS(Function as a Service)能力,可以帮助开发者大幅简化应用开发与运维相关事务,降低应用功能的实现门槛,快速构建业务 ...

  2. 防世界之Web_ics-06

    题目: 进入实验环境,发现其他页面啥都没有,题目描述说报表中心数据被删,打开报表中心看看 进入数据中发现url上有?id=1的字样就要注意,敏感起来.id是数值,可以尝试爆破一下. 打开burpsui ...

  3. [故障]ceph存储池权限修改错误,导致存储池的业务hang住

    描述: 记录一次重大事故:根据IaaS资源业务要求,需要增加某些功能,所以要修改部署代码.修改后重推部署代码,检查发现没有什么异常. 但是一段时间后就收到用户的报障反馈,接连一个电话.2个电话.3个电 ...

  4. vscode打开多个文件

    vscode短时间内打开多个文件会覆盖原先打开的文件,在右方编辑区只显示一个.若想每次打开,都新创建一个编辑,可以用以下2个简单的方法: 方法一:直接在右侧打开的文件上,Ctrl + S,保存一次,再 ...

  5. AfterLogicWebMail CSRF导致密码可修改

    实验目的 了解CSRF漏洞导致Webmail管理员帐号密码任意被修改 实验原理 当我们打开或者登陆某个网站的时候,浏览器与网站所存放的服务器将会产生一个会话(cookies),在这个会话没有结束时,你 ...

  6. 自助BI工具是BI行业发展的趋势吗?

    自助BI和分析通过提供交互式数据可视化,图表,图形,报告和分析,帮助业务用户做出决策.将大量数据导出到电子表格以转换为图表和数据透视表的日子现在已经结束.自助BI工具提供基于浏览器的客户端界面,适用于 ...

  7. Centos7使用kubeadm安装1.23.1版本的k8s集群

    系统环境 #cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) #Linux内核一定要大约等于3.10,也就是centos版本要大 ...

  8. RDD的运行机制

    1. RDD 的设计与运行原理 Spark 的核心是建立在统一的抽象 RDD 之上,基于 RDD 的转换和行动操作使得 Spark 的各个组件可以无缝进行集成,从而在同一个应用程序中完成大数据计算任务 ...

  9. SpringMVC教程--Idea中使用Maven创建SpringMVC项目

    1.新建项目 参照idea教程中的创建maven项目https://www.cnblogs.com/daxiang2008/p/9061653.html 2.POM中加入依赖包 (1)指定版本 (2) ...

  10. Qt:QListWidget

    0.说明 QListWidget指明一个基于Item的List Widget. 构造 QListWidget与QListView类似,都可以显示一列Item,区别在于前者可以往其中增删Item. QL ...