第十三届蓝桥杯真题:x进制减法,数组切分,gcd,青蛙过河

news2025/1/11 15:07:34

目录

x进制减法

数组切分

gcd

青蛙过河


        

        

x进制减法

其实就是一道观察规律的题。你发现如果a这个位置上的数x,b这个位置上的数是y,那么此位置至少是max(x,y)+1进制。一定要把位置找对啊 

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+10,mod=1000000007;
int len1,len2;
ll tmp,ans,a[N],b[N],c[N],n;
int main(){
	cin>>n;cin>>len1;
	for(int i=len1;i>=1;i--)cin>>a[i];
	cin>>len2;
	for(int i=len2;i>=1;i--)cin>>b[i];
	for(int i=len1;i>=1;i--){
		c[i]=max(max(a[i]+1,b[i]+1),2*1ll);
		a[i]=a[i]-b[i];
	}
	tmp=1;
	for(int i=1;i<=len1;i++){
		ans=(tmp*a[i]+ans)%mod;
		tmp=(tmp*c[i])%mod;
	}
	cout<<ans;
	return 0;
}
/*错解
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+10,mod=1000000007;
int len1,len2;
ll tmp,ans,a[N],b[N],c[N],n;
int main(){
	cin>>n;cin>>len1;
	for(int i=1;i<=len1;i++)cin>>a[i];
	cin>>len2;
	for(int i=1;i<=len2;i++)cin>>b[i];
	for(int i=1;i<=len1;i++){
		c[i]=max(max(a[i]+1,b[i]+1),2*1ll);
		a[i]=a[i]-b[i];//这个bug我找了两个小时,不能从高位开始减,
	}
	tmp=1;
	for(int i=len1;i>=1;i--){
		ans=(tmp*a[i]+ans)%mod;
		tmp=(tmp*c[i])%mod;
	}
cout<<ans;
	return 0;
}*/

        

        

数组切分

一道动态规划题,

我们设置f[i]表示从1到i区间的切法。那么可以从任意区间[j,i]转移,只要这个区间[j,i]也是满足题意的就行。那么如果判断[j,i]是否满足题意呢?

首先要注意到题上给出的是连续的的1~n的某个排列,然后我们只需要判断区间的极值和区间长度是否一样就行,如果相等,就说明此区间一定是连续的自然数。 

#include <bits/stdc++.h>
using namespace std;
long long f[10010],mod =1000000007;
int a[10010],n;
int main(){
	cin>>n;for(int i=1;i<=n;i++)cin>>a[i];
	f[0]=1;
	for(int i=1;i<=n;i++){
		int ma=a[i],mi=a[i];
		for(int j=i;j>=1;j--){
			ma=max(ma,a[j]);mi=min(mi,a[j]);
			if(i-j==ma-mi){
				f[i]=(f[i]+f[j-1])%mod;
			}
		}
	}
	cout<<f[n];
	return 0;
}

        

        

gcd

这道题本以为很麻烦,但是做着做着就发现了个不可思议的规律。

观察5和7,它们的最大gcd一定是2,为什么呢?因为你5+k和7+k始终保持差2,所以它们不可能有比2更大的gcd(因为它们两个一定是不等的)

对于一组a和b(假设b大于a),不妨另c=b-a。最终的a+k和b+k一定是差c,而且c必是它们的公因数。所以如果b+k是m*c的话,那么此时a+k必然也是c的倍数(因为它们两个差c啊),所以只需要枚举到b的下一个c的倍数即可,也就是(b/c+1)*c 

验证5和9,它们差值为4,我们枚举到8和12时候发现gcd已经是4了,那么k就确定了

验证2和9,它们差值为7,我们一直枚举到7和14时发现gcd为7,那么此时k也确定了

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b,s,c;
int main(){
	cin>>a>>b;
	c=abs(a-b);
	if(a>b)swap(a,b);
	s=b/c;cout<<(s+1)*c-b;
	return 0;
}

        

        

青蛙过河

二分做法:

我们对跳跃距离二分,然后去判断这个距离能不能跑2x次即可,既然我们都已经确定了区间长度了。

那么不妨我们把这整个长度分成等长的mid区间,只需要保证所有的mid长度区间和都是大于2x的就行。

证明:(我只会反证法)

