第 29 场 蓝桥·算法入门赛

news2025/5/26 5:15:22

1. 不油腻的星座

"我们只欢迎不油腻的星座!"
在「非哺乳动物星座联盟」的派对上,主持人突然宣布:"请在场的 12 星座中,名字里包含哺乳动物的立刻离场",结果白羊、金牛、狮子、摩羯 44 个星座红着脸拖着行李箱走了。
现在,请问还有多少星座留在现场?

#include <iostream>
using namespace std;
int main(){
  cout<<12-4;
  return 0;
}

 2. 守护神开会

白羊座、金牛座和双子座的守护神正在一条直线上开会。起初,他们分别位于坐标 A、B 和 C 三个不同的位置上。由于他们说话声音都很小,为了能彼此听得更清楚,每次,最外侧(位置坐标最大或最小)的一位守护神要移动到另外两位守护神之间的空隙处,以便他们三靠得更近。

对此,请你算算,他们最多可以进行多少次这样的移动?注意,他们的位置需始终保持不同。

解题思路:把最小值和最小值放到另外两个数直接即可 

#include <iostream>
using namespace std;
int main(){
  int t; cin>>t; int mx=-1;
  while(t--){
    int a,b,c; cin>>a>>b>>c;
    mx=max(abs(a-b),abs(b-c));
    cout<<mx-1<<endl;
  }
  return 0;
}

3. 守护射手座 

 射手星座正遭受来自外星系的攻击!星座中有 N 户居民排成一条直线,第 i 户居民有 Ai​ 人。只有当某户居民人数不少于 M 时,该户才能形成防护罩抵御攻击。
国王可以进行迁移操作:每次选择某一户的所有居民,将他们整体迁移到相邻的左边或右边住户。由于每次迁移都会消耗大量资源,请计算最少需要多少次迁移,才能使所有住户都形成防御罩低于攻击。
如果无论如何都无法实现,输出 −1。
注意:两户居民合并后为一户,不会存在一个空的户。

解题思路:当最后sum==0时, 此时恰好cnt个片段, 需要合并n-cnt 次, 否则, 剩最后一段sum,就合并到最后一个片段中, 特殊的如果cnt==0,  说明 total<m

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n,m; cin>>n>>m; 
    vector<int> a(n);
    for(int i=0;i<n;i++) cin>>a[i];
    long long sum=0;
    int cnt=0;
    long long total=0;
    for(int i=0;i<n;i++){
        sum+=a[i];
        total+=a[i];
        if(sum>=m){
            cnt++;
            sum=0;
        }
    }
    if(sum==0){
        cout<<n-cnt;
    }else{
        if(cnt>0){
            cout<<n-cnt;
        }else{
            if(total<m) cout<<-1;
        }
    }
    return 0;
}

 4.星座骑士

在一次盛大的十二星座大会上,各星座代表齐聚一堂,共同商议组建一支星座守护军队,以应对可能出现的突发情况。这支军队不仅需要强大的战斗力,还需要有卓越的领导才能。经过严格的选拔,最终从十二星座中挑选出了 N 位星座骑士,他们各自展现出独特的能力值,记为 Ai。

为了确保军队的高效运作,会议决定选出两位星座骑士作为左右统帅。然而,统帅的选择并非随意,而是有着特殊的要求:这两位统帅的能力值之和必须与剩余骑士的能力值之和保持相同的奇偶性。这一规定旨在确保军队在战斗时的稳定性,避免潜在的混乱和冲突。

请你帮忙计算一下最终能选出多少种符合条件的统帅组合。

所有骑士能力值总和为偶数时,任意一对都满足条件 

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n; cin>>n;
    long long sum=0;
    for(int i=0;i<n;i++){
        int x; cin>>x;
        sum+=x;
    } 
    if(sum&1) cout<<0;
    else{
        long long ans=1LL*n*(n-1)/2;
        cout<<ans<<endl;
    }
    return 0;
}

 5.狮子座的试炼

2025 年,在狮子座最明亮的那一夜,草原上将举行一场庄严的仪式: N 头年轻的狮子从左到右排成一行,依次编号为 1 到 N,准备接受试炼。

每只狮子都有一种内在特质:犹豫迟疑(用 0 表示)或自信坚定(用 1 表示)。其中,第 ii 头狮子的特质为 Ai​,取值为 0 或 1。

试炼的核心目标是检验群体是否具备王者的凝聚力。狮子座的王者精神不仅体现在个体的勇气中,更体现在群体的信念共振上。因此,试炼要求:

  • 当这群狮子排成一行时,任意连续的、至少包含 2 头狮子的群体中,犹豫迟疑的数量不能超过自信坚定的数量。

为帮助年轻狮子通过试炼,狮子王请来了大祭司。大祭司可施展魔法:将某头狮子的犹豫特质(0)转化为自信特质(1)。 对此,请你计算,最少需要进行多少次魔法,才能使狮群通过试炼。

解题思路:

