当前位置: 首页 > news >正文

第二十九场 蓝桥算法赛

是的你没看错 依旧惨败 只有 仅仅 完成一题 还是半对

2.守护神开会

2.守护神开会【算法赛】 - 蓝桥云课

我当时怎么就是没想起来呢 八嘎八嘎 今天下午三分钟做出来了

就是简单的判断三个数间距的大小

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner myin = new Scanner(System.in);int n=myin.nextInt();int arr[][] = new int[n][3];for(int i=0;i<n;i++){for (int j = 0; j < 3; j++) {arr[i][j]=myin.nextInt();}int ans=Math.max(arr[i][1]-arr[i][0],arr[i][2]-arr[i][1]);//间距要减一System.out.println(ans-1);}for(int i=0;i<n;i++){}}
}

3.蓝桥ACM赛 星座骑士(张辉 5.24)

链接蓝桥账户中心

思路 通过二层循环中的i,j 用来作为函数的标记 在副函数中通过这两个值 跳过增加

下面是代码 但是我目前感觉自己到了一定的瓶颈 什么都会去思考如何使用双层循环 但是这样的话时间复杂度就是O(n^2) 不简单

import java.util.Scanner; 
public class LANACM1 {public static void main(String[] args) {Scanner myin = new Scanner (System.in);int n=myin.nextInt();int arr[]= new int[n];for(int i= 0  ; i<n ; i++){arr[i]=myin.nextInt();} int ans=0;for(int i=0 ; i<n ; i++){for(int j=i+1; j<n;j++){int su=arr[i]+arr[j];int ss=tosum(arr,i,j);if(su%2==0&&ss%2==0 || su%2!=0&&ss%2!=0){ans++;}}}System.out.println(ans);}public static int tosum(int arr[],int i , int j){int sum=0;for(int cou=0;cou<arr.length;cou++){if(cou!=i&&cou!=j){sum+=arr[cou];}}return sum;}
}

豆包真的是天才 我也应该想到的 先计算数组中全部元素的和

然后在下面的二层循环中减去两个数 在进行比较

果然什么时候逆向思维都是最难的思考的

3.星座骑士更新(张辉6.6)

事实证明 万物的尽头都是数学

  1. 奇数 - 偶数 = 奇数
  2. 偶数 - 奇数 = 奇数

所以代码修改 保证运行不会超时

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner myin = new Scanner(System.in);long n = myin.nextInt();//long arr[] = new long[n];long totalSum = 0,ans=0;for (int i = 0; i < n; i++) {//arr[i]=myin.nextInt();totalSum+=myin.nextInt();}if(totalSum%2==0&& n!=2){ans=(n*(n-1))/2;}
System.out.println(ans);
}
}

6.星座解密(压轴)

题目链接 6.星座解密【算法赛】 - 蓝桥云课

这一次的压轴题给我一种一眼就有思路的感觉  但是开始下手之后却没有那么顺利 

我考虑到了目标函数一定是2的n次方减1  却没有想到应该如何表示 看了题解之后才发现 这个数的二进制一定全是“1”  所以代码如下

import java.util.Scanner;
public class lianqiaobest {public static void main(String[] args) {Scanner myin = new Scanner(System.in);int n=myin.nextInt(),ans=1;//System.out.println(ll);for (int i = 0; ; i++) {String ll=Integer.toBinaryString(n);if(!(ll.contains("0"))){break;}ans++;n+=1;}System.out.println(ans);}
}

相关文章:

  • 华为OD机试_2025 B卷_运维日志排序(Python,100分)(附详细解题思路)
  • 136. 只出现一次的数字
  • CSP 2024 入门级第一轮(88.5)
  • NodeJS中老生代和新生代和垃圾回收机制
  • Luckfox Pico Pi RV1106学习<3>:支持IMX415摄像头
  • 深度学习:PyTorch自动微分模块
  • 修改了xml布局代码,页面使用了databinding,此时不开启kapt也可以吗
  • Yolo11改进策略:Block改进|MKP,多尺度卷积核级联结构,增强感受野适应性|即插即用|AAAI 2025
  • c++26新功能—契约与概念
  • 华为OD-2024年E卷-英文输入法[100分] -- python
  • 深入实践Caffeine+Redis两级缓存架构:从原理到高可用设计
  • ubuntu 22.04 安装部署elk(elasticsearch/logstash/kibana) 7.10.0详细教程
  • 【JVM】- 内存模式
  • 如何在Windows上使用qemu安装ubuntu24.04服务器?
  • 【Elasticsearch】文档(二):更新
  • 变幻莫测:CoreData 中 Transformable 类型面面俱到(四)
  • Matlab数字信号处理——基于GUI的ECG信号处理平台设计与实现
  • 解决docker下的Linux系统调用GPU失败
  • STM32 HAL库学习 RNG篇
  • 国产操作系统-银河麒麟本地化部署Ollama国产开源的AI大模型Qwen3
  • 运城网站建设多少钱/百度百度一下就知道
  • 中山网站建设华联在线/搜索引擎优化论文
  • 石家庄做网站公司/营销软文300字
  • 推荐一些电商平台/网站推广优化的原因
  • 日本网站制作/关键词优化排名第一
  • 公司百度网站建设/培训方案怎么做