假设存在一组mid长度的区间和小于2x,那么经过x次来回,必然要经过此区间2x次,所以不成立。故原假设成立。

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
typedef long long ll;
int s[N];
ll n,x;
bool check(int m){
	for(int i=1;i+m<=n;i++){
		if(s[i+m-1]-s[i-1]<2*x) return false;
	}
	return true;
}
int main(){
	cin>>n>>x;int a;
	for(int i=1;i<n;i++)cin>>a,s[i]=s[i-1]+a;
	int l=1,r=n;
	while(l<=r){
		int mid=(l+r)>>1;
		if(check(mid)) r=mid-1;
		else l=mid+1;
	}
	cout<<l;
	return 0;
}

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

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

相关文章

如何恢复 iPhone 删除的照片?

照片是iPhone空间不足的主要原因&#xff0c;因此许多用户选择删除一些重复或不喜欢的图片来释放设备。然而&#xff0c;人们在清洁过程中不小心遗漏了自己喜欢的照片的情况很常见。如果你找不到这些珍贵的照片&#xff0c;你一定很难过。其实&#xff0c;您不必担心这个问题&a…

echarts 多环形图

环形图效果&#xff1a; option {"angleAxis": {"max": 1,"show": false,"splitLine": {"show": false},"axisLabel": {"show": false},"axisTick": {"show": false}},"ra…

Idea显示无法自动装配。找不到‘ xxx’类型的Bean

虽然只标红&#xff0c;不报错&#xff0c;但是看着非常别扭&#xff01; 原因&#xff1a; 当我们在使用Autowired注解的时候&#xff0c;默认requiredtrue,表示注入的时候bean必须存在&#xff0c;否则注入失败。 解决方案一&#xff1a; 在自动转配的注解后面添加(require…

低频电磁仿真 | 新能源汽车性能提升的利器

永磁同步电机 新能源汽车的心脏 近年来&#xff0c;全球变暖的趋势日益加剧&#xff0c;极端天气事件层出不穷&#xff0c;这些现象都反映出当前气候形势的严峻性。为了应对这一全球性挑战&#xff0c;各国纷纷采取行动&#xff0c;制定了一系列降碳、减碳的措施。中国在2020年…

2024年淘宝天猫京东618超级红包领取入口

2024年淘宝天猫京东618超级红包领取入口 1、打开「词令」&#xff0c;输入词令关键词直达口令「超红88」&#xff1b; 2、搜索直达2024年淘宝天猫、京东618超级红包领取入口&#xff1b;

新天龙八部3永恒经典之江山策仿官方_源码架设教程

本教程仅限学习使用&#xff0c;禁止商用&#xff0c;一切后果与本人无关&#xff0c;此声明具有法律效应&#xff01;&#xff01;&#xff01;&#xff01; 教程是本人亲自搭建成功的&#xff0c;绝对是完整可运行的&#xff0c;踩过的坑都给你们填上了 一. 效果演示 新天龙…

解锁电气数据新价值:SolidWorks Electrical助力企业转型

在信息化、数字化的时代&#xff0c;电气数据库已成为企业不可或缺的核心资产。它以其独特的功能和优势&#xff0c;助力企业在激烈的市场竞争中脱颖而出&#xff0c;实现数字化转型的跨越式发展。 SolidWorks Electrical电气数据库具备强大的数据整合能力。它能够将企业内部各…

揭秘大前端开发方向的新机遇!

众所周知&#xff0c;华为开发者大会2023&#xff0c;宣布不再兼容安卓&#xff0c;同时宣布了“鸿飞计划”&#xff0c;欲与iOS、安卓在市场三分天下&#xff0c;这对中国国产操作系统而言&#xff0c;具有划时代的意义。 鸿蒙应用开发的兴起&发展 鸿蒙操作系统是华为自…

【解决】安装模块时报错:ERROR: *.whl is not a valid wheel filename.

其实错误信息已经告诉你了&#xff0c;就是你的文件名有问题。在你下载whl文件时一定要注意原文件的文件名&#xff0c;不要改动文件名。 以我安装pandas模块为例吧。 在我下载whl文件时&#xff0c;因为网速太慢&#xff0c;我就下载了多次&#xff0c;导致文件名变成了这个…

SpringBoot 中的日志原来是这么工作的

