备战蓝桥杯---递归与DFS刷题2

1.

数据范围允许直接暴力把所有组合都写一遍,我们用Pair来存,在sort中分式比较只要把自己的分子与对方的分母乘比较即可,下面介绍一下st树的写法,具体原理就不说了,它是先[0/1,1/1]然后取分子分母的平均化成两个区间:[0/1,1/2][1/2,1/1]依次类推变成二叉树,然后答案就是分界点的中序遍历,下面是AC代码:

#include<bits/stdc++.h>
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(){cin>>n;cout<<"0/1"<<endl;dfs(1,0,1,1);cout<<"1/1"<<endl;
}

2.

我们假设A=p1^k1*p2^k2....*pn^kn;

那么A^B=p1^(k1*B)*.....

对于p1^0+p1^1....+p1^n如何不用逆元的情况下快速求呢?

sum(p,k)=(p^0+...p^(k/2))+p^(k/2+1)*(p^0+...p^(k/2))=(1+p^(k/2+1))*sum(p,k/2),

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int mod=9901;
int qq(int a,int k){a%=mod;int res=1;while(k){if(k&1) res=res*a%mod;a=a*a%mod;k>>=1;}return res;
}
int sum(int p,int k){if(k==0) return 1;if(!k%2)  return (sum(p,k-1)+qq(p,k))%mod;return (1+qq(p,k/2+1))%mod*sum(p,k/2)%mod;
}
signed main(){int A,B;cin>>A>>B;int res=1;for(int i=2;i<=A;i++){int s=0;while(A%i==0){s++;A/=i;}if(s){res=res*sum(i,s*B)%mod;}}if(!A) res=0;cout<<res<<endl;
}

3.

首先,我们看一下矩阵旋转公式:

[x,y]*[cosa,sina]

        [-sina,cosa]

我们先考虑一下子问题,我们把当前值-1,%当前任意象限的容量就得到了在n-1级上按照1划分的位置,然后就按照象限旋转即可,具体见下面AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
struct Point
{LL x, y;
};
Point calc(LL n, LL a)
{if (n == 0) return {0, 0};LL block = 1ll << n * 2 - 2, len = 1ll << n - 1;auto p = calc(n - 1, a % block);LL x = p.x, y = p.y;int z = a / block;if (z == 0) return {y, x};else if (z == 1) return {x, y + len};else if (z == 2) return {x + len, y + len};return {len * 2 - 1 - y, len - 1 - x};
}int main()
{int T;scanf("%d", &T);while (T -- ){LL n, a, b;cin>>n>>a>>b;auto pa = get(n, a - 1);auto pb = get(n, b - 1);double dx = pa.x - pb.x, dy = pa.y - pb.y;printf("%.0lf\n", sqrt(dx * dx + dy * dy) * 10);}
}

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

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

相关文章

web学习笔记(五十三)身份认证

目录 1.Web 开发模式 1.1 服务端渲染的 Web 开发模式 1.2 服务端渲染的优缺点 1.3 前后端分离的 Web 开发模式 1.4 如何选择 Web 开发模式 2. 身份认证 2.1 Session 认证机制 3. 在 Express 中使用 Session 认证 3.1 安装express-session 中间件 3.2 配置 express-ses…

electron 打不同环境的包

