2024 蓝桥杯模拟赛3(div1+div2)
2024 蓝桥杯模拟赛3(div1+div2)
P8834 [传智杯 #3 决赛] 序列
简单的模拟,数据范围很小,暴力即可
点击查看代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
void solve()
{
ll n,k,a[N],cnt=0;
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++){
if(i<j&&a[i]*a[j]<=k) cnt++;
}
}
cout<<cnt;
}
int main()
{
int t=1;
while(t--)
{
solve();
}
return 0;
}
P8780 [蓝桥杯 2022 省 B] 刷题统计
把一周作为一个周期,然后分类讨论总量除以周期量以后剩余的题数是小于五天的量,还是大于五天的量,也是简单的模拟
点击查看代码
#include <bits/stdc++.h>
using namespace std;
void solve(){
long long n,m,t,k,ans,h;
cin>>n>>m>>t;
k=5*n+2*m;//一个周期的刷题量
h=t-(k*(t/k));//除完以后剩余的刷题量
if(h<=5*n) ans=7*(t/k)+ceil(1.0*h/n);
else if(h>5*n) ans=7*(t/k)+ceil(1.0*(h-5*n)/m)+5;
cout<<ans;
}
int main()
{
int t=1;
while(t--)
{
solve();
}
return 0;
}
P8623 [蓝桥杯 2015 省 B] 移动距离
同样是一题简单的模拟题,最短距离就是两个点行和行的差值+列和列的值,蛇形排列注意推导一下奇数行和偶数行的点的列数即可
点击查看代码
#include <bits/stdc++.h>
using namespace std;
void solve()
{
int w,n,m,r1,c1,r2,c2,ans;//r为行数,c为列数
cin>>w>>n>>m;
r1=ceil(1.0*n/w);
r2=ceil(1.0*m/w);
if(r1%2==0){//偶数行的点的列数
c1=r1*w+1-n;
}
else c1=n-w*(r1-1);
if(r2%2==0){//奇数行的点的列数
c2=r2*w+1-m;
}
else c2=m-w*(r2-1);
cout<<abs(r1-r2)+abs(c1-c2);
}
int main()
{
int t=1;
while(t--)
{
solve();
}
return 0;
}
P8738 [蓝桥杯 2020 国 C] 天干地支
我们从题目给的2020年为基准,重新打表一套新的天干地支,2020%10==0所以天干从geng开始,2020%12=4所以zi在第五个位置,学习更换基准的思想有些题目可以事半功倍
点击查看代码
#include<bits/stdc++.h>
using namespace std;
string a[10] = { "geng","xin","ren","gui","jia","yi","bing","ding","wu","ji" };//天干
string b[12] = { "shen","you","xu","hai","zi","chou","yin","mao","chen","si","wu","wei" };
void solve()
{
int n;
cin>>n;
cout<<a[n%10]<<b[n%12];
}
int main()
{
int t=1;
while(t--)
{
solve();
}
return 0;
}
P8635 [蓝桥杯 2016 省 AB] 四平方和
暴力枚举四层循环会超时,所以我们可以考虑枚举三个数,看第四个数是不是完全平方数,(int)sqrt(第四个数) 然后让这个平方看等不等于这第四个数,在枚举三个数的过程中我们假设i,j,k,i×i<n, i×i+j×j<n, i×i+j×j+k×k<n,这是每层循环的范围
点击查看代码
#include <bits/stdc++.h>
using namespace std;
void solve()
{
int n;
cin>>n;
for(int i=0;i*i<n;i++)
{
for(int j=i;i*i+j*j<n;j++)
{
for(int k=j;i*i+j*j+k*k<n;k++)
{
int m=n-i*i-j*j-k*k;
int h=(int)sqrt(m);
if(h*h==m){
cout<<i<<" "<<j<<" "<<k<<" "<<h;
return ;
}
}
}
}
}
int main()
{
int t=1;
while(t--)
{
solve();
}
return 0;
}
P8697 [蓝桥杯 2019 国 C] 最长子序列
从要查找的第一个字母开始去遍历母字符串,找到后用pos更新起点,然后看是否可以找完,如果一个字母已经让这个位置更新到了末尾就没有结果
点击查看代码
#include <bits/stdc++.h>
using namespace std;
void solve()
{
string s1,s2;
int cnt=0;
int pos=0;
cin>>s1;
cin>>s2;
for(int i=0;i<s2.size();i++)
{
for(int j=pos;j<s1.size();j++)
{
if(s2[i]==s1[j]){
pos=j+1;
cnt++;
break;//找到就跳出 找下一个
}
if(j==s1.size()-1){//这个字母找不到勒
cout<<cnt;
return;
}
}
}
cout<<cnt;
}
int main()
{
int t=1;
while(t--)
{
solve();
}
return 0;
}
P8654 [蓝桥杯 2017 国 C] 合根植物
这是一题并查集的模板题,学习一下并查集的基础就会了
点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int p[N];
int find(int x)//朴素并查集模板
{
if(p[x]!=x) p[x]=find(p[x]);
return find(p[x]);
}
void solve()
{
int n,k,a,b,m,ans;
cin>>n>>k;
for(int i=1;i<=n*k;i++) p[i]=i;//初始化并查集
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>a>>b;
p[find(a)]=find(b);//合并a,b所在的两个集合
}
for(int i=1;i<=n*k;i++){
if(i==p[i]) ans++;//看有几个集合
}
cout<<ans;
}
int main()
{
solve();
}
P8692 [蓝桥杯 2019 国 C] 数正方形
进行如图的推断得出规律

