蓝桥杯——第 5 场 小白入门赛(c++详解!!!)
文章目录
- 1 十二生肖
- 基本思路:
- 2 欢迎参加福建省大学生程序设计竞赛
- 基本思路:
- 代码:
- 3 匹配二元组的数量
- 基本思路:
- 代码:
- 4 元素交换
- 基本思路:
- 代码:
- 5 下棋的贝贝
- 基本思路:
- 代码:
- 6 方程
- 思路:
- 代码:
1 十二生肖
基本思路:
- 签到题! 龙 -> 5
2 欢迎参加福建省大学生程序设计竞赛
基本思路:
- 一道排序的题,先按题数排序,题树相等时,按罚时排序
代码:
#include<bits/stdc++.h>
using namespace std;#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define endl "\n"
#define int long long
const int N = 1e6+10, INF=1e18+10;
struct Node{int x,y;
};
vector<Node> a;
bool cmp(Node xx,Node yy){if(xx.x!=yy.x)return xx.x>yy.x;return xx.y<yy.y;
}void solve(){int n; cin>>n;for(int i=1;i<=n;i++){int x,y; cin>>x>>y;a.push_back({x,y});}sort(a.begin(),a.end(),cmp);int num=0,prex=-1,prey=-1;for(auto i:a){//计算不相同的次数if(i.x==prex&&i.y==prey) continue;num++;prex=i.x; prey=i.y;}cout<<num;
} signed main(){IOS;int T=1;
// cin>>T;while(T--){solve();}return 0;
}
3 匹配二元组的数量
基本思路:
- 一对二元组(i,j)下标需要满足两个条件,一个是i<j,另一个是ai/j==aj/i. 对于第二个条件,我们不妨变一下形,得到aii == ajj.
- 每个数的值都乘以它的下标(下标从1开始),问题就变成了找到有多少个数相等,从这些数中任意选出两个组成一个匹配二元组,这不就是组合数吗,答案加上每个数个数的C(n,2),可以用哈希统计每个数有多少个!
代码:
#include<bits/stdc++.h>
using namespace std;#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define endl "\n"
#define int long long
const int N = 1e6+10, INF=1e18+10;
unordered_map<int,int> mp;
int n,ans;void solve(){cin>>n;vector<int> a(n+1);for(int i=1;i<=n;i++)cin>>a[i],mp[i*a[i]]++;for(auto i:mp)ans+=i.se*(i.se-1)/2;cout<<ans;} signed main(){IOS;int T=1;
// cin>>T;while(T--){solve();}return 0;
}
4 元素交换
基本思路:
- 2*N的二进制数组,其中0、1的个数各占一半,要求交换任意两个元素,使得最后的数组不存在连续的0或1
- 我们可以发现最后数组只可能有两种状态:
- 一个状态是010101…01
- 另一个状态是101010…10
- 我们只需统计当前数组与目标数组(目标数组为以上两种状态中的一种)有多少个不同的元素,假设有x个不同的元素,那么x/2即为操作次数,为什么呢?因为每交换一次,就有两个元素回到正确的位置。
- 最后我们只需取两种情况中的最小值,即为最小操作次数!
代码:
#include<bits/stdc++.h>
using namespace std;#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define endl "\n"
#define int long long
const int N = 1e6+10, INF=1e18+10;
unordered_map<int,int> mp;
int ans=0;void solve(){int n;cin>>n;vector<int> a(2*n+1),b(2*n+1),c(2*n+1);for(int i=1;i<=2*n;i++){b[i]=0,c[i]=0;}for(int i=1;i<=2*n;i++)cin>>a[i];for(int i=1;i<=2*n;i++)//构造两个目标数组,其实也可以不用实现,判断奇偶即可if(i&1) b[i]=1;else c[i]=1;
// for(int i=1;i<=2*n;i++) cout<<b[i]<<' ';cout<<endl;
// for(int i=1;i<=2*n;i++) cout<<c[i]<<' ';cout<<endl;int ans=INF,n1=0,n2=0;for(int i=1;i<=2*n;i++){if(a[i]!=b[i]) n1++;if(a[i]!=c[i]) n2++;}cout<<min(n1/2,n2/2);
} signed main(){IOS;int T=1;
// cin>>T;while(T--){solve();}return 0;
}
5 下棋的贝贝
基本思路:
- 首先我们需要理解题意,两个点坐标的曼哈顿距离等于1,这两点就是邻居!求出所有棋子邻居数量总和的最大值是多少?
- 画图的可能会更直观些

- 有图可以发现,我们更倾向于构造正方形,这样能才能保证邻居数量总和最大
- 每个棋子的最多的邻居是4个,即上下左右都是邻居。还可以发现处于边界位置的方块可能有一个邻居,两个邻居或者三个邻居。
- 我们不妨假设每个棋子都有4个邻居,那么所有棋子邻居数量总和就为4n,然后在减去每个棋子多出来的邻居,由图不难发现,只有处于边界的棋子的邻居数量是少于4的。
- 我们知道如果是完整的矩形,位于矩形四个角的棋子会有2个邻居,其余处于边界的棋子都有3个邻居。我们可以把缺的部分补成一个矩形!那么多出来的邻居总数=矩形的长2+矩形的宽2。结合示意图模拟一下不难发现补出来的的棋子不会对多出的邻居总数产生影响。
代码:
void solve(){int n; cin>>n;int l,h,m;m=sqrt(n);//可以拼凑出的最大的正方形的边长 l=h=m;if(l*h<n) l++;//矩形长 if(l*h<n) h++;//矩形宽 cout<<4*n-2*l-2*h;
}
6 方程
思路:
- 我们直到了x+1/x = k, 求 x^(n) + 1/(x^n)
- 我们不妨设f(n)= x^(n) + 1/(x^n) 是关于x的函数
- 以下我粗糙的证明了一下递推公式:

- 我们虽然找到了递推公式,但是发现n,k的范围都是1e9,直接一项一项求的话肯定会超时的!这时我们就需要矩阵快速幂来优化!f(1)=k , f(2)=k*k-2; 构建矩阵第一行:(0,-1) 第二行(1,k)推得f(2),f(3)
代码:
#include<bits/stdc++.h>
using namespace std;#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define endl "\n"
#define int long long
const int N = 2e2+10, p=1e9+7;
int n=2,f[N+1],a[N+1][N+1];void aa(){//a*=a long long w[N+1][N+1];//临时存放a*a memset(w,0,sizeof(w));for(int i=1;i<=n;i++)for(int k=1;k<=n;k++)if(a[i][k])//优化,a[i][k]不为0 for(int j=1;j<=n;j++)if(a[k][j])//优化 w[i][j]+=a[i][k]*a[k][j],w[i][j]%=p;memcpy(a,w,sizeof(a));//放回a
}void fa(){//f*=aint w[N+1];memset(w,0,sizeof(w));for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)w[i]+=f[j]*a[j][i],w[i]%=p;memcpy(f,w,sizeof(f));
}void matrixpow(int k){//矩阵快速幂 while(k){if(k&1) fa();//f*=a;aa();//a*=a;k>>=1;}
}void solve(){int m,k;cin>>m>>k;f[1]=k,f[2]=((k*k-2)%p+p)%p;//f[1],f[2] A^(m-1) f[m] f[m+1]a[1][1]=0,a[1][2]=-1;//构建矩阵A a[2][1]=1,a[2][2]=k;matrixpow(m-1);//移m-1位 cout<<f[1]<<endl;//f[1]存的即为第m项
} signed main(){
// IOS;int T=1;cin>>T;while(T--){solve();}return 0;
}
/*
1
2 22
*/
相关文章:
蓝桥杯——第 5 场 小白入门赛(c++详解!!!)
文章目录 1 十二生肖基本思路: 2 欢迎参加福建省大学生程序设计竞赛基本思路:代码: 3 匹配二元组的数量基本思路:代码: 4 元素交换基本思路:代码: 5 下棋的贝贝基本思路:代码: 6 方程…...
Codeforces Round 303 (Div. 2)C. Kefa and Park(DFS、实现)
文章目录 题面链接题意题解代码总结 题面 链接 C. Kefa and Park 题意 求叶节点数量,叶节点满足,从根节点到叶节点的路径上最长连续1的长度小于m 题解 这道题目主要是实现,当不满足条件时直接返回。 到达叶节点后统计答案,用…...
797. 差分
Problem: 797. 差分 文章目录 思路解题方法复杂度Code 思路 这是一个差分数组的问题。差分数组的主要适用场景是频繁对原始数组的某一个区间进行增减操作。这种操作是区间修改操作,在这种操作下,差分数组只需要对区间的两个端点进行操作,时间…...
2024.2.5 vscode连不上虚拟机,始终waiting for server log
昨天还好好的,吃着火锅,做着毕设,突然就被vscode给劫了。 起初,哥们跟着网上教程有模有样地删除了安装包缓存,还删除了.vscode-server,发现没卵用,之前都是搜那个弹窗报错。 后来发现原来是vsco…...
CSS基础---新手入门级详解
CSS:层叠样式表 CSS(Cascading Style Sheets,层叠样式表),是一种用来为结构化文档添加样式(字体、间距和颜色)的计算机语言,css扩展名为.css。 实例: <!DOCTYPE html><html> <head><…...
Python中Pymysql库的常见用法和代码示例
关注B站可以观看更多实战教学视频:肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com) pymysql是一个用于连接MySQL数据库的Python库,它允许你执行SQL查询并处理返回的结果。以下是pymysql库的一些常见用法和代码示例: 1. 安装…...
使用 WPF + Chrome 内核实现高稳定性的在线客服系统复合应用程序
对于在线客服与营销系统,客服端指的是后台提供服务的客服或营销人员,他们使用客服程序在后台观察网站的被访情况,开展营销活动或提供客户服务。在本篇文章中,我将详细介绍如何通过 WPF Chrome 内核的方式实现复合客服端应用程序。…...
fastapi mysql 开发restful 3
pip install mysql-connector-python pymysql 数据库链接 创建src目录,里面创建db.py 代码如下: # 导入mysql.connector模块,该模块提供了与MySQL数据库进行连接和交互的功能。 import mysql.connector # 定义一个函数get_db_connectio…...
【Uniapp uni-app学习与快速上手——详细讲解】
Uniapp uni-app学习与快速上手——详细讲解 1. 介绍2. Uni-app 学习资源3. 快速上手4. 开始第一个项目5. 调试和发布 1. 介绍 Uni-app 是一个使用 Vue.js 编写多端应用的前端框架。开发者可以编写一份代码,然后发布到iOS、Android、网页(响应式…...
剑指offer——旋转数组的最小数字
目录 1. 题目描述2. 分析思路2.1 示例分析 3. 更完美的做法 1. 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3.4,5,1.2}为{1.2,3,4,5}的一个旋转&a…...
盘点数据可视化大屏焦点图十种样式
所谓焦点图就是大屏中居于中心位置的图,是视觉的中心,本位列举了十种焦点图样式供大家参考。 地球作为焦点图 图片来自网络 地图作为焦点图 图片来自网络 城市作为焦点图 图片来自网络 园区做焦点图 图片来自网络 建筑做焦点图 图片来自网络 生产线…...
问题 G: 老鼠和猫的交易
题目描述 小老鼠准备了M磅的猫粮,准备去和看守仓库的猫做交易,因为仓库里有小老鼠喜欢吃的五香豆。 仓库有N个房间; 第i个房间有J[i] 磅的五香豆,并且需要用F[i]磅的猫粮去交换; 老鼠不必交换该房间所有的五香豆&…...
HiveSQL——借助聚合函数与case when行转列
一、条件函数 if 条件函数 if函数是最常用到的条件函数,其写法是if(xn,a,b), xn代表判断条件,如果xn时,那么结果返回a ,否则返回b。 selectif(age < 25 or age is null, 25岁以下, 25岁以上) as age_cnt,count(1) as number from table…...
冒泡排序,判断回文,以及12-24小时制
6-7 定义函数,完成冒泡排序算法。 本题定义一个冒泡排序算法的函数,调用函数后实现数组的升序排序,其数组长度为任意长度。 函数接口定义: 在这里描述函数接口。例如: void sort(int arr[],int n); 在这里解释接口…...
【Vue】computed与watch
📝个人主页:五敷有你 🔥系列专栏:Vue⛺️稳重求进,晒太阳 计算属性 概念:基于现有的数据,计算出来新的属性,依赖的数据变化,自动重新计算 语法: 声明…...
探索设计模式的魅力:捕捉变化的风-用观察者模式提升用户体验
设计模式专栏:http://t.csdnimg.cn/U54zu 目录 一、引言 核心概念 应用场景 可以解决的问题 二、场景案例 2.1 不用设计模式实现 2.2 存在问题 2.3 使用设计模式实现 2.4 成功克服 三、工作原理 3.1 结构图和说明 3.2 工作原理详解 3.3 实现步骤 四、 优…...
SpringCloud-高级篇(十九)
我们已经学过使用 SpringAMQP去收和发消息,但是发和收消息是只是MQ最基本的功能了,在收发消息的过程中,会有很多的问题需要去解决,下面需要学习rabbitMQ的高级特性去解决 死信交换机:这个可以帮助我们实现消息的延迟的…...
Junit常用断言
0.断言简介 断言:assert Q:断言的作用 更方便的对结果进行判定 "有针对性"的if判断 针对两个变量值是否相同 使用assertEquals针对两个对象是否相同 使用assertSame针对返回值是否为True 使用assertTrue 1.断言的参数 assertXXX(”断言失败时提升的信息“&#x…...
docker 实现 mysql:8.3.0 主从复制(2024年2月13日最新版本)
环境为 CentOS 7.6, 具体操作请看MySQL主从复制01-主从复制概述及原理_哔哩哔哩_bilibili 1、配置主服务器 # 启动主服务器 docker run -p 3306:3306 --name mysql_master -e MYSQL_ROOT_PASSWORDnmnmnm67890890 -v /docker/mysql_master/conf:/etc/mysql/conf.d…...
STM32 + ESP8266,连接阿里云 上报/订阅数据
(文章正在编辑中,一点点地截图操作过程,估计要拖拉两三天) 一、烧录MQTT固件 ESP8266出厂时,默认是AT固件。连接阿里云,需要使用MQTT固件。 1、独立EPS8266模块的烧录方法 2、魔女开发板,板载…...
AI皮衣设计新体验:The Leather Archive时尚杂志风界面实测
AI皮衣设计新体验:The Leather Archive时尚杂志风界面实测 1. 引言:当AI遇见时尚杂志 走进任何一家高端时尚杂志的编辑部,你会看到精心设计的版面、充满艺术感的排版和令人惊艳的视觉呈现。现在,这种专业级的时尚杂志体验被带入…...
YOLOv13开箱即用镜像体验:简单几步,完成你的第一个AI检测项目
YOLOv13开箱即用镜像体验:简单几步,完成你的第一个AI检测项目 1. 为什么选择YOLOv13官版镜像? 1.1 传统部署的痛点 在目标检测领域,YOLO系列一直是开发者的首选。但传统部署方式往往让人望而却步: 环境配置复杂&am…...
晶体塑性有限元显式代码VUMAT(同时也包含umat子程序),基于黄永刚umat的vumat子...
晶体塑性有限元显式代码VUMAT(同时也包含umat子程序),基于黄永刚umat的vumat子送学习资料。黄永刚huang.for晶体塑性子程序具有良好的收敛性,以及较高的计算效率,在一般变形下可直接使用。 然而在一些特殊的工况下&…...
霜儿-汉服-造相Z-Turbo惊艳作品展:AI复原历史人物经典汉服造型
霜儿-汉服-造相Z-Turbo惊艳作品展:AI复原历史人物经典汉服造型 最近,一个名为“霜儿-汉服-造相Z-Turbo”的AI模型在圈子里悄悄火了起来。它干的事儿挺有意思:不是凭空创造新形象,而是试图“复原”那些活在文字、画作和历史记忆里…...
Qwen3-Reranker-0.6B保姆级教程:requirements.txt依赖版本兼容性避坑指南
Qwen3-Reranker-0.6B保姆级教程:requirements.txt依赖版本兼容性避坑指南 1. 引言:为什么依赖版本如此重要 当你第一次接触Qwen3-Reranker-0.6B这个强大的重排序模型时,可能会觉得安装过程很简单——不就是运行一个pip install命令吗&#…...
乙巳马年·皇城大门春联生成终端W与低代码平台集成:在Dify中快速创建AI应用
乙巳马年皇城大门春联生成终端W与低代码平台集成:在Dify中快速创建AI应用 又到了岁末年初,很多朋友、商家甚至社区都在为准备春联发愁。传统方式要么自己写,要么找人设计,费时费力不说,风格还未必满意。现在ÿ…...
Qwen3.5-4B模型网络协议分析应用:模拟客户端与解析通信数据
Qwen3.5-4B模型网络协议分析应用:模拟客户端与解析通信数据 1. 网络协议分析的AI新思路 网络协议分析一直是运维工程师和安全研究人员的日常工作重点。传统方法需要人工查阅RFC文档、编写测试代码、分析抓包数据,整个过程耗时费力。Qwen3.5-4B模型的出…...
别再只盯着username了!CTF表单注入题中,用Sqlmap探测password等隐藏参数的高效技巧
突破思维定式:CTF表单注入中隐藏参数的高阶利用策略 在CTF竞赛的Web安全赛道上,SQL注入始终是选手们的必修课。但当我们反复练习username参数注入时,出题人早已在暗处微笑——他们知道大多数选手会形成路径依赖。我曾在一个省级CTF比赛中遇到…...
YOLO X Layout中小企业应用:无需训练,开箱即用的文档结构理解AI工具
YOLO X Layout中小企业应用:无需训练,开箱即用的文档结构理解AI工具 1. 引言:让文档理解变得简单高效 在日常办公中,我们经常需要处理各种文档——扫描的合同、拍摄的表格、电子版报告。传统方式需要人工逐个识别文档中的文字、…...
【技术解构】LPRNet_Pytorch:如何用轻量级模型实现工业级车牌识别
【技术解构】LPRNet_Pytorch:如何用轻量级模型实现工业级车牌识别 【免费下载链接】LPRNet_Pytorch Pytorch Implementation For LPRNet, A High Performance And Lightweight License Plate Recognition Framework. 项目地址: https://gitcode.com/gh_mirrors/l…...