我用的打包工具: electron-builder 1、在package.json 文件的同级下创建2个js文件 electron-builder-test.config.js electron-builder.config.js electron-builder-test.config.js const basejson require(./electron-builder.config.js); module.exports {extraMetada…

智能变电站协议系列-5、IEC 104协议细化解读(IEC 60870以及如何获取对应国标和行标)

一、前言 通过之前整体性的协议分析&#xff0c;目前确定先基于IEC104做深入分析&#xff0c;来结合分析电网常见的业务&#xff0c;以此从协议侧关联深入到业务侧。在国内该标准也应用比较稳定和广泛了&#xff0c;所以研究104协议相关资料也会更全一些。 二、资料及标准收集…

【强化学习的数学原理-赵世钰】课程笔记(二)贝尔曼公式

【强化学习的数学原理-赵世钰】课程笔记&#xff08;二&#xff09;贝尔曼公式 一. 内容概述 1. 第二章主要有两个内容 &#xff08;1&#xff09;一个核心概念&#xff1a;状态值&#xff08;state value&#xff09;&#xff1a;从一个状态出发&#xff0c;沿着一个策略我…

OWASP TOP10 漏洞详解

前言 该内容是 OWASP TOP 10 的学习笔记&#xff0c;笔记内容来源 B 站龙哥的视频【12.Top漏洞10&#xff1a;服务器请求伪造_哔哩哔哩_bilibili】 一、访问控制崩溃 概念 未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据&#xf…

QA测试开发工程师面试题满分问答9: Python中内存管理的概念、原理、使用

概念原理 Python中的内存管理是由解释器自动处理的&#xff0c;它使用引用计数和垃圾回收机制来管理内存。以下是Python内存管理的一些关键概念、设计原理和最佳实践&#xff0c;以帮助您高效使用和管理内存&#xff1a; 引用计数&#xff1a;Python使用引用计数来追踪对象的引…

基于JAVA+SSM+微信小程序+MySql的图书捐赠管理系统设计与实现(前后端分类)

一、项目背景介绍&#xff1a; 在当今社会&#xff0c;图书捐赠是一种普遍而有益的行为&#xff0c;旨在促进阅读、教育和知识传播。图书捐赠可以帮助改善教育资源不足的地区、学校和社区的阅读环境&#xff0c;提供更多的学习机会和知识获取途径。随着互联网和移动技术的发展&…

Redis-更新策略,缓存穿透,缓存雪崩,缓存击穿

Redis-更新策略,缓存穿透,缓存雪崩,缓存击穿 1.缓存更新 策略 淘汰策略超时剔除主动更新 更新策略&#xff1a;先修改数据库还是先删除缓存 结论&#xff1a;先修改数据库&#xff0c;因为缓存的操作比较快&#xff0c;容易产生数据不一致更新缓存还是删除缓存&#xff1f; …

网络协议——HTTP协议

目录 ​编辑 一&#xff0c;HTTP协议基本认识 二&#xff0c;认识URL 三&#xff0c;http协议的格式 1&#xff0c;发送格式 2&#xff0c;回应格式 四&#xff0c;服务端代码 五&#xff0c;http报文细节 1&#xff0c;Post与Get方法 2&#xff0c;Content_lenth 3&…

html加载后端数据较慢问题记载

标题: html加载后端数据较慢问题记载 日期: 2024-04-06 22:29:00 标签: [html, flask] 分类: [Python, Flask] 网站页面最近加载很慢&#xff0c;不知道为什么&#xff0c;这里记录一下&#xff0c;一步一步查问题的思路。 说下环境 python3.8 flask2.3.3 mysql5.7 问题 刷…

爬虫实战一、Scrapy开发环境(Win10+Anaconda3)搭建

#前言 在这儿推荐使用Anaconda进行安装&#xff0c;并不推荐大家用pythonpip安装&#xff0c;因为pythonpip的坑实在是太多了。 #一、环境中准备&#xff1a; Win10&#xff08;企业版&#xff09;Anaconda3-5.0.1-Windows-x86_64&#xff0c;下载地址&#xff0c;如果打不开…

每日OJ题_两个数组dp①_力扣1143. 最长公共子序列

目录 力扣1143. 最长公共子序列 解析代码 力扣1143. 最长公共子序列 1143. 最长公共子序列 难度 中等 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样…

尚硅谷html5+css3(2)CSS5基本知识

1.网页分为三个部分&#xff1a; 结构&#xff1a;HTML 表现&#xff1a;CSS 行为JavaScript CSS:层叠样式表&#xff0c;网页实际上是一个多层结构&#xff0c;通过CSS可以分别为网页的每一个层来设置样式&#xff0c;最终用户只看最上面的一层&#xff0c;总之&#xff0…

蚁群优化算法(Ant Colony Optimization Algorithm)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 算法引言 蚁群算法&#xff0c;是一种模拟蚂蚁觅食行为的优化算法。想象一下&#xff0c;当你在野餐时&#xff0c;不小心洒了一些糖在地上。一…

免疫检查点信号转导和癌症免疫治疗(文献)

目录 基础 介绍 免疫检查点的表面调控&#xff08;细胞膜层面&#xff09; ​编辑 PD-1调节 PD-L1调节 CTLA-4 调节 检查点信号通路 关于靶点研究 展望 Immune checkpoint signaling and cancer immunotherapy - PubMed (nih.gov) 基础 【中英字幕】肿瘤免疫疗法之免…

分享10个免费高可用的GPT3.5和4.0网站并做功能测试【第一个】

1.介绍 网址&#xff1a;直接点&#xff1a;aicnn 或者 www.aicnn.cn 基于ChatGPT可以实现智能聊天、绘画生成、高清文本转语音、论文润色等多种功能&#xff0c;基于sd和mj实现的绘画功能&#xff0c;下面是功能测试&#xff1a; 博主从 1.GPT3.5是否完全免费/是否限制频率、…

MySQL学习笔记------事务

事务 事务是一组操作的集合&#xff0c;他是一个不可分割的单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败 事务操作 create table account(id int comment ID,name varchar(10) …

Spring 中类似 aBbb 单字母单词序列化与反序列问题

文章目录 前言代码准备问题排查lombok自定义生成 get、set 结合源码解析使用 lombok使用 lombok 自定义生成 user 对象 get、set 方法 如何解决使用注解 JsonProperty("aTest")自定义实现符合 Spring 规范的 get set 方法 个人简介 前言 最近在使用 spring boot mvc…

Linux下Qt生成程序崩溃文件

文章目录 1.背景2.Qt编译生成程序2.1.profile模式的本质 3.执行程序&#xff0c;得到core文件4.代码定位4.1.直接使用gdb4.2.使用QtCreator 5.总结6.题外话6.1.profile模式和debug模式的区别 1.背景 在使用Qt时&#xff0c;假如在windows&#xff0c;当软件崩溃时&#xff0c;…