备战蓝桥杯---搜索(进阶4)
话不多说,直接看题:

下面是分析:
(a+b)%c=(a%c+b%c)%c;
(a*b)%c=(a%c*b%c)%c;
因此,如果两个长度不一样的值%m为相同值,那就舍弃长的(因为再加1位只不过是原来值*10+那位值,因此他们得出的%m还是同一值)。
因此,我们每次只要BFS最多m-1个值,复杂度为O(k*m*n),其中N为数的位数。
下面是AC代码:
#include<bits/stdc++.h>
using namespace std;
int k,m,vis[10010];
struct node{string s;int yu;
};
queue<node> q;
void bfs(string ss){for(int i=1;i<=k-1;i++){if(vis[i%m]==0){vis[i%m]=1;q.push({to_string(i),i%m});}}while(!q.empty()){node ck=q.front();q.pop();if(ck.yu==0){cout<<ck.s;return;}for(int i=0;i<=k-1;i++){if(vis[(ck.yu*10+i)%m]==1) continue;q.push({ck.s+to_string(i),(ck.yu*10+i)%m});vis[(ck.yu*10+i)%m]=1;}}
}
int main(){cin>>k>>m;bfs("0");
}
接题:

相当于我们要从边界进去一次,并出来一次。
考虑到有a*b个位置可以进,我们可以表示从左上端点开始,可以在边界上动,到了相应的位置再进去即可。
下面是AC代码:
#include<bits/stdc++.h>
using namespace std;
int a,b,w[10][10],cnt,c[20],kk;
int dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
void dfs(int x,int y,int k){if(k==2&&(x==0||x==a||y==0||y==b)){cnt++;return;}for(int i=0;i<4;i++){int xx=x+dir[i][0];int yy=y+dir[i][1];if(xx<0||yy<0||xx>a||yy>b) continue;if(w[xx][yy]==1) continue;w[xx][yy]=1;int k1=k;if(xx!=0&&xx!=a&&yy!=0&&yy!=b&&k==1) k1=2;dfs(xx,yy,k1);w[xx][yy]=0;}return;
}
int main(){cin>>a>>b;if(a==1){cout<<b-1;return 0;}w[0][0]=1;w[1][0]=1;dfs(1,0,1);cout<<cnt;
}
接题(很有意思):

