4.9周末学习日记(初试蓝桥杯)

news/2024/4/26 0:09:13/文章来源:https://blog.csdn.net/jdjdhdha/article/details/130049958

今天,可太充实了,学习就是王道!

好就没有在周末全勤学习了,梦回高中.

本来早上是在看啊哈算法,前面部分发现好像都学习过就当复习了

但是看到了快排就忍不住想打一下

#include<stdio.h>
int a[100];void quiksort(int x,int y){
if(x>=y)return ;
int head=a[x];
int j=x;
int k=y;
while(j<k){
while(a[k]>head&&k>j)k--;
while(a[j]<head&&j<k)j++;if(j!=k){int teap=a[j];a[j]=a[k];a[k]=teap;}else{int teap=a[x];a[x]=a[j];a[j]=teap;}
}
quiksort(x,j-1);
quiksort(j+1,y);
}

最基础的原版快排

但是会被特殊的数据卡比如全是一样的那样的话就会退化,

正当我要继续研究的时候,同学给我发来了

蓝桥杯的题目,没话说直接开搞哈哈

第一题不想讲,(我题目看错了,刚开始还写错了,其实暴力就可以搞定的拉)

 2

试题 B: 01 串的熵
本题总分:5 分
【问题描述】
对于一个长度为 n 的 01 串 S = x1 x2 x3...xn,香农信息熵的定义为 H(S ) =
−Σ n 1 p(xi)log2 (p(xi)),其中 p(0), p(1) 表示在这个 01 串中 0 和 1 出现的占比。
比如,对于 S = 100 来说,信息熵 H(S ) = − 1 3 log2 ( 1 3  − 2 3 log2( 2 3 ) − 2 3 log2 ( 2 3 ) =
1.3083。对于一个长度为 23333333 的 01 串,如果其信息熵为 11625907.5798,
且 0 出现次数比 1 少,那么这个 01 串中 0 出现了多少次?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
不要交,用人脑肯定不行
所以我用计算机来
#include<stdio.h>
#include<math.h>double n;int pan(double sum){if(abs(sum-n)<0.00001)return 1;
else{return 0;
}}int main(){double y;
scanf("%lf",&n);
double sum;
for(y=12305905+7;y<=23333333;y++){sum=0;
double x=23333333-y;
double l=x/23333333;
double k=y/23333333;sum=-y*k*log2(k)-x*l*log2(l);if(pan(sum)){printf("%lf\n",sum);break;}
}
printf("%lf",y);
return 0;
}12305912
b
Log函數以及暴力枚舉測試

不知道为何,精度不是我想要的0.00001

所以我确定答案的大概范围之后一个数一个数的加

最后找到了

12305912

如果计算式没写错

 计算结果与题目基本符合

当然没办法验证正确性

我只是写了我认为正确的答案

ok

下一个

3.

试题 C: 冶炼金属
时间限制: 1.0s
内存限制: 256.0MB
本题总分:10
【问题描述】
小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个
炉子有一个称作转换率的属性 VV 是一个正整数,这意味着消耗 V 个普通金
O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 V 时,无法
继续冶炼。
现在给出了 N 条冶炼记录,每条记录中包含两个整数 A B,这表示本次
投入了 A 个普通金属 O,最终冶炼出了 B 个特殊金属 X。每条记录都是独立
的,这意味着上一次没消耗完的普通金属 O 不会累加到下一次的冶炼当中。
根据这 N 条冶炼记录,请你推测出转换率 V 的最小值和最大值分别可能是
多少,题目保证评测数据不存在无解的情况。
【输入格式】
第一行一个整数 N,表示冶炼记录的数目。
接下来输入 N 行,每行两个整数 AB,含义如题目所述。
【输出格式】
输出两个整数,分别表示 V 可能的最小值和最大值,中间用空格分开。
【样例输入】
3
75 3
53 2
59 2
【样例输出】
20 25
1,一看我就找到了最大的效率数了(最大的其实就是要的石头多)
       !就是全部的数据转化效率最低的!
只要再大效率1,那末转化的金属就会减少

2,反之转化最小的就是,效率最小的

!就是从转化率最大的来!

只要转化率再变小一点点,那么转化的金属就会变多

ok上代码

