蓝桥杯C++大学B组一个月冲刺记录2024/3/13

蓝桥杯C++大学B组一个月冲刺记录2024/3/13

规则:每日三题

向日葵的花语是说不出的爱恋
不过今天有点水题了

1.有序分数

给定一个整数 N,请你求出所有分母小于或等于 N,大小在 [0,1] 范围内的最简分数,并按从小到大顺序依次输出。

这个题在被划分为递归一章,是由于Stern-Brocot Tree可以通过中序递归来解决这个问题
但是这个题数据范围仅n <160。所以时间复杂度为O(n2logn)的暴力做法也可以解决这个题

#include<iostream>
#include<vector>
#include<algorithm>using namespace std;typedef pair<int,int>PII;vector<PII>q;int n;bool cmp(PII a,PII b){return a.first * b.second < a.second * b.first;
}int gcd(int a,int b){return b?gcd(b,a % b):a;
}int main(){cin >> n;q.push_back({0,1});for(int i = 1;i <= n; ++i){for(int j = 1;j <= i;++j){if(gcd(i,j) == 1) q.push_back({j,i});}     }sort(q.begin(),q.end(),cmp);for(int i = 0;i < q.size();++i){cout << q[i].first << '/' << q[i].second << endl;}return 0;    
}

以下是y总的递归做法,时间复杂度O(n2)

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;int n;void dfs(int a, int b, int c, int d)
{if (a + c > n) return;dfs(a, b, a + c, b + d);printf("%d/%d\n", b + d, a + c);dfs(a + c, b + d, c, d);
}int main()
{scanf("%d", &n);puts("0/1");dfs(1, 0, 1, 1);puts("1/1");return 0;
}

2.递归实现指数型枚举

从 1∼n这 n个整数中随机选取任意多个,输出所有可能的选择方案。

简单的dfs,比较巧妙的是用二进制编码来记录状态

#include<iostream>using namespace std;const int M = 20;int p[M];
int n;void dfs(int i){if(i > n){for(int i = 1;i <= n; ++i){if(p[i] == 1) cout << i << ' ';else continue;   }cout << '\n';}else{p[i] = 1;dfs(i + 1);p[i] = 0;dfs(i + 1);}}int main(){cin >> n;dfs(1);return 0;
}

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

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

相关文章

灵雀云开源ALB ,为云原生 Kubernetes 网关领域再添新星

ALB (Another Load Balancer)是一款由灵雀云倾力打造的云原生 Kubernetes 网关&#xff0c;近日&#xff0c;正式宣布将其在Github上开源。ALB 的诞生&#xff0c;旨在满足日益增长的云原生应用需求&#xff0c;为开发者提供更为强大和灵活的网关解决方案。 ALB 支持在一个集群…

Oracle PL/SQL Programming 第9章:Numbers 读书笔记

总的目录和进度&#xff0c;请参见开始读 Oracle PL/SQL Programming 第6版 本章谈3点&#xff1a; 可使用的数字数据类型如何在数字和文本间转换PL/SQL 内置数值函数 Numeric Datatypes NUMBER&#xff1a;平台无关的实现&#xff0c;适合处理货币金额PLS_INTEGER 和 BINA…

前端面试题汇总

