首页 > 其他分享 >蓝桥-13届-青蛙过河

蓝桥-13届-青蛙过河

时间:2023-04-07 20:57:22浏览次数:37  
标签:13 right int 2x 青蛙 mid 蓝桥 preSum left

看完没什么思路

就类似于看完一个自然语言描述的问题后,没法把它转换编程模型

题目的意思是y至少要多大,才能足够青蛙跳2x次

因为跳跃过程是可逆的,于是能否往返跳2x次等价于同向跳2x次

由于当y=n时,青蛙不需要踩任何石头直接跳过去,于是y一定是小于等于n的一个数
照这个数我们可以使用二分法提高效率

同时对于每一次,判定的条件究竟是什么?足够跳2x次就变成了:任意y范围内的石头高度总和都>=2x

这哪儿想得到,已经不属于编程问题了

#include <iostream>
#include <vector>
using namespace std;


int n, x;
vector<int> preSum;
bool check(int y) {
	// 检查所有长度为y的区间
	for (int i = 1; i < n - y; i++) {
		int right = i + y - 1;
		if (preSum[right] - preSum[i - 1] < 2 * x) return false;
	}
	return true;
}

int main() {

	cin >> n >> x;
	preSum.resize(n);

	// 利用前缀和提高效率
	for (int i = 1; i <= n; i++) {
		cin >> preSum[i];
		preSum[i] += preSum[i - 1];
	}

	int left = 1, right = n, ans = -1;
	while (left < right) {
		int mid = (left + right) / 2;
		if (check(mid)) ans = mid, right = mid - 1;
		else left = mid + 1;
	}
	cout << ans;
	return 0;
}

标签:13,right,int,2x,青蛙,mid,蓝桥,preSum,left
From: https://www.cnblogs.com/yaocy/p/17294731.html

相关文章

  • 1138. 字母板上的路径
    题目链接:1138.字母板上的路径方法:模拟解题思路为了使得移动次数最小,每次移动方式为,"直角移动"(如下图),但由于\(z\)字母位置的特殊性,当其作为目标字母和当前字母时,为了避免越界问题,需要调整\(x\)和\(y\)方向上移动的顺序。代码classSolution{public:stringalph......
  • 一体全能 多形态转换内外清洁无死角!追觅M13 Beta洗地机评测
    一、前言:追觅推出新款洗地机解决打扫卫生费时费力的痛点对于大多人来说,要想维持住宅的整洁,就必须勤于打扫,但相信大部分人家庭大扫除的印象就是,每次扫完腰酸背痛,部分区域还要经常手动清理,还不一定洗得干净。这也是扫地机器人、手持吸尘器所诞生的目的,在省时省力时带来一尘不染的......
  • 20年来最优秀游戏处理器!AMD锐龙7 7800X3D首发评测:大幅超越i9-13900KS
    一、前言:75W功耗的划时代游戏处理器2022年10月,酷睿i9-13900K震撼面世,虽然功耗高达300W之巨,但在前所未有的强悍游戏性能面前,这不算什么!一块3000元的堆料Z790主板、一个千元的360水冷散热器、一款千瓦金牌电源就能解决处理器的功耗与发热问题。再加上还有降压的玩法,i9-13900K以及......
  • 013.文件与目录管理
    相关概念我们知道Linux的目录结构为树状结构,最顶级的目录为根目录/。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。在开始本教程前我们需要先知道什么是绝对路径与相对路径。绝对路径:路径的写法,由根目录/写起,例如:/usr/share/doc这个目录。相对路径:路径的......
  • proe5.0学习笔记(13)建模练习-管道
    1.建模练习-管道        点击名称下面一行  第一个点和第二个点的位置  ......
  • ASEMI代理AD8130ARZ-REEL7原装ADI车规级AD8130ARZ-REEL7
    编辑:llASEMI代理AD8130ARZ-REEL7原装ADI车规级AD8130ARZ-REEL7型号:AD8130ARZ-REEL7品牌:ADI/亚德诺封装:SOIC-8批号:2023+安装类型:表面贴装型AD8130ARZ-REEL7汽车芯片AD8130ARZ-REEL7特征高速AD8130:270兆赫,1090伏/μs@G=+1AD8129:200兆赫,1060伏/μs@G=+10高CMRR最小94dB,直流至100kH......
  • 113. 路径总和ii
    给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum=22classSolution{private:voiddfs_find(TreeNode*cur,intsum,inttargetSum,vector<int>&path,v......
  • [每天例题]蓝桥杯C语言 成绩分析
    蓝桥杯C语言成绩分析题目    题目分析1.每个学生的得分都是一个0到100的整数。2.输出三行。第一行包含一个整数,表示最高分。第二行包含一个整数,表示最低分。第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。思路分析1.使用数组进行成绩输入,声明为i......
  • 513. 找树左下角的值
    给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。classSolution{public:intfindBottomLeftValue(TreeNode*root){if(root==nullptr)return0;queue<TreeNode*>que;intresult=......
  • [蓝桥杯 2021 国 AB] 翻转括号序列(线段树上二分)
    [蓝桥杯2021国AB]翻转括号序列题目描述给定一个长度为\(n\)的括号序列,要求支持两种操作:将\(\left[L_{i},R_{i}\right]\)区间内(序列中的第\(L_{i}\)个字符到第\(R_{i}\)个字符)的括号全部翻转(左括号变成右括号,右括号变成左括号)。求出以\(L_{i}\)为左端点......