public class 农场里饲养了N只兔子 {
private static int[][] rabbit;
private static int time;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
rabbit = new int[n][2];
for (int i = 0; i < n; i++) {
int high = scanner.nextInt();
rabbit[i][0] = high;
}
time = scanner.nextInt();
int start = scanner.nextInt();
water(start);
int a = 0;
int b = 0;
int c = 0;
for (int[] rab : rabbit) {
if (rab[1] == 0) {
a++;
} else if (rab[1] > 2) {
c++;
} else {
b++;
}
}
System.out.println(a + " " + b + " " + c);
}
private static void water(int start) {
if (time <= 0) {
return;
}
int startLine = (rabbit[start][0] + rabbit[start][1]);
int leftLine = startLine;
int j = (start - 1);
int leftIndex = start;
while (j >= 0) {
if (rabbit[j][0] + rabbit[j][1] > leftLine) {
break;
}
if (rabbit[j][0] + rabbit[j][1] < leftLine) {
leftLine = rabbit[j][0] + rabbit[j][1];
leftIndex = j;
}
j--;
}
int rightLine = startLine;
int rightIndex = start;
int l = (start + 1);
while (l < rabbit.length) {
if (rightLine < rabbit[l][0] + rabbit[l][1]) {
break;
}
if (rightLine > rabbit[l][0] + rabbit[l][1]) {
rightLine = rabbit[l][0] + rabbit[l][1];
rightIndex = l;
}
l++;
}
if (leftLine == startLine && rightLine < startLine) {
rabbit[rightIndex][1]++;
time--;
water(start);
return;
}
if (leftLine < startLine) {
rabbit[leftIndex][1]++;
time--;
water(start);
return;
}
rabbit[start][1]++;
time--;
water(start);
}
}
相关推荐
rk3568 android 11.0 userdata 改为ext4格式
功能:解决设备在恢复出厂设置进行擦除数据的时候卡住问题。 1.修改userdata分区为ext4格式 diff --git a/device/rockchip/common/scripts/fstab_tools/fstab.in b/device/rockchip/common/scripts/fstab_tools/fstab.in index 583e75579d..036336835d 100755 --- a/device/rockchip/common/scripts/fstab_tools/
P1081 [NOIP2012 提高组] 开车旅行
今天zty带来的是 P1081 [NOIP2012 提高组] 开车旅行 ,大家给个赞呗,zty放寒假的更新呢是会多起来的大概一天三四个吧,zty最近在冲榜大家多加支持先 赞 后 看 养 成 习 惯先 赞 后 看 养 成 习 惯。
Verilog——反相器
反相器代码: module inv( A, Y );//A,Y是端口 //定义端口属性 input A; output Y; //定义输入输出关系 assign Y=~A;//Y等于A的反 endmodule //inv是module的名字
NOIP2012提高组day1-T3:开车旅行
NOIP2012提高组day1-T3:开车旅行,倍增法优化动态规划。
数学分析五领域全景:实分析、复分析、泛函分析、傅里叶分析、凸分析
五种分析,五种视角,同一个目标。理解一个系统,首先要找到它的不变量。
RK3588 Linux启动优化至亚秒级全链路剖析
本文深入探讨RK3588平台Linux系统启动加速技术,涵盖从BL1/ATF安全固件、U-Boot剪裁到内核精简化等全链路优化方案,实现从上电到用户脚本800ms内完成的实战经验。文末提供完整解决方案获取方式。由于在 ARMv6 之后引入了 TrustZone 模块, 目前市面上 ARMv7 和 ARMv8 之后的系统都会包含了该模块, 这个模块由 BL1 启动, 且在 ATF(ARM Trust Firmware) 固件中, 既安全世界中引导到 BL33 (UBOOT)的系统。
[NOIP2012 提高组] 开车旅行(含代码)
小A和小B决定利用假期外出旅行,他们将想去的城市从 $1 $ 到n编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i的海拔高度为hi,城市i和城市j之间的距离dij恰好是这两个城市海拔高度之差的绝对值,即dij∣hi−hj∣。旅行过程中,小A和小B轮流开车,第一天小A开车,之后每天轮换一次。他们计划选择一个城市s作为起点,一直向东行驶,并且最多行驶x公里就结束旅行。小A和小B。
【学习记录】IIC驱动ICM42670+卡尔曼滤波+四元数姿态角解算
ICM42670陀螺仪可以使用iic驱动,单片机平台使用GD32f305VE。
P1081 [NOIP 2012 提高组] 开车旅行
本文提出了一种基于倍增预处理的高效算法,解决城市旅行中驾驶路线规划问题。算法分为两个主要部分:预处理阶段和查询处理阶段。在预处理阶段,首先使用平衡树维护城市海拔信息,快速查找每个城市的最近和次近目的地;然后通过动态规划构建倍增表,记录不同跳跃步数下的行驶信息。查询阶段利用倍增思想快速计算从任意起点出发的行驶距离。该算法将每次查询的时间复杂度优化至O(log n),显著提高了大规模数据下的处理效率。实验结果表明,该方法能够正确处理各种边界情况,包括海拔相同距离的城市选择等复杂场景。
MicroPython学习:在STM32上进行移植
本文将介绍如何在STM32上移植MicroPython,并提供相应的源代码。通过以上步骤,你已经成功地将MicroPython移植到STM32上,并可以使用MicroPython语言编写和运行代码。你可以进一步探索MicroPython的功能和API,以利用STM32的各种外设和功能。使用STM32CubeProgrammer或其他适当的烧录工具,将编译生成的MicroPython固件烧录到STM32微控制器中。打开该文件,并根据你的STM32微控制器类型进行必要的配置更改。模块来控制STM32的LED。
基于matlab的CNN手写数字图像矫正系统
CNN 是一款强大的图像特征抽象和提取工具,常用于图像分类识别,并取得了较为理想的效果。我们通过 MATLAB 可以方便地设计不同结构、不同深度的 CNN 进行图像分类,最后一层一般设置为分类层(ClassificationLayer)进行类别标签的输出。如果我们将最后一层设计为回归层(RegressionLayer),则可以将其应用于对连续数据的预测,这对于曲线拟合、预测分析都有重要的意义。% 自定义 CNN 回归网络结构layers = [% 输入% 卷积% 池化% 池化% 卷积。
NOIP2012提高组.开车旅行
出发能走到的位置, 对于题目的第一个询问, 扫描一遍所有位置, 计算比值, 对于第二个询问直接模拟会。从起始位置从一个位置出发, 走到的终点是。走过的距离, 这样就可以迅速的计算出询问。找到前面和它差最小的一个数输出。从每个城市走最终能到达的城市。还要预处理走过的距离, 分为。数组, 有下面四个情况,走过的距离, 后两项代表。, 因此可以预处理小。
基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码
基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码
打卡信奥刷题(683)用Scratch图形化工具信奥B3894[普及组/提高] [NICA #3] 开车旅行
Aya 的学校组织了一场春游,春游的目的地是滨江森林公园。由于路途遥远,他们的行程会经过高速和地面道路。学校所承包的大巴,在高速上是以a千米/小时的速度匀速行驶,高速上一共行驶了b小时;在地面上是以c千米/小时的速度匀速行驶,地面上一共行驶了d小时。
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
[BJOI2017]开车
一、题目 点此看题 二、解法 首先要明确答案如何算,方法为考虑每一条边的贡献,我们称两点之间的距离为边,那么这条边的贡献就是 距离乘上必须要经过它的车数(也就是左边的车减去车站 的绝对值): ∑dis×∣car−stop∣\sum dis\times |car-stop|∑dis×∣car−stop∣那么第一次就很容易算了,绝对值这个东西很不好维护,我们可以靠虑分块,当然我们这里是对边分块,所以我...
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
[NOIP2012 提高组] 开车旅行
小A和小B决定利用假期外出旅行,他们将想去的城市从 $1 $ 到n编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i的海拔高度为hi,城市i和城市j之间的距离dij恰好是这两个城市海拔高度之差的绝对值,即dij∣hi−hj∣。旅行过程中,小A和小B轮流开车,第一天小A开车,之后每天轮换一次。他们计划选择一个城市s作为起点,一直向东行驶,并且最多行驶x公里就结束旅行。小A和小B。
开车旅行【DP】【倍增】【双向链表】
>Link luogu P1081 ybtoj开车旅行 >Description >解题思路 先预处理nnn个点,从每一个点出发,最近的下个点和第二近的下个点 因为距离为两点的海拔高度差,那我们就可以先按照海拔高度排个序,那最近的点就在它的前驱和后驱之中,第二近的点就在前驱、后驱、前驱的前驱、后驱的后驱之中 那我们从111到nnn处理完一个点后,要把当前点删去,因为题目规定了后面的点不能到达前面的点 这个可以用双向链表维护,也可以用平衡树 (要注意是否越界QwQ) 对于第二个问题,由
题解 P1081 【开车旅行】
小 A\text{A}A 和小 B\text{B}B 决定利用假期外出旅行,他们将想去的城市从 $1 $ 到 nnn 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 iii 的海拔高度为hih_ihi,城市 iii 和城市 jjj 之间的距离 di,jd_{i,j}di,j 恰好是这两个城市海拔高度之差的绝对值,即 di,j=∣hi−hj∣d_{i,j}=|h_i-h_j|di,j=∣hi−hj∣。 旅行过程中,小 A\text{A}A 和小 B\text{.
开车旅行NOIP2012(倍增优化)
题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为Hi,城市 i 和城市 j 之间的距离 d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i,j] = |Hi− Hj|。 旅行过程中,小 A 和小 B 轮流开车,第一天小 A 开车,之后每天轮换一次。他们计划选择一个城市 S 作为起点,一直向东行驶,并且最多行驶 X 公里就结束旅行。小 A 和小 B的驾驶风格不同,小
中国邮路问题特殊情况-AtCoder dwango2015 finals 3 ドライブ 开车兜风题解
本文探讨了中国邮路问题的一个特殊情形,即边权为2^i的图中,从点1出发遍历所有边并返回的最小路径和问题。通过建立DFS生成树,利用割边性质和欧拉回路要求,将问题转化为奇点配对,采用从下至上的合并策略计算最优解。最终实现O(N+M)时间复杂度的算法,并给出对应代码实现。该问题虽然冷门但颇具趣味性,适合算法竞赛训练。
P3992 [BJOI2017]开车
题目链接 题目描述 有 nnn 辆车,分别在 a1,a2,…,ana_1, a_2, \ldots , a_na1,a2,…,an 位置和 nnn 个加油站,分别在 b1,b2,…,bnb_1, b_2, \ldots ,b_nb1,b2,…,bn 位置。 每个加油站只能支持一辆车的加油,所以你要把这些车开到不同的加油站加油。一个车从 xxx 位置开到 yyy 位置的代价为 ∣x−y∣|x-y|∣x−y∣,问如何安排车辆,使得代价之和最小。 同时你有 qqq 个操作,每次操作会修改第 iii 辆
P1081 开车旅行
题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 i 和城市 j 之间的距离 d[i,j]恰好是这两个城市海拔高度之差的绝对值,即 d[i,j] = |Hi− Hj|。 旅行过程中,小 A 和小 B 轮流开车,第一天小 A 开车,之后每天轮换一次。他...
贪心算法--加油站、公路问题
我先自己手动模拟了一下,假设我自己去加油。我会先在第1站加油开去第2站,第2站的油价比第3更便宜,但是比第4站的油价高,所以我就开两站去第4站,最后从第4站开到终点站第5段。总之就是哪站便宜我就加油,直到我看到更便宜的油价的加油站我才停下来。 (每次都加目前最便宜的油,体现贪心!)
LOJ #2604. 「NOIP2012」开车旅行
题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 111 到 NNN 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 iii 的海拔高度为 HiHiHi,城市 iii 和城市 jjj 之间的距离 di,jd_{i, j}di,j 恰好是这两个城市海拔高度之差的绝对值,即 di,j=∣Hi−Hj∣d_{i, j} = |H_i - H...
P1967-开车旅行
1 #include <bits/stdc++.h> 2 #define _for(i,a,b) for(int i = (a);i < b;i ++) 3 #define _rep(i,a,b) for(int i = (a);i > b;i --) 4 #define INF 0x3f3f3f3f 5 #define pb pu...
2576



被折叠的 条评论
为什么被折叠?



