第十四届蓝桥杯三月真题刷题训练——第 27 天

第 3 题:地标访问

#include <bits/stdc++.h>
using namespace std;

int n, t;
int x[50005], length[50005], num[2][50005], tot1, tot2;

bool check (int k) {
	int res = 0x7fffffff;
	for (int i = 1; i <= min(tot1, k); ++i) {//i表示负数坐标选取多少个
		if (k - i > tot2) continue;//如果正数个数太多了,就没有后面的事情了
		res = min(res, min(num[0][i], num[1][k - i]) * 2 + max(num[0][i], num[1][k - i]));//就是选取最小的重复走,大的走一遍,取和就行了
	}
	return res <= t;//如果没超时,就可以
}

int main() {
	scanf("%d%d", &t, &n);
	for (int i = 1; i <= n; ++i) {
		scanf("%d", &x[i]);
	}
   sort(x + 1, x + 1 + n);//注意,这里必须要排序
	for (int i = 1; i <= n; ++i) {
		if (x[i] <= 0) num[0][++tot1] = (-x[i]);//负数分组
		else num[1][++tot2] = x[i];//正数分组
	}
	for (int i = 1; i <= (tot1 + 1) / 2; ++i) {
		swap(num[0][i], num[0][tot1 + 1 - i]);//注意,这里负数里面要从大到小来,这就是为什么要排序
	}
	int L = 0, R = n + 1;
	while (L + 1 < R) {//二分
		int mid = (L + R) >> 1;
		if (check(mid)) L = mid;
		else R = mid;
	}
	cout << L << endl;
	return 0;
}
以下是第十四届蓝桥杯Python组真题的部分内容: 一、选择题(每题5分,共40分) 1. 下列哪个不是Python的内置数据类型? A. int B. float C. char D. str 答案:C 2. 下列哪个不是Python的保留字? A. and B. or C. not D. xor 答案:D 3. 下列哪个不是Python的标准模块? A. os B. sys C. math D. timeit 答案:D 4. 下列哪个Python库可以用于科学计算? A. NumPy B. SciPy C. Matplotlib D. All of the above 答案:D 5. 下列哪个Python库可以用于机器学习? A. TensorFlow B. Keras C. PyTorch D. All of the above 答案:D 6. 下列哪个Python库可以用于爬虫? A. Requests B. BeautifulSoup C. Scrapy D. All of the above 答案:D 7. 下列哪个Python库可以用于图像处理? . OpenCV B. Pillow C. Scikit-image D. All of the above 答案:D 8. 下列哪个Python库可以用于游戏开发? A. Pygame B. Panda3D C. PyOpenGL . All of the above 答案:D 二、编程题(每题20分,共60分) 1. 编写一个Python程序,输入一个字符串,将其中的大写字母转换为小写字母,将其中的小写字母转换为大写字母,然后输出转换后的字符串。 2. 编写一个Python程序,输入一个整数n,输出n的阶乘。 3. 编写一个Python程序,输入一个字符串,判断该字符串是否为回文字符串。如果是回文字符串,则输出True,否则输出False。 以上是部分内容,完整的第十四届蓝桥杯Python组真题可以在蓝桥杯官网上找到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值