题解代码,注意取余那一步
点击查看代码
#include <bits/stdc++.h>
#define int long long
const int mod=1e9+7;
using namespace std;
void solve()
{
int n,sum=0;
cin>>n;
for(int i=1;i<=n-1;i++) {
sum+=(n-i)*(n-i)*i;
sum%=mod;};//这一步不能写出sum+=(n-i)^2%mod;
cout<<sum;
}
signed main()
{
solve();
}
点击查看代码
2024 蓝桥杯模拟赛3(div1+div2)的更多相关文章
- 计蒜客蓝桥杯模拟赛 后缀字符串:STL_map+贪心
问题描述 一天蒜头君得到 n 个字符串 si,每个字符串的长度都不超过 10. 蒜头君在想,在这 n 个字符串中,以 si 为后缀的字符串有多少个呢? 输入格式 第一行输入一个整数 n. 接下来 ...
- 计蒜客蓝桥杯模拟赛五J. 程序设计:放置守卫
在一张 n 行 m 列的方格地图上放置一些守卫,每个守卫能守护上.左.右三个方向上相邻的方格和自己所在的方格.如下图,红色的方格放置守卫,绿色的方格为该守卫守护的区域. 现在要求在地图上放置若干个守卫 ...
- 蓝桥杯模拟赛-引爆炸弹-DFS+并查集
今天整理电脑,翻出来了很久以前大佬给的题,贴一下. 引爆炸弹 1000ms 在一个 n×m的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸 ...
- BFS 搜索 蓝桥杯模拟赛
题目链接:https://nanti.jisuanke.com/t/36117 这个题目想不到用广搜来做,一直在想深搜. 广搜的思路呢,是把最外圈不是黑色(不是0)的数 的位置 i 和 j 进队,赋值 ...
- 蓝桥杯模拟赛 引爆炸弹-并查集+DFS
引爆炸弹 在一个 n×m的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去. 现在为了引爆地图上的所有炸弹, ...
- 52-2018 蓝桥杯省赛 B 组模拟赛(一)java
最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增.比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 313133131 ...
- 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结
第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...
- Python解答蓝桥杯省赛真题之从入门到真题(二刷题目一直更新)
蓝桥刷题 原文链接: https://github.com/libo-sober/LanQiaoCup Python解答蓝桥杯省赛真题之从入门到真题 不同字串 """ 一 ...
- 带分数--第四届蓝桥杯省赛C++B/C组
第四届蓝桥杯省赛C++B/C组----带分数 思路: 1.先枚举全排列 2.枚举位数 3.判断是否满足要求 这道题也就是n=a+b/c,求出符合要求的abc的方案数.进行优化时,可以对等式进行改写,改 ...
- 2021蓝桥杯省赛B组(C/C++)E.路径【最短路DP】
2021蓝桥杯省赛B组题目(C/C++)E.路径 最短路径, 因为变化情况比较多, 所以开始想的是深搜, 但是太慢了, 跑不出来, 后来就想着优化一下, 有的地方到另一个地方可能会考虑很多遍, 于是考 ...
随机推荐
- 如何快速的开发一个完整的iOS直播app(编解码原理)
为什么要编码 编码就是压缩图像 手机摄像头采集的都是一帧一帧的图片,只要每秒采集了24帧,看起来就比较流畅,视频就是由一帧一帧的图片构成的,常见图片格式png,jpg,一张图片2M,一秒钟30帧,那么 ...
- java基础知识回顾之java Thread类学习(四)--线程的状态以及转化使用的方法介绍
java基础知识回顾之java Thread类学习(十)--线程的状态以及转化使用的方法介绍 线程的概述: 线程是程序的多个执行路径,执行调度的单位,依托于进程存在.线程不仅 ...
- nginx平台初探-3
过滤模块简介 (90%) 执行时间和内容 (90%) 过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理.它的处理时间在获取回复内容之后,向用户发送响应之前.它的处理过程分 ...
- webrtc-streamer实时播放监控
公司要做web端监控实时播放,经过调研,webrtc-streamer的方式对前后端项目侵入最少,且没有延迟卡钝的现象. 一.准备工作 一个摄像头,摄像头对应的rtsp流链接,一台电脑,一个vue项目 ...
- Educational Codeforces Round 168 (Rated for Div. 2)
题目链接:Educational Codeforces Round 168 (Rated for Div. 2) 总结:题目较简单,但是发挥很一般.A,B题一直读假题,卡了半个小时:C题用char存i ...
- 混元API的加密机制与原生集成实战
今天,我们将重点讨论在对接混元大模型时需要特别关注的几个要点.首先,最为关键的一点是,混元大模型的加密方式相比于其他大模型更为复杂和严密.在对接过程中,我们通常避免使用混元官方提供的SDK进行集成,主 ...
- webstorm前端vue项目安装依赖包总结
npm install提示错误信息,与node.js版本有关.以下是用到的一些命令行参数: 1.清除npm的缓存:npm cache clean --force 2.设置npm下载镜像:npm con ...
- Oracle trunc的使用
在生产环境中我们经常会用到只取年月日或者时间处理的场景,大多数人用的都是to_char(string,'yyyy-mm-dd')或者to_date(string,'yyyy-mm-dd')来处理,不说 ...
- Python更换下载源:提升包安装速度的实用指南
Python更换下载源:提升包安装速度的实用指南 Python作为一门广泛使用的编程语言,其强大的生态系统和丰富的第三方库是吸引众多开发者的关键因素之一.然而,在使用pip安装这些第三方库时,由于网络 ...
- CF607B Zuma 题解
CF607B Zuma 不知道为什么你谷会评蓝,这不是很基础的区间DP吗. Problem - 607B - Codeforces 题意简述 消除回文子串的最小次数. 思路 对于区间\([i,j]\) ...