基础面试题 1.new 操作符做了那些事 function Fun(name){this.name name } Fun.prototype.sayHi funtion(){console.log(this.name) }function mockCreate(fn, ...args){let obj Object.create({}) // 创建一个空对象Object.setPrototypeOf(obj, fn.prototype) // 空对象…

C语言学习笔记day4

1. putchar 1.1 功能: 在终端输出一个字符 注意: 1.只能打印 一个字符 2.只能打印字符 示例: putchar(a); putchar(100); putchar(a-32); 2. getchar 2…

day02vue学习

day02 一、今日学习目标 1.指令补充 指令修饰符v-bind对样式增强的操作v-model应用于其他表单元素 2.computed计算属性 基础语法计算属性vs方法计算属性的完整写法成绩案例 3.watch侦听器 基础写法完整写法 4.综合案例 &#xff08;演示&#xff09; 渲染 / 删除 / 修…

速卖通批量注册买家号安全吗?怎么弄?

在速卖通等跨境电商平台上&#xff0c;买家号的注册与养号过程繁琐而复杂。传统的手动注册方式效率低下&#xff0c;难以满足大规模的需求。而跨境智星系统凭借其全自动化的功能&#xff0c;能够轻松实现买家号的批量注册与养号&#xff0c;大大提高了效率。 使用跨境智星系统进…

200W年薪的大佬 随手丢给我“Spring速成宝典”看完这些知识点直接定级P7

面试官&#xff1a;答的很好&#xff0c;最后一个问题&#xff1a;如果没有Spring&#xff0c;你打算怎么开展工作&#xff1f; 这个思考了几分钟后&#xff0c;程序员小建是这么回答的&#xff1a;Spring的核心源码&#xff0c;比如&#xff1a;IOC、AOP、Spring事务、MVC原理…

Explain详解与索引优化最佳实践

Explain工具介绍 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在select语句之前增加explain关键字,MySQL会在查询前设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL 注意: 如果from中包含子查询,仍会执行该子查询,将结果…

借助知识图谱和Llama-Index实现基于大模型的RAG

背景 幻觉是在处理大型语言模型&#xff08;LLMs&#xff09;时常见的问题。LLMs生成流畅连贯的文本&#xff0c;但经常产生不准确或不一致的信息。防止LLMs中出现幻觉的一种方法是使用外部知识源&#xff0c;如提供事实信息的数据库或知识图谱。 矢量数据库和知识图谱使用不…

【vim 学习系列文章 14 -- vim 注释神器 vim-commentary 插件 】

文章目录 vim-commentary插件 vim-commentary插件 Vim中的vim-commentary插件是一个流行的注释工具&#xff0c;可以使用该工具快速添加或删除代码注释。默认情况下&#xff0c;该插件根据文件类型来确定注释格式。对于大多数编程语言&#xff0c;它会使用相应的单行注释符号。…

springboot/ssm滑雪场管理系统Java滑雪溜冰馆预约管理系统web

springboot/ssm滑雪场管理系统Java滑雪溜冰馆预约管理系统web 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;…

《C++游戏编程入门》第8章 类:Critter Caretaker

《C游戏编程入门》第8章 类&#xff1a;Critter Caretaker 8.1 定义新类型08.simple_critter.cpp 8.2 使用构造函数08.constructor_critter.cpp 8.3 设置成员访问级别08.private_critter.cpp 8.4 使用静态数据成员与静态成员函数08.static_critter.cpp 8.5 Critter Caretaker游…

DAY by DAY 史上最全的Linux常用命令汇总----man

man是按照手册的章节号的顺序进行搜索的。 man设置了如下的功能键&#xff1a; 功能键 功能 空格键 显示手册页的下一屏 Enter键 一次滚动手册页的一行 b 回滚一屏 f 前滚一屏 q 退出man命令 h 列出所有功能键 /word 搜索word字符串 注意&#xff1a…

【文献阅读】A Fourier-based Framework for Domain Generalization(基于傅立叶的领域泛化框架)

原文地址&#xff1a;https://arxiv.org/abs/2105.11120 摘要 现代深度神经网络在测试数据和训练数据的不同分布下进行评估时&#xff0c;存在性能下降的问题。领域泛化旨在通过从多个源领域学习可转移的知识&#xff0c;从而泛化到未知的目标领域&#xff0c;从而解决这一问…

环境搭建SpringSecurity

一、maven依赖 <!-- Spring dependencies --> <dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version> </dependency><dependency><g…

03-自媒体文章发布-黑马头条

自媒体文章发布 1)自媒体前后端搭建 1.1)后台搭建 ①&#xff1a;资料中找到heima-leadnews-wemedia.zip解压 拷贝到heima-leadnews-service工程下&#xff0c;并指定子模块 执行leadnews-wemedia.sql脚本 添加对应的nacos配置 spring:datasource:driver-class-name: com…

代码随想录算法训练营Day58 | 739.每日温度、496.下一个更大元素 I

单调栈基础 什么时候使用单调栈&#xff1a;通常是一维数组&#xff0c;要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置&#xff0c;此时我们就要想到可以用单调栈了 单调栈的作用&#xff1a;使用栈来记录已经遍历过的元素 使用单调栈前需要明确两点&…

图解Diffusion扩散模型+代码

0、项目视频详解 视频教程见B站https://www.bilibili.com/video/BV1e8411a7mz 1、diffusion模型理论&#xff08;推导出损失函数&#xff09; 1.1、背景 随着人工智能在图像生成&#xff0c;文本生成以及多模态生成等领域的技术不断累积&#xff0c;如&#xff1a;生成对抗网…

SD-WAN技术如何保障网络的持续连接和稳定性

在当今数字化时代&#xff0c;企业对于网络的稳定性和持续连接性需求日益增加。SD-WAN作为一种新兴的网络解决方案&#xff0c;为企业提供了有效的方式来实现网络的持续连接和稳定性。本文将探讨SD-WAN技术如何保障网络的持续连接和稳定性。 1、多路径冗余技术 SD-WAN采用了多…

window.postMessage学习(问答式)

demo在文章末尾。 window.postMessage 1、有什么用&#xff1f; 答&#xff1a;可以安全地实现跨源通信。通常&#xff0c;对于两个不同页面的脚本&#xff0c;只有当执行它们的页面同源时&#xff0c;这两个脚本才能相互通信。 window.postMessage() 方法提供了一种受控机…