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.路径 最短路径, 因为变化情况比较多, 所以开始想的是深搜, 但是太慢了, 跑不出来, 后来就想着优化一下, 有的地方到另一个地方可能会考虑很多遍, 于是考 ...
随机推荐
- weixueyuan-Nginx集群9
https://www.weixueyuan.net/nginx/colony/ LVS(Linux虚拟服务器)简介 LVS(Linux Virtual Server)是一个开源的负载均衡项目,是国内 ...
- nvim及插件安装配置
1. install neovim 1 sudo apt install neovim After installing neovim, we can delete old vi. 3. instal ...
- Mac安装NTL库
Mac安装NTL库 NTL是一个高性能.可移植的C++库,为任意长度的整数提供数据结构和算法:用于整数和有限域上的向量.矩阵和多项式:以及任意精度的浮点运算. 具有以下功能: 任意长度整数运算和任意精 ...
- matlib:图像旋转-缩放
需求 使用MATLAB尝试完成一个自定义的图像攻击软件,功能描述: 1)根据输入参数,完成旋转功能 2)根据输入参数,完成缩放功能 开始 旋转 参数:参数为正,顺时针旋转:参数为负,逆时针旋转 主要代 ...
- Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈
Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈 [摘要] JVM(Java Virtual Machine)作为Java研发人员工作的每天都会接触到的虚拟机,其运行机制 ...
- uni-app之页面跳转(点击按钮进行页面跳转)
001==>点击按钮进行页面跳转 <view class="" @tap="gotoLunBo"> 去轮播页 </view> // ...
- AI定制祝福视频,广州塔、动态彩灯、LED表白,直播互动新玩法(附下载链接)
在追剧的时候经常能看到一些浪漫的告白桥段,男主用圣诞彩灯表白.用城市标志性建筑的LED表白,或者在五光十色的烟花绽放后刻下女主角的名字,充满了仪式感和氛围感~ 现在,这样的表白效果用AI软件就能实现了 ...
- THUWC2024 游记
省流:D1T3,Pretest 97,D2 和 4.so 决斗两小时(胜利). day 0 从成都早上坐火车,中午到了重庆. 坐轻轨到了酒店附近,虽然我不住酒店.lxs 带着吃了一碗面.重庆的面挺好吃 ...
- dart 数组去重
List list = ['1','2','3','3']; list = list.toSet().toList();
- python渗透脚本小子速成教程
python代码即脚本,脚本小子即是python.python只有几个类:常量.字符串,API不可知的数,变量定义.常量是不变固定的,变量是可变的,字符串一般都是单引号''和双引号"&quo ...