#include<stdio.h>
int a[10020];
int b[10020];int main(){
int n;
scanf("%d",&n);
for(int j=1;j<=n;j++){scanf("%d%d",&a[j],&b[j]);
}
float minr=9999999999,max=0;
int mark=1;
int ans;
for(int h=1;h<=n;h++){if(minr>(a[h]/b[h]))minr=a[h]/b[h];if(max<a[h]/b[h]){max=a[h]/b[h];mark=h;}
}for(int g=(int)minr;;g--){if(a[mark]/g!=b[mark]){ans=g+1;//下一個就不滿足了,所以這個是最小的break;}
}
printf("%d %d",ans,(int)minr);
return 0;
}

 哈哈下一个

试题 D: 飞机降落
时间限制: 2.0s
内存限制: 256.0MB
本题总分:10
【问题描述】
N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti 时刻
到达机场上空,到达时它的剩余油料还可以继续盘旋 Di 个单位时间,即它最早
可以于 Ti 时刻开始降落,最晚可以于 Ti + Di 时刻开始降落。降落过程需要 Li
个单位时间。
一架飞机降落完毕时,另一架飞机可以立即在同一时刻开始降落,但是不
能在前一架飞机完成降落前开始降落。
请你判断 N 架飞机是否可以全部安全降落。
【输入格式】
输入包含多组数据。
第一行包含一个整数 T,代表测试数据的组数。
对于每组数据,第一行包含一个整数 N
以下 N 行,每行包含三个整数:TiDi Li
【输出格式】
对于每组数据,输出 YES 或者 NO,代表是否可以全部安全降落。
【样例输入】
2
3
0 100 10
10 10 10
0 2 20
3
试题D: 飞机降落
6第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 B
0 10 20
10 10 20
20 10 20
【样例输出】
YES
NO
【样例说明】
对于第一组数据,可以安排第 3 架飞机于 0 时刻开始降落,20 时刻完成降
落。安排第 2 架飞机于 20 时刻开始降落,30 时刻完成降落。安排第 1 架飞机
30 时刻开始降落,40 时刻完成降落。
对于第二组数据,无论如何安排,都会有飞机不能及时降落。
【评测用例规模与约定】
对于 30% 的数据,N 2
对于 100% 的数据,1 T 101 N 100 Ti , Di , Li 105
哇我一看,这不是要贪心呀,有点要命了,再一看呀n就10 爱了爱了
直接开启搜索dfs到你表演了
就是把每一架飞机当头搜索一下,
只要有一条路是通的就认为可以降落的
上代码
#include<stdio.h>
int b[11]= {0};
int n,k,l=0;struct node
{int s;int e;int lo;} a[11];void newr()
{l=0;for(int j=1; j<=10; j++)b[j]=0;
}void dfs(int x,int time)
{if(x>=k){l=1;return ;}else{for(int u=1; u<=k; u++){if(b[u]==0&&a[u].s>=time)//时间够不用在天上盘旋就可以飞{int j=a[u].s+a[u].lo;b[u]=1;dfs(x+1,j);b[u]=0;}else if(b[u]==0&&a[u].s+a[u].e>=time)//有可能时间不够但是在天上盘旋一会就可以了{int j=time+a[u].lo;b[u]=1;dfs(x+1,j);b[u]=0;}else{return ;}}}
}int main()
{scanf("%d",&n);for(int j=1; j<=n; j++){newr();scanf("%d",&k);for(int h=1; h<=k; h++)scanf("%d%d%d",&a[h].s,&a[h].e,&a[h].lo);dfs(1,0);if(l==0)printf("NO\n");elseprintf("YES\n");}return 0;
}

 记得回塑

以及地图标记

okoko 再下一个

试题 E: 接龙数列

时间限制: 1.0s

内存限制: 256.0MB

本题总分:15

【问题描述】

对于一个长度为 K 的整数数列:A1, A2, . . . , AK,我们称之为接龙数列当且

仅当 Ai 的首位数字恰好等于 Ai1 的末位数字 (2 i K)

例如 12, 23, 35, 56, 61, 11 是接龙数列;12, 23, 34, 56 不是接龙数列,因为 56

的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。

现在给定一个长度为 N 的数列 A1, A2, . . . , AN,请你计算最少从中删除多少

个数,可以使剩下的序列是接龙序列?

【输入格式】

第一行包含一个整数 N

第二行包含 N 个整数 A1, A2, . . . , AN

【输出格式】

一个整数代表答案。

【样例输入】

5

11 121 22 12 2023

【样例输出】

1

【样例说明】

删除 22,剩余 11, 121, 12, 2023 是接龙数列。

试题 E: 接龙数列

8第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 B

【评测用例规模与约定】

对于 20% 的数据,1 N 20

对于 50% 的数据,1 N 10000

对于 100% 的数据,1 N 1051 Ai 109。所有 Ai 保证不包含前导 0

好家伙我一看原来是dp呀

再看了一会和最大递增子序列好像啊

不能说不不一样,只能说几乎差不多呀,就是把判断的条件变难了那么一点点(可以忽略不计)

废话不讲直接上代码

#include<stdio.h>
int a[100050],b[100050];
int c[100050],j=0;int pan(int x,int y){while(y>10)y=y/10;if(x%10==y)
return 1;
else
return 0;
}int main(){
int n;
scanf("%d",&n);
for(int g=1;g<=n;g++)
scanf("%d",&a[g]);for(int j=1;j<=n;j++){b[j]=1;c[j]=a[j];
}for(int kl=2;kl<=n;kl++){for(int y=kl-1;y>=1;y--){if(pan(a[y],a[kl])){if(b[kl]<b[y]+1)b[kl]=b[y]+1;}}
}
printf("%d",n-b[n]);return 0;
}

就保留下最长的满足条件的子序列,其他的都是删除的 (我是不会告诉你我忘了一些,回去看了看我之前写的题目才返回来写的,我是菜狗!!!!!汪汪汪)

后面的改日再战(其实是被暴打了,呜呜呜呜呜呜呜)

ok 今天到这就结束了

撒花谢幕!!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用篇丨链路追踪(Tracing)很简单:链路实时分析、监控与告警

作者&#xff1a;涯海 前文回顾&#xff1a; 基础篇&#xff5c;链路追踪&#xff08;Tracing&#xff09;其实很简单 使用篇&#xff5c;链路追踪&#xff08;Tracing&#xff09;其实很简单&#xff1a;请求轨迹回溯与多维链路筛选 在前面文章里面&#xff0c;我们介绍了…

HTML表单和CSS属性以及DOM实现网页版计算器

目录 1、效果展示 2、源码 2.1HTMLCSS源码 2.2JS源码 3、CSS属性 3.1width、height属性 3.2font-size属性 3.3margin属性 3.4padding属性 3.5background-color属性 3.6border属性 3.7border-radius属性 3.8text-align属性 4、DOM 4.1根据id获取元素 4.2根据nam…

HTML5 <hr> 标签、HTML5 <h1> 至 <h6> 标签

HTML5 <hr> 标签 实例 当内容的主题发生变化时&#xff0c;使用 <hr> 标签进行分隔&#xff1a; <h1>HTML</h1> <p>HTML 是用于描述 web 页面的一种语言。</p><hr><h1>CSS</h1> <p>CSS 定义如何显示 HTML 元素。…

HarmonyOS/OpenHarmony应用开发-ArkTS画布组件CanvasRenderingContext2D对象(十一)

measureText measureText(text: string): TextMetrics 该方法返回一个文本测算的对象&#xff0c;通过该对象可以获取指定文本的宽度值。 示例&#xff1a; // xxx.etsEntryComponentstruct MeasureText { private settings: RenderingContextSettings new RenderingConte…

如何压缩照片到30kb以下?三个方法

如何压缩照片到30kb以下&#xff1f;随着网络的发展&#xff0c;我们经常要上传一些照片到网上&#xff0c;如公务员考试&#xff0c;教师招聘等&#xff0c;而且要求上传的照片大小不超过30kb&#xff0c;我们如何把照片压缩到30kb以下呢&#xff1f;现在很多平台上传图片时都…

Ae:表达式应用基础

通过几个最常用的变量及函数&#xff08;方法&#xff09;来了解 Ae 表达式。有关表达式语言语法基础&#xff0c;请参阅&#xff1a;《Ae&#xff1a;表达式语法基础》◆ ◆ ◆时间相关time返回合成的当前时间值&#xff0c;以秒为单位。比如&#xff0c;当处于 1 秒的时间点…

【论文总结】针对操作系统级虚拟化的抽象资源攻击

介绍 这是一篇来自2021CCS的论文&#xff0c;作者有Nanzi Yang, Wenbo Shen, Jinku Li, Yutian Yang, Kangjie Lu, Jietao Xiao, Tianyu Zhou, Chenggang Qin, Wang Yu, Jianfeng Ma, Kui Ren。 概述 本文的贡献如下&#xff1a; 新的攻击面&#xff1a;作者揭示了一个影响操…

【从0学Python基础】Python的基础语法(一)

文章目录常量和表达式变量和类型变量的定义变量的使用变量的类型intfloatstrbool动态类型注释输入和输出输出输入运算符算数运算符关系运算符逻辑运算符赋值运算符其他常量和表达式 print(1 2 * 3)print是Python内置的一个函数&#xff0c;作用为输入打印到控制台形如1 2 * …

Leetcode完成所有工作的最短时间2

我的解法&#xff1a; 先排序&#xff0c;然后让能工作最多的工人去做最长时间的工作&#xff0c;最短工作的工人去做最短时间的工作 class Solution:def minimumTime(self, jobs: List[int], workers: List[int]) -> int:jobs.sort()workers.sort()max_time-1for pointer…

HDFS学习笔记 【Namenode/数据块管理】

说明 Namenode关于数据块管理主要做两方面的事情。 文件系统对应数据块 数据块对应数据节点 Block的数据结构 通过Block&#xff0c;BlockInfo,BlocksMap,replica等数据结构表示数据块。 Block 唯一标识一个数据块 包含有比较方法&#xff0c;通过blockId进行比较 BlockI…

前端自动化测试之葵花宝典

作者&#xff1a;京东零售 杜兴文 首先聊一下概念&#xff0c;Web 前端自动化测试是一种通过编写代码来自动化执行 Web 应用程序的测试任务的方法&#xff0c;它通常使用 JavaScript 和测试框架 (如 Selenium、Appium 等) 来实现。 Web 前端自动化测试的优点是可以提高测试效…

微服务+springcloud+springcloud alibaba学习笔记【基础知识+各个组件介绍+聚合父工程创建】(1/9)

微服务springcloudspringcloud alibaba学习笔记 1/91、微服务简介1.1 微服务的自动化部署&#xff08;CI /CD&#xff09;(持续集成 持续交付&#xff09;1.2 服务集中化管理1.3 分布式架构1.4 熔断机制 Hystri2、SpringCloud 简介2.1 SpringCloud 版本对应关系2.2 SpringCloud…

Node.js安装与配置(详细步骤)

前言 本篇博文记录了Node.js安装与环境变量配置的详细步骤&#xff0c;旨在为将来再次配置Node.js时提供指导方法。 另外&#xff1a;Node.js版本请根据自身系统选择&#xff0c;安装位置、全局模块存放位置和环境变量应根据自身实际情况进行更改。 Node.js安装与配置 一、…

windows命令执行的几种绕过方法

windows命令执行的几种绕过方法介绍1、添加特殊符号2、定义变量3、切割字符串4、逻辑运算符在绕过中的作用5、利用for循环拼接命令介绍 反检测、反清理&#xff0c;是红队攻击中的重中之重&#xff0c;本文详细描述了几种windows执行命令的几种绕过手法。 1、添加特殊符号 w…

【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】

文章目录引言一、RequestMapping 注解介绍1.1 RequestMapping 是 post 还是 get 请求&#xff1f;1.2 RequestMapping 指定一种请求方式二、GetMapping三、PostMapping四、总结引言 前面我们讲到&#xff0c;学习 Spring MVC 需要掌握三个核心功能即连接&#xff0c;获取参数&…

webgl-attribute、uniform、varying三者的区别

通用js: let canvas document.getElementById(webgl) canvas.width window.innerWidth canvas.height window.innerHeight let ctx canvas.getContext(webgl) attribute&#xff1a; 范围: 只适用于vertexShader&#xff0c;将js代码中的数据传递给vertexShader。 使用方…

软考-套接字(scoket)

&#x1f4a4;SocketSocket套接字&#xff1a;是由系统提供用于网络通信的技术&#xff0c;是基于TCP/IP协议的网络通信的基本操作单元。将OSI模型中从传输层到物理层封装起来的抽象层&#xff0c;把网络协议隐藏在Socket抽象层中&#xff0c;只对使用者暴露API接口&#xff0c…

DDoS攻击实验笔记

DoS&DDoS简介 DoS(Denial of Service)&#xff0c;拒绝服务攻击是通过一些方法影响服务的可用性&#xff0c;比如早期主要基于系统和应用程序的漏洞&#xff0c;只需要几个请求或数据包就能导致长时间的服务不可用&#xff0c;但易被入侵检测系统发现。 DDoS(Distributed D…

Mysql通过行表中的行数据筛选主表数据

有订单头表和订单行表。筛选出行表中包含某些商品的头表 文章目录1. 示例表test_ordertest_order_line2. 实现EXISTS(推荐)内联1. 示例表 test_order test_order_line 2. 实现 EXISTS(推荐) 优点&#xff1a; 使用内联&#xff0c;主表字段很多的情况下&#xff0c;需要写越…

人员跌倒识别检测系统 yolov7

人员跌倒识别检测系统通过PythonYOLO7网络模型算法&#xff0c;人员跌倒识别检测算法模型对现场画面中有人员倒地摔倒行为实时分析预警&#xff0c;发现则立即抓拍存档告警同步提醒后台值班人员及时处理。YOLOv7 的发展方向与当前主流的实时目标检测器不同&#xff0c;研究团队…