目录

蓝桥杯2024B组

[蓝桥杯 2024 国 B] 立定跳远

二分查找

二分查找:通常用于在有序集合快速查找到目标值。但当问题满足以下条件时,也可以使用二分查找来解决最优化问题:

解的范围明确有序:需要确定解的可能范围,且该范围具有单调性。例如,当某个候选值满足条件时,更大(或更小)的值也一定满足条件。

存在高效的验证方法:能够快速判断某个候选值是否满足问题的条件。

cpp 复制代码
#include <iostream>
using namespace std;

int n, m;
int a[100010]; // 确保数组足够大以容纳原点和所有检查点

int check(int x) {
    int ans = 0;
    for (int i = 1; i <= n; i++) { // 处理所有相邻差,包括原点到第一个检查点
        int d = a[i] - a[i - 1];
        if (d > x) { // 仅当距离超过x时才需要分割
            ans += (d % x == 0) ? (d / x - 1) : (d / x);
        }
    }
    return ans <= m + 1; // 允许通过爆发技能减少一个检查点需求
}

int main() {
    cin >> n >> m;
    a[0] = 0; // 将原点0作为第一个元素
    for (int i = 1; i <= n; i++) {
        cin >> a[i]; // 输入的检查点存储在a[1]到a[n]
    }
    int l = 1, r = 1e8; // 左边界从1开始,避免除以零错误
    while (l < r) {
        int mid = (l + r) >> 1;
        if (check(mid)) {
            r = mid;
        } else {
            l = mid + 1;
        }
    }
    cout << l << endl;
    return 0;
}

B: 小球反弹

下述代码分别使用cout和printf输出

cout用了科学计数法,其结果相同
要让 cout 的输出格式与 printf 一致(例如,以浮点数形式显示所有小数位),你需要手动控制 cout 的小数位数和输出格式(禁用科学计数法)。cout << fixed << setprecision(6) << value << endl; // 强制6位小数

cpp 复制代码
#include <iostream>
#include <vector>
#include<set>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <climits>  // 包含INT_MAX常量
#include <cctype>
#include<map>
using namespace std;

int main(){
	for(long long i=2;i<10000;i+=2){
		for(long long j=2;j<10000;j+=2){
			if(343720*i*17==233333*j*15){
				cout<<sqrt((343720*i)*(343720*i)+(233333*j)*(233333*j))<<endl;
				printf("%f",sqrt((343720*i)*(343720*i)+(233333*j)*(233333*j)));
				return 0;
			}
		}
	}
return 0;
}

好数

cpp 复制代码
#include <iostream>
#include <vector>
#include<set>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <climits>  // 包含INT_MAX常量
#include <cctype>
#include<map>
using namespace std;

int main(){
	int n,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		int num=i;
		for(int j=1;num;j++){
			if((num%10)%2==j%2)
				num/=10;
			else break; 
		}
		if(num==0)ans+=1;
	}
	cout<<ans;
return 0;
}

R 格式

cpp 复制代码
#include <iostream>
#include <vector>
#include<set>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <climits>  // 包含INT_MAX常量
#include <cctype>
#include<map>
using namespace std;
int n;
double t;
int main(){
	cin>>n>>t;
	cout<<(unsigned long long)(t*(1ULL<<n)+0.5); 
return 0;
}

只能通过一半用例

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
JNTeresa1 小时前
预测蓝桥杯16届嵌入式省赛客观题
职场和发展·蓝桥杯
菜鸟00883 小时前
蓝桥杯 第十天 2019国赛第4题 矩阵计数
算法·职场和发展·蓝桥杯
遥感小萌新4 小时前
【蓝桥杯】4535勇闯魔堡(多源BFS + 二分)
职场和发展·蓝桥杯·宽度优先
wuqingshun3141594 小时前
蓝桥杯 R格式
c语言·c++·算法·职场和发展·蓝桥杯·r语言
独行soc4 小时前
2025年渗透测试面试题总结-某shopee -红队-Singapore(题目+回答)
面试·职场和发展
葡萄成熟时_4 小时前
【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】A题解题全流程(持续更新)
人工智能·python·数据挖掘·蓝桥杯
昂子的博客5 小时前
热门面试题第14天|Leetcode 513找树左下角的值 112 113 路径总和 105 106 从中序与后序遍历序列构造二叉树 (及其扩展形式)以一敌二
java·数据结构·算法·leetcode·职场和发展
最好的药物是乌梅6 小时前
【蓝桥杯速成】| 12.回溯排列&N皇后
数据结构·算法·leetcode·蓝桥杯
测试杂货铺8 小时前
Web自动化测试详细流程和步骤
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
wuqingshun3141598 小时前
蓝桥杯 整数变换
数据结构·c++·算法·职场和发展·蓝桥杯