我们将某些0翻成1视作在最终序列中保留若干 0,其余都翻为1。要求最终序列中不得出现:
连续两个 0("00"),也就是任意两零之间下标差 ≥2。
"0 1 0"的模式,也就是任意两个 0 之间下标差 !=2。
综上等价于:任意两保留下来的"0"在下标上至少间隔 3,其余位置全部变成1即可。

#include <bits/stdc++.h>
using namespace std;
void solve() {
    int n; cin>>n;
    vector<int> a;
    for(int i=0;i<n;i++){
        int x; cin>>x;
        a.push_back(x);
    }
    vector<int> b;
    for(int i=0;i<n;i++){
        if(a[i]==0) b.push_back(i);
    }
    int k=b.size();
    if(k==0) { cout<<0; return; }
    int cnt=1;
    int pre=b[0];
    for(int i=1;i<k;i++){
        if(b[i]>=pre+3){
            cnt++;
            pre=b[i];
        }
    }
    cout<<k-cnt;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    // int t;
    // cin >> t;
    // while (t--) {
        solve();
    // }
    return 0;
}

 6. 星座解密

在一次盛大的星座大会上,各星座代表聚集在一起,讨论如何管理他们的星座力量。每个星座代表都有一个整数值,代表他们的力量,记为 x。

现在,他们面临一个挑战:需要将 x 转换为 0。可以通过以下两种操作来改变这个整数:

  1. 将 x 增加 1(即 x+1)。
  2. 将 x 改为 x&(x+1)(按位与操作)。

星座代表们希望找到将 x 转换为 0 所需的最小操作次数,请你帮助他们计算。

解题思路:二进制数不全为1的时候, & 就数就会变大, 所以, 先x累加成全为1, 然后 & (x+1)

结果就为0了 

#include <bits/stdc++.h>
using namespace std;
bool solve(int x){
  while(x>0){
    if(x%2==0) return false;
    x/=2;
  }
  return true;
}
int main(){
  int x;
  cin>>x;
  int ans=0;
  while(!solve(x)){ x++; ans++; }
  cout <<ans+1<< endl;
  return 0;
}

 感谢大家的点赞和关注,你们的支持是我创作的动力!(其他细节,有时间再补充...) 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2385856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用service 和 SCAN实现sqlplus/jdbc连接Oracle 11g RAC时负载均衡

说明 11.2推出的SCAN &#xff0c;简化了客户端连接&#xff08;当增加或者减少RAC实例时&#xff0c;不需要修改客户端配置&#xff0c;并且scan listener有各个实例的负载情况&#xff0c;可以实现连接时负载均衡。 不过客户端需要使用专门建立的service,而不能用RAC数据库…

防火墙流量管理

带宽管理介绍 针对企业用户流量&#xff0c;防火墙提供了带宽管理功能&#xff0c;基于出/入接口、源/目的安全区域、源/目的地址、时间段、报文DSCP优先级等信息&#xff0c;对通过自身的流量进行管理和控制。 带宽管理提供带宽限制、带宽保证和连接数限制功能&#xff0c;可…

Linux系统移植①:uboot概念

Linux系统移植①&#xff1a;uboot概念 uboot概念 1、uboot是一个比较复杂的裸机程序。 2、uboot就是一个bootloader,作用就是用原于启动Linux或其他系统。uboot最主要的工作就是初始化DDR。因为Linux是运行再DDR里面的。一般Linux镜像zImage&#xff08;uImage&#xff09;设…

DAY 35

import torch import torch.nn as nn import torch.optim as optim from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler import time import matplotlib.pyplot as plt# 设置GPU设…

AWS EC2实例安全远程访问最佳实践

EC2 远程连接方案对比 远程访问 Amazon EC2 实例主要有以下四种方式&#xff1a; Secure Shell (SSH) 远程访问AWS Systems Manager 会话管理器适用于 Linux 实例的 EC2 Serial ConsoleAmazon EC2 Instance Connect SSH 远程访问 SSH&#xff08;Secure Shell&#xff09;广…

【强化学习】#7 基于表格型方法的规划和学习

主要参考学习资料&#xff1a;《强化学习&#xff08;第2版&#xff09;》[加]Richard S.Suttion [美]Andrew G.Barto 著 文章源文件&#xff1a;https://github.com/INKEM/Knowledge_Base 本章更是厘清概念厘到头秃&#xff0c;如有表达不恰当之处还请多多指教—— 概述 环境…

EasyRTC嵌入式音视频通信SDK一对一音视频通信,打造远程办公/医疗/教育等场景解决方案

一、方案概述​ 数字技术发展促使在线教育、远程医疗等行业对一对一实时音视频通信需求激增。传统方式存在低延迟、高画质及多场景适配不足等问题&#xff0c;而EasyRTC凭借音视频处理、高效信令交互与智能网络适配技术&#xff0c;打造稳定低延迟通信&#xff0c;满足基础通信…

网络安全-等级保护(等保) 3-2-1 GB/T 28449-2019 第6章 方案编制活动

################################################################################ GB/T 28449-2019《信息安全技术 网络安全等级保护测评过程指南》是规定了等级测评过程&#xff0c;是纵向的流程&#xff0c;包括&#xff1a;四个基本测评活动:测评准备活动、方案编制活…