在有些场景&#xff0c;能通过调整日志的打印策略来提升我们的系统吞吐量,你知道吗&#xff1f; 我们以Springboot集成Log4j2为例&#xff0c;详细说明Springboot框架下Log4j2是如何工作的&#xff0c;你可能会担心&#xff0c;如果是使用Logback日志框架该怎么办呢&#xff1…

01_QT编译报错:Cannot find file:问题解决

QT编译报错&#xff1a;Cannot find file:问题解决 报错原因&#xff1a;创建路径存在中文字符&#xff0c;将文件路径改为英文字符即可

睿贝外贸ERP appPatchDownLoad 任意文件读取漏洞复现

0x01 产品简介 睿贝外贸ERP软件专门为中小型外贸企业打造的一款界面简洁、易用、操作人性,几乎实现零培训, 彻底颠覆其他软件漫长的实施周期。主要功能包括邮件管理、客户管理、邮营销、产品、供应商,报价、订单、出运、单证、财务、利润分析等一体化管理,以及Excel格式单…

防错设计及原理

目录 1、防错的作用 2、防错的原理 2.1断根原理 2.2保险原理 2.3自动原理 2.4相符原理 2.5顺序原理 2.6隔离原理 2.7层别原理 2.8复制原理 2.9警告原理 2.10缓和原理 防错法&#xff08;Poka-Yoke&#xff09;&#xff0c;又称愚巧法、防呆法&#xff0c;是一种在作…

用python写的文本水印隐藏工具

看见一个文本水印项目&#xff1a;text_blind_watermark https://github.com/guofei9987/text_blind_watermark 假设这种场景是不是合适使用&#xff1a; 小米su7发布之前一周&#xff0c;各大博主已经已经拿到参数配置和价格表了&#xff0c;保密政策不允许博主提前发布&…

Java基础入门--第十一章--JDBC(Java Database Connection)Java数据库连接

JDBC 11.1 什么是JDBC11.1.1 JDBC概述11.1.2 JDBC驱动程序 11.2 JDBC的常用API11.3 JDBC编程11.3.1 JDBC 编程步骤11.3.2 实现第一个JDBC程序 我的MySQL的root密码: root 11.1 什么是JDBC 11.1.1 JDBC概述 JDBC的全称是Java数据库连接&#xff08;Java Database Connectivit…

Python爬虫与API交互:如何爬取并解析JSON数据

目录 前言 一、什么是API和JSON数据 二、准备环境 三、发送API请求并获取数据 四、解析JSON数据 五、完整代码示例 六、总结 前言 随着互联网的发展&#xff0c;越来越多的网站提供了API接口&#xff0c;供开发者获取实时数据。在爬虫领域中&#xff0c;与API交互并解析…

科技云报道:从“奇点”到“大爆炸”,生成式AI开启“十年周期”

科技云报道原创。 世界是复杂的&#xff0c;没有人知道未来会怎样&#xff0c;但如果单纯从技术的角度&#xff0c;我们总是能够沿着技术发展的路径&#xff0c;找到一些主导未来趋势的脉络。 从Sora到Suno&#xff0c;从OpenAI到Copilot、Blackwell&#xff0c;这些热词在大…

【动态规划】【01背包】Leetcode 1049. 最后一块石头的重量 II

【动态规划】【01背包】Leetcode 1049. 最后一块石头的重量 II 解法 ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- 解法 &#x1f612;: 我的代码实现> 动规五部曲 ✒️确定dp数组以及下标的含义 dp[j]表示容量为…

【Django开发】前后端分离美多商城项目第7篇:登录,使用登录的流程【附代码文档】

美多商城项目4.0文档完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;美多商城&#xff0c;项目准备1.B2B--企业对企业,2.C2C--个人对个人,3.B2C--企业对个人,4.C2B--个人对企业,5.O2O--线上到线下,6.F2C--工厂到个人。项目准备&#xff0c;配置1. 修改set…

异地两分部子网重复,如何远程更改其中一个分部子网信息

环境: 分部1:子网192.168.1.0/24 分部2:子网192.168.1.0/24 问题描述: 异地两分部子网重复,如何远程更改其中一个分部子网,原本没有问题目前要与总部建ipsec提示冲突无法都建立隧道 解决方案: 先G一下,看看有啥建议 在两个异地分部网络中,如果发现有子网地址出现…