我们可以得到:每次切割都应该为x/n,y/n的整数倍(否则无法切成相等的,可以画图更直观一点)
然后,切的刀数按照倍数分即可。我们先要选出最大值的最小值,于是我们for切刀,递归求出每一种情况的最大值的最小值(注意,每一个被分的两部分求max,因为他们两个共同组成这一种情况)
下面是AC代码:
#include<bits/stdc++.h>
using namespace std;
double x,y;
int n1;
double dfs(double x,double y,int n){if(n==1){return max(x,y)/min(x,y);}double ans=10001;double xx=x/n;double yy=y/n;for(int i=1;i<=n-1;i++){double aa=max(dfs(xx*i,y,i),dfs(x-xx*i,y,n-i));double bb=max(dfs(x,yy*i,i),dfs(x,y-yy*i,n-i));ans=min(ans,aa);ans=min(ans,bb);}return ans;
}
int main(){cin>>x>>y>>n1;printf("%.6lf",dfs(x,y,n1));
}
相关文章:
备战蓝桥杯---搜索(进阶4)
话不多说,直接看题: 下面是分析: (ab)%c(a%cb%c)%c; (a*b)%c(a%c*b%c)%c; 因此,如果两个长度不一样的值%m为相同值,那就舍弃长的(因为再加1位只不过是原来值*10那位值,因此他们得出的%m还是同…...
51单片机基础(C语言):定时器时钟
1.使用定时器 1 和LCD1602设计一个简易数字时钟。 main.c #include <REGX52.H> #include "Delay.h" #include "LCD1602.h" #include "Timer0.h"unsigned char Sec55,Min59,Hour23;void main() {LCD_Init();Timer0Init();LCD_ShowString(…...
单片机无线发射的原理剖析
目录 一、EV1527编码格式 二、OOK&ASK的简单了解 三、433MHZ 四、单片机的地址ID 五、基于STC15W104单片机实现无线通信 无线发射主要运用到了三个知识点:EV1527格式;OOk;433MHZ。下面我们来分别阐述: EV1527是数据的编…...
Redis的过期键的删除策略
我们都知道,Redis是key-value数据库,我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了,Redis如何处理。 过期策略通常有以下三种: 定时过期:每个设置过期时间的key都需要创建…...
放假--寒假自学版 day1(补2.5)
fread 函数: 今日练习 C语言面试题5道~ 1. static 有什么用途?(请至少说明两种) 1) 限制变量的作用域 2) 设置变量的存储域 2. 引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始…...
LLM(5) | Encoder 和 Decoder 架构
LLM(5) | Encoder 和 Decoder 架构 文章目录 LLM(5) | Encoder 和 Decoder 架构0. 目的1. 概要2. encoder 和 decoder 风格的 transformer (Encoder- And Decoder-Style Transformers)原始的 transformer (The original transformer)编码器 (Encoders)解码器 (Decoders)编码器和…...
CV | Medical-SAM-Adapter论文详解及项目实现
******************************* 👩⚕️ 医学影像相关直达👨⚕️******************************* CV | SAM在医学影像上的模型调研【20240207更新版】-CSDN博客 CV | Segment Anything论文详解及代码实现 本文主要讲解Medical-SAM-Adapter论文及项…...
C++初阶:容器(Containers)vector常用接口详解
介绍完了string类的相关内容后:C初阶:适合新手的手撕string类(模拟实现string类) 接下来进入新的篇章,容器vector介绍: 文章目录 1.vector的初步介绍2.vector的定义(constructor)3.v…...
flink写入es的参数解析
ElasticsearchSink内部使用BulkProcessor一次将一批动作(ActionRequest)发送到ES集群。在发送批量动作前,BulkProcessor先缓存,再刷新。缓存刷新的间隔,支持基于Action数量、基于Action大小、基于时间间隔3种策略。BulkProcessor支持在同一次…...
逆向工程:揭开科技神秘面纱的艺术
在当今这个科技飞速发展的时代,我们每天都在与各种电子产品、软件应用打交道。然而,你是否想过,这些看似复杂的高科技产品是如何被创造出来的?今天,我们就来探讨一下逆向工程这一神秘而又令人着迷的领域。 一、什么是…...
决策树的相关知识点
📕参考:ysu老师课件西瓜书 1.决策树的基本概念 【决策树】:决策树是一种描述对样本数据进行分类的树形结构模型,由节点和有向边组成。其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出ÿ…...
【数据结构】单向链表实现 超详细
目录 一. 单链表的实现 1.准备工作及其注意事项 1.1 先创建三个文件 1.2 注意事项:帮助高效记忆和理解 2.链表的基本功能接口 2.0 创建一个 链表 2.1 链表的打印 3.链表的创建新节点接口 4.链表的节点插入功能接口 4.1 尾插接口 4.2 头插接口 4.3 指定位…...
Opencc4j 开源中文繁简体使用介绍
Opencc4j Opencc4j 支持中文繁简体转换,考虑到词组级别。 Features 特点 严格区分「一简对多繁」和「一简对多异」。 完全兼容异体字,可以实现动态替换。 严格审校一简对多繁词条,原则为「能分则不合」。 词库和函数库完全分离,…...
vue 下载二进制文件
文章目录 概要技术细节 概要 vue 下载后端返回的二进制文件流 技术细节 import axios from "axios"; const baseUrl process.env.VUE_APP_BASE_API; //downLoadPdf("/pdf/download?pdfName" res .pdf, res); export function downLoadPdf(str, fil…...
数据结构之堆排序
对于几个元素的关键字序列{K1,K2,…,Kn},当且仅当满足下列关系时称其为堆,其中 2i 和2i1应不大于n。 { K i ≤ K 2 i 1 K i ≤ K 2 i 或 { K i ≥ K 2 i 1 K i ≥ K 2 i {\huge \{}^{K_i≤K_{2i}} _{K_i≤K_{2i1}} …...
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ScrollBar组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ScrollBar组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、ScrollBar组件 鸿蒙(HarmonyOS)滚动条组件ScrollBar&…...
读论文:DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior
DiffBIR 发表于2023年的ICCV,是一种基于生成扩散先验的盲图像恢复模型。它通过两个阶段的处理来去除图像的退化,并细化图像的细节。DiffBIR 的优势在于提供高质量的图像恢复结果,并且具有灵活的参数设置,可以在保真度和质量之间进…...
基于微信小程序的新生报到系统的研究与实现,附源码
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
分享一下 uniapp 打包安卓apk
首先需要安装 Java 环境,这里就不做解释了 第二步:打开 mac 终端 / cmd 命令行工具 使用keytool -genkey命令生成证书 keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore *testalias 是证书别名&am…...
DevOps落地笔记-21|业务价值:软件发布的最终目的
上一课时介绍如何度量软件的内部质量和外部质量。在外部质量中,我们提到用户满意度是衡量软件外部质量的关键因素。“敏捷宣言”的第一条原则规定:“我们最重要的目标,是通过持续不断的及早交付有价值的软件使用户满意”。从这一点也可以看出…...
ARM嵌入式开发:寄存器操作与函数指针实战
## 1. 嵌入式开发中的寄存器操作技巧### 1.1 寄存器地址访问方法 在ARM架构嵌入式开发中,直接操作硬件寄存器是底层开发的核心技能。通过C语言访问特定内存地址的标准做法是使用指针类型转换:c #define GSTATUS1 (*(volatile unsigned int *)0x560000B0)…...
别急着跑流程!单细胞测序数据分析前,你的GEO数据真的‘干净’吗?
别急着跑流程!单细胞测序数据分析前,你的GEO数据真的‘干净’吗? 当你在GEO数据库中兴奋地找到那个包含1534个样本的单细胞数据集时,是否曾想过——这些看似完美的数据背后可能隐藏着致命的陷阱?许多生信分析者习惯性地…...
前端AI新选择:Transformer.js vs TensorFlow.js,你的项目该用哪个?
前端AI新选择:Transformer.js与TensorFlow.js深度技术选型指南 当浏览器逐渐成为新一代计算平台时,前端开发者正面临一个关键抉择:如何在客户端高效部署机器学习能力?我曾为一个医疗咨询项目选择技术方案时,团队在Tran…...
OpenClaw+GLM-4.7-Flash成本对比:自建模型比API调用节省30%token消耗
OpenClawGLM-4.7-Flash成本对比:自建模型比API调用节省30%token消耗 1. 为什么需要关注token消耗 上周五凌晨两点,我的OpenClaw突然停止了周报自动化任务。查看日志发现是API额度耗尽——当月累计消耗已超过商用GLM-4.7-Flash的套餐限额。这次意外让我…...
3D打印模型优化实战:从问题诊断到高效输出的完整指南
3D打印模型优化实战:从问题诊断到高效输出的完整指南 【免费下载链接】BlenderUSDZ Simple USDZ file exporter plugin for Blender3D 项目地址: https://gitcode.com/gh_mirrors/bl/BlenderUSDZ 1. 痛点定位:3D打印模型导出的四大核心障碍 诊断…...
路径规划算法技术选型与实战指南:从理论到工程落地
路径规划算法技术选型与实战指南:从理论到工程落地 【免费下载链接】PathPlanning Common used path planning algorithms with animations. 项目地址: https://gitcode.com/gh_mirrors/pa/PathPlanning 当仓库机器人在密集货架间灵活避障,当无人…...
Xinference-v1.17.1智能家居控制系统开发
Xinference-v1.17.1智能家居控制系统开发 1. 智能家居控制新体验 想象一下,早上醒来窗帘自动拉开,阳光洒进房间,咖啡机开始工作,音响播放你喜欢的音乐。这不是科幻电影,而是用Xinference-v1.17.1构建的智能家居控制系…...
NaViL-9B实战手册:健康检查API与服务异常定位全流程
NaViL-9B实战手册:健康检查API与服务异常定位全流程 1. 平台概览 NaViL-9B是由专业AI研究机构开发的原生多模态大语言模型,能够同时处理纯文本问答和图片理解任务。该模型特别针对中文场景优化,支持中英文混合输入,为开发者提供…...
Qwen3-VL-WEBUI新手教程:无需编程,用WebUI轻松玩转多模态AI
Qwen3-VL-WEBUI新手教程:无需编程,用WebUI轻松玩转多模态AI 1. 什么是Qwen3-VL-WEBUI? Qwen3-VL-WEBUI是阿里云推出的一个开箱即用的多模态AI工具,内置了目前Qwen系列中最强大的视觉语言模型Qwen3-VL-4B-Instruct。这个镜像最大…...
Golang错误处理实战:defer、panic和recover的正确打开方式(附避坑指南)
Golang错误处理实战:defer、panic和recover的正确打开方式(附避坑指南) 在Golang的世界里,错误处理是一门艺术。与传统的try-catch机制不同,Go采用了独特的defer-panic-recover组合拳。这种设计哲学体现了Go语言"…...