【免费使用】剪Y专业版 8.1/CapCut 视频编辑处理,素材和滤镜

—————【下 载 地 址】——————— 【​本章下载一】&#xff1a;https://pan.xunlei.com/s/VOQxk38EUe3_8Et86ZCH84JsA1?pwdkp7h# 【​本章下载二】&#xff1a;https://pan.quark.cn/s/388008091ab4 【​本章下载三】&#xff1a;https://drive.uc.cn/s/d5ae5c725637…

实现rpc通信机制(待定)

一、概述 &#xff08;1&#xff09;rpc&#xff08;remote procedure call, 远程接口调用&#xff09;,就像在本地调用函数一样&#xff0c;是应用组成服务内部分布式的基础功能。应用场景是在内网中的计算&#xff0c;比如&#xff1a;(a) 为上传的一张图片加水印、&#xf…

代码随想录打卡|Day45 图论(孤岛的总面积 、沉没孤岛、水流问题、建造最大岛屿)

图论part03 孤岛的总面积 代码随想录链接 题目链接 视频讲解链接 思路&#xff1a;既然某个网格在边界上的岛屿不是孤岛&#xff0c;那么就把非 孤岛的所有岛屿变成海洋&#xff0c;最后再次统计还剩余的岛屿占据的网格总数即可。 dfs&#xff1a; import java.util.Scanner…

SpringCloud实战:使用Sentinel构建可靠的微服务熔断机制

上篇文章简单介绍了SpringCloud系列Gateway的基本用法以及Demo搭建&#xff0c;今天继续讲解下SpringCloud Gateway实战指南&#xff01;在分享之前继续回顾下本次SpringCloud的专题要讲的内容&#xff1a; 本教程demo源码已放入附件内 技术准备 读者须知&#xff1a; 本教程…

张 Prompt Tuning--中文数据准确率提升:理性与冲动识别新突破

Prompt Tuning–中文数据准确率提升:理性与冲动识别新突破 中文数据,准确率 数据标签三类:冲动21,理性21,(中性设为理性40:说明prompt 修正的有效性) 测试数据:冲动4,理性4,中性设为理性10 为了可视化做了 词嵌入 空间的相似文本计算,但是实际当loss 比较小的时…

深入解析 MySQL 中的 SHOW_ROUTINE 权限

目录 前言 权限作用 授权方法 MySQL8.0.20以上 MySQL8.0.20以下 总结 前言 SHOW_ROUTINE 是 MySQL 中用于控制用户查看存储过程和函数定义的权限。拥有该权限的用户可以通过 SHOW CREATE PROCEDURE 和 SHOW CREATE FUNCTION 等语句查看存储过程和函数的详细定义&#xff…

电脑网络如何改ip地址?ip地址改不了怎么回事

在日常使用电脑上网时&#xff0c;我们有时会遇到需要更改IP地址的情况&#xff0c;比如访问某些受限制的网站、解决网络冲突问题&#xff0c;或者出于隐私保护的需求。然而&#xff0c;许多用户在尝试修改IP地址时可能会遇到各种问题&#xff0c;例如IP地址无法更改、修改后无…

打开小程序提示请求失败(小程序页面空白)

1、小程序代码是商城后台下载的还是自己编译的 &#xff08;1&#xff09;要是商城后台下载的&#xff0c;检查设置里面的域名是不是https的 &#xff08;2&#xff09;要是自己编译的&#xff0c;检查app.js里面的接口域名是不是https的&#xff0c;填了以后有没有保存 注&a…

一张纸决定的高度

从我捧起《格局》这个本书开始&#xff0c;转眼间两个月过去了。 回头望一望&#xff0c;好似还在昨天。 这两个月&#xff0c;心态在变&#xff0c;前进的方向在变&#xff0c;但唯一不变的就是每天晚上睡前&#xff0c;留给自己十分钟的读书时光。 我也从来没想过&#xf…

IP查询基础介绍

IP 查询原理 IP 地址是网络设备唯一标识&#xff0c;IP 查询通过解析 IP 地址获取地理位置、运营商等信息。目前主流的 IPv4&#xff08;32 位&#xff09;与 IPv6&#xff08;128 位&#xff09;协议&#xff0c;前者理论提供约 43 亿地址&#xff0c;后者地址空间近乎无限。…

常见的gittee开源项目推荐

https://gitee.com/macrozheng/mall https://doc.ruoyi.vip/ https://eladmin.vip/ https://gitee.com/dromara/RuoYi-Cloud-Plus https://gitee.com/dromara/RuoYi-Vue-Plus https://gitee.com/ZhongBangKeJi/crmeb_java

日常效率工具【Tools】【持续更新】

日常效率工具【Tools】 VScodevscode原理&#xff08;居然和Chrome同源&#xff09;Chromium(Chrome开源版)node.js:让JavaScript可以运行在wab之外的环境 配置文件setting.jesn vscode快捷键万事不求人&#xff08;Ctrl K,Ctrl S&#xff09;vscode修改光标所在行的背景色Gene…