写题总结1

news/2024/4/20 21:59:07/文章来源:https://blog.csdn.net/weixin_74789176/article/details/130307278

先把自己写完的总结一下:

题目一:
猫儿园的告示牌上贴着 a×b 大小的矩形广告纸。猫猫对广告不感兴趣,她想知道能否用 c×d 的矩形白纸完全覆盖这个广告。猫猫可以对白纸进行平移、旋转,但不能折叠或撕开等。如果可以完全覆盖输出 YES,否则输出 NO。

代码是这样的:

#include<stdio.h>
int main()
{int a,b,c,d;scanf("%d %d %d %d",&a,&b,&c,&d);if((a<=c&&b<=d)||(a<=d&&b<=c))printf("YES\n");else{printf("NO\n");}return 0;
}

。本来我想的是只要每个长宽分别大于等于另一个的长宽就可以了,其实如果刚好这个长没有大于等于这个长的话,但是这个宽大于等于,并且这个长又正好大于等于另一个的宽,就也可以所以包含两种情况,我说的这个是指用来覆盖的矩形;

题目二:

猫猫的电子邮箱中收到了一封密信,内容为一个由小写字母构成的字符串 
由于电脑故障,某个字符突然消失了,前后两部分 (可能为空) 拼接成了一个新的字符串 t。形式化地,假设 si​ 消失了,则。现在给定 t,猫猫想知道 s 中是否有可能存在 "love" 这个子串(不含引号)。如果有可能,输出 YES,否则输出 NO。
子串的定义为:一个字符串中连续的若干字符形成的新字符串。

 代码:

一看这题我满脑子都是直接列出情况,这里情况较少,是可以的,及时break可以节约时间,由于这里只问有没有,一旦找到就说明有了,就可以不用去遍历整个字符串了,但是要谨防数组越界,所以要在循环的最开头写上当到倒数第二个还没有结束的话就已经没有了;

#include<stdio.h>
#include<string.h>
char a[10001];
int main()
{scanf("%s",a);for(int i=0;i<strlen(a);i++){if(i+2==strlen(a)){printf("NO\n");break;}if(a[i]=='o'&&a[i+1]=='v'&&a[i+2]=='e'){printf("YES\n");break;}if(a[i]=='l'&&a[i+1]=='v'&&a[i+2]=='e'){printf("YES\n");break;}if(a[i]=='l'&&a[i+1]=='o'&&a[i+2]=='e'){printf("YES\n");break;}if(a[i]=='l'&&a[i+1]=='o'&&a[i+2]=='v'){printf("YES\n");break;}}return 0;}

 题目三:

猫猫发现了一个数列
为了防止数据溢出,猫猫想让你找到最大的正整数 n,an≤M,其中M=10^18,可以证明一定有解。

输入描述:

 

输出描述:

一行,一个整数,表示答案。

示例1

输入

复制2 2

2 2

输出

复制5

5

示例2

输入

复制999999998 2

999999998 2

输出

复制3

3

 这个题目我刚开始写个时候就在疯狂找规律,然后想着把所有的情况列出来,然后暴力求解,最后情况一直没有列全;然后我又想到可以直接求,反正数字不是很大,可以直接求,然后我就把这一串代码交上去了:

#include<stdio.h>
#include<math.h>
int main()
{const long long  mm=10e18;long long a,b;scanf("%d %d",&a,&b);int h=2;while(pow(a,b)<=mm){long long t=a;a=b;b=pow(t,a);h++;}printf("%d\n",h);return 0;
}

突然发现这个也可以过加一个把d变成lld

#include<stdio.h>
#include<math.h>
int main()
{const long long  mm=10e18;long long a,b;scanf("%lld %lld",&a,&b);int h=2;while(pow(a,b)<=mm){long long t=a;a=b;b=pow(t,a);h++;}printf("%d\n",h);return 0;
}

变成对数就好算了:

代码是这样的就过了:

#include<stdio.h>
#include<math.h>
int main()
{const long long  mm=10e18;long long a,b;scanf("%d %d",&a,&b);int h=2;while(b*log(a)<=log(mm)){long long t=a;a=b;b=pow(t,a);h++;}printf("%d\n",h);return 0;
}

但是这样写还是会有误差。由于这个取对数函数取出来是小数,但是误差不大,所以在这个题里面没有写误差的话也可以过,但是这里还是写一下:

#include<stdio.h>
#include<math.h>
int main()
{const long long  mm=10e18;long long a,b;scanf("%lld %lld",&a,&b);int h=2;const double k=1e-5;while(b*log(a)<=log(mm)+k&&pow(a,b)<=mm){long long t=a;a=b;b=pow(t,a);h++;}printf("%d\n",h);return 0;
}

这个误差是k比喻很小,至于为什么要加在后面呢?我认为,越大的数开出来的小数误差就越大,就越容易变小,所以加在这个大的后面,这就解决了这个小bug,但是还有一个bug,如果有刚开始的pq本身就比后面的大的话,那么这时候刚好由于它损失的也大,但是又因为后面的误差加了一下的话就让它小了起来刚好满足这个条件,这时候就体现了后面的再次判断的功能了,这时候明显发现前面的大,不满足条件循环结束;这样就使得逻辑完美了;

这里再补充一下关于log函数,log(10)表示以e为底十为真数的对数,求出来是小数,log2(6)表示以2为底6为真数的对数;这样就好理解上面的了;当然别忘了加上数学的头文件;

当时我有一个非常疑惑的点就是为什么输入a,b的时候这里用%d就不行(过不了),上面的就可以,其实可以这样理解,这个ab的输入都是没有超过int范围的啊;就很疑惑QAQ;

还有一个题,也是我写的最久的:

然后看了别人的代码还没搞出来;之后专门用一篇来记录这个题解QAQ:

希望你一如既往的坚强 ,站在迎着光的地方, 活成自己想要的模样 ​​;)

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

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

相关文章

滴水逆向3期笔记与作业——01汇编

防止OneNote丢失。 海哥牛逼。 01汇编笔记 01进制进制定义10-2进制转换八进制 02数据宽度/逻辑运算数据宽度与存储逻辑运算计算机做加法的本质作业 03通用寄存器_内存读写通用寄存器表通用寄存器图内存读写计算机操作系统位数意义 04内存地址_堆栈寻址公式PUSH指令POP指令作业 …

【IAR工程】STM8S基于ST标准库读取DHT11数据

【IAR工程】STM8S基于ST标准库读取DHT11数据 ✨申明&#xff1a;本文章仅发表在CSDN网站&#xff0c;任何其他网站&#xff0c;未注明来源&#xff0c;见此内容均为盗链和爬取&#xff0c;请多多尊重和支持原创!&#x1f341;对于文中所提供的相关资源链接将作不定期更换。&…

4月有8本SCIE期刊被剔除(附MDPI/Frontiers/Hindawi最新在检期刊)

2023年4月SCI、SSCI期刊目录更新 2023年4月18日&#xff0c;科睿唯安更新了WOS期刊目录&#xff0c;继上次3月WOS期刊目录剔除50本SCIE&SSCI期刊之后&#xff0c;此次4月更新又有8本SCIE期刊发生变动&#xff0c;其中有4本期刊被踢出SCIE数据库&#xff0c;4本期刊更改了名…

流程图拖拽视觉编程--概述

一般的机器视觉平台采用纯代码的编程方式&#xff0c;如opencv、halcon&#xff0c;使用门槛高、难度大、定制性强、开发周期长&#xff0c;因此迫切需要一个低代码开发的视觉应用平台。AOI缺陷检测的对象往往缺陷种类多&#xff0c;将常用的图像处理算子封装成图形节点,如抓直…

Android 系统架构大图

android的系统架构和其操作系统一样&#xff0c;采用了分层的架构。从架构图看&#xff0c;android分为四个层&#xff0c;从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。 1.应用程序 Android会同一系列核心应用程序包一起发布&#xff0c;该应用…

确定因果随机森林的树木数量 the number of trees

前言 推断因果性和分析异质性是统计学家在处理混杂任务中的圣杯。传统且主流的方法有:倾向性评分、分层分享、比例风险模型等。新的方法也有很多,代表就是:因果随机森林。这种算法,浅看难度一般,深入探索发现坑还是很多的。这篇博客不对算法做深入探讨,仅仅是我在阅读文…

Nautilus Chain :基于模块化架构的Layer3正在走向成熟

Nautilus Chain 是一个基于 Eclipse 和 Celestia 构建的模块化 Layer3 链。作为定位在 Layer0 的链基建概念&#xff0c;Eclipse 和 Celestia 为面向未来的区块链扩容技术提供了一套开发工具和基础框架。尽管这种前沿技术过去一直处于概念验证阶段&#xff0c;尚未推出适用于大…

Java并发(三)----创建线程的三种方式及查看进程线程

一、直接使用 Thread // 创建线程对象 Thread t new Thread() {public void run() {// 要执行的任务} }; // 启动线程 t.start(); 例如&#xff1a; // 构造方法的参数是给线程指定名字&#xff0c;推荐 Thread t1 new Thread("t1") {Override// run 方法内实现…

手把手教你PXE高效网络装机、Kickstart无人值守安装(详细版)

目录 一、部署PXE远程安装服务1.1PXE定义1.2PXE服务优点1.3搭建网络体系前提条件1.4 搭建PXE远程安装服务器 二. 实验2.1 服务器操作2.2 安装启动TFTP服务并修改TFTP服务的配置文件2.3 安装并启用DHCP服务2.4 准备linux内核&#xff0c;初始化镜像文件2.5 准备PXE引导程序2.6 安…

22、Tweak原理及部分逆向防护

一、Tweak原理 1.1 Tweak产物.dylib 执行make命令时,在 .theos的隐藏目录中,编译出obj/debug目录,包含 arm64、arm64e两种架构,同时生成readbadges.dylib动态库 在arm64、arm64e目录下,有各自架构的readbadges.dylib,而debug目录下的readbadges.dylib,是一个胖二进制文件 fi…

【Java-01】深入浅出匿名对象 , 继承 , 抽象类

主要内容 面向对象回顾 匿名对象介绍 面向对象特征 - 继承 抽象类的使用 模板设计模式 1 面向对象回顾 面向对象的核心思想是什么 ? 用代码来模拟现实生活中的事物 , 比如学生类表示学生事物 , 对象表示的就是具体的学生 , 有了类就可以描述万千世界所有的事物了 现有的…

看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题142环形链表II) 2023.4.24

目录 前言算法题&#xff08;LeetCode刷题142环形链表II&#xff09;—&#xff08;保姆级别讲解&#xff09;分析题目&#xff1a;算法思想环形链表II代码&#xff1a;补充 结束语 前言 本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除即可&#xff0c;撰写…

前端食堂技术周刊第 80 期:Vite 4.3、Node.js 20、TS 5.1 Beta、Windi CSS 即将落幕

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;东坡肉 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 本期摘要 Vite 4.3Node.js 20TypeScript 5.1 BetaWindi CSS 即将落幕Pretty TypeScri…

中医脉诊仪:结合传统与现代技术的诊断工具

一、引言 随着科技的不断发展&#xff0c;医学领域也取得了举世瞩目的进步。中医作为一种古老的医学体系&#xff0c;始终保持着其独特的魅力。脉诊作为中医诊断的重要方法之一&#xff0c;历经千年的发展和传承&#xff0c;如今在现代科技的助力下&#xff0c;诞生了中医脉诊…

信息安全复习六:公开密钥密码学

一、章节梗概 1.公开密钥密码模型的基本原理 2.两个算法&#xff1a;RSA&D-H算法 主要内容 1.对称密钥密码的密钥交换问题 2.公钥密码模型的提出 3.设计公钥密码的基本要求 4.数字签名 5.RSA算法 6.公钥密码的特征总结 二、对称密钥密码 对称加密算法中&#xff0c;数据…

实例分割算法BlendMask

实例分割算法BlendMask 论文地址&#xff1a;https://arxiv.org/abs/2001.00309 github代码&#xff1a;https://github.com/aim-uofa/AdelaiDet 我的个人空间&#xff1a;我的个人空间 密集实例分割 ​ 密集实例分割主要分为自上而下top-down与自下而上bottom-up两类方法…

基于趋动云的chatGLM-6B模型的部署

首先根据官方示例教程&#xff0c;学会怎么创建项目&#xff0c;怎么使用数据&#xff0c;怎么进入开发环境&#xff0c;以及了解最重要的2个环境变量&#xff1a; 这个是进入开发环境以后的代码目录 $GEMINI_CODE 这个是引用数据集后&#xff0c;数据集存放的路径 $GEMINI_DA…

Linux内核进程管理与调度:策略优化与实践分析

Linux内核进程管理与调度 一、前言二、进程管理和多进程调度2.1 进程标识符和控制块2.2 进程状态和转换2.3 进程间通信 三、单处理器下的Linux进程调度3.1 Linux进程调度器3.2 时间片轮转调度算法3.3 最短剩余时间优先调度算法3.4 其他调度算法的不足 四、多处理器下的Linux进程…

Layui 2.8.0 正式发布,朴实归来

Layui 是一套开源的 Web UI 组件库&#xff0c;采用自身轻量级模块化规范&#xff0c;遵循原生态的 HTML/CSS/JavaScript 开发模式&#xff0c;极易上手&#xff0c;拿来即用。其风格简约轻盈&#xff0c;而内在雅致丰盈&#xff0c;甚至包括文档在内的每一处细节都经过精心雕琢…

【Linux网络】PXE高效批量网络装机

PEX高效批量网络装机 一、部署PXE远程安装服务1.1PXE的优点1.2搭建PXE网络体系的前提条件 二、实现Kincksatrt无人值守安装2.1实验思路&#xff0c;2.2实验&#xff1a;无人值守远程安装2.2.1实现 Kickstart 无人值守安装 一、部署PXE远程安装服务 PXE&#xff08;预启动执行环…