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)的更多相关文章

  1. 计蒜客蓝桥杯模拟赛 后缀字符串:STL_map+贪心

    问题描述 一天蒜头君得到 n 个字符串 si​,每个字符串的长度都不超过 10. 蒜头君在想,在这 n 个字符串中,以 si​ 为后缀的字符串有多少个呢? 输入格式 第一行输入一个整数 n. 接下来  ...

  2. 计蒜客蓝桥杯模拟赛五J. 程序设计:放置守卫

    在一张 n 行 m 列的方格地图上放置一些守卫,每个守卫能守护上.左.右三个方向上相邻的方格和自己所在的方格.如下图,红色的方格放置守卫,绿色的方格为该守卫守护的区域. 现在要求在地图上放置若干个守卫 ...

  3. 蓝桥杯模拟赛-引爆炸弹-DFS+并查集

    今天整理电脑,翻出来了很久以前大佬给的题,贴一下. 引爆炸弹 1000ms 在一个 n×m的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸 ...

  4. BFS 搜索 蓝桥杯模拟赛

    题目链接:https://nanti.jisuanke.com/t/36117 这个题目想不到用广搜来做,一直在想深搜. 广搜的思路呢,是把最外圈不是黑色(不是0)的数 的位置 i 和 j 进队,赋值 ...

  5. 蓝桥杯模拟赛 引爆炸弹-并查集+DFS

    引爆炸弹 在一个 n×m的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去. 现在为了引爆地图上的所有炸弹, ...

  6. 52-2018 蓝桥杯省赛 B 组模拟赛(一)java

    最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增.比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 313133131 ...

  7. 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结

    第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...

  8. Python解答蓝桥杯省赛真题之从入门到真题(二刷题目一直更新)

    蓝桥刷题 原文链接: https://github.com/libo-sober/LanQiaoCup Python解答蓝桥杯省赛真题之从入门到真题 不同字串 """ 一 ...

  9. 带分数--第四届蓝桥杯省赛C++B/C组

    第四届蓝桥杯省赛C++B/C组----带分数 思路: 1.先枚举全排列 2.枚举位数 3.判断是否满足要求 这道题也就是n=a+b/c,求出符合要求的abc的方案数.进行优化时,可以对等式进行改写,改 ...

  10. 2021蓝桥杯省赛B组(C/C++)E.路径【最短路DP】

    2021蓝桥杯省赛B组题目(C/C++)E.路径 最短路径, 因为变化情况比较多, 所以开始想的是深搜, 但是太慢了, 跑不出来, 后来就想着优化一下, 有的地方到另一个地方可能会考虑很多遍, 于是考 ...

随机推荐

  1. Db4o数据库-其它存储

    面向对象的数据库db4o: 初识db4o 2021-01-11 23:18:34 阅读数 9211 收藏 0 前言 业界对持久存储领域的追求从未停止过,为了更方便.更容易地用对象表达我们的思维,开源领 ...

  2. Breakout pg walkthrough Intermediate

    nmap ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.192.182 Starting Nmap 7.94SVN ( https://nmap.org ...

  3. spandsp_start_dtmf的bug及修复

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. 之前的文章中介绍过DTMF从2833到inband的转换,其中inband到2833的转换使用了"spandsp_star ...

  4. Oracle 遍历游标的四种方式汇总(for、fetch、while、BULK COLLECT)

    本文原创:https://www.cnblogs.com/Marydon20170307/p/12869692.html 感谢博主分享 注意:原文中方式四FORALL处有语法错误,应该使用FOR. 1 ...

  5. uni-app组件 信息列表组件

    之前我一直在,要想提高自己的代码质量, 就一定要封装自己的组件, 所以我就尽量使用自己的组件.这样可以提高自己的效率 写组件的好处:减少代码的冗余 封装组件的时候,为了不让子元素的padding, 影 ...

  6. WEB系统安全之开源软件风险使用评估

    本文分享自天翼云开发者社区<WEB系统安全之开源软件风险使用评估>,作者:Coding 中国信息通信研究院(China Academy of Information and Communi ...

  7. docker镜像是上传与下载

    docker也有自己的镜像仓库,官方仓库网站是https://hub.docker.com/.   如果需要将自己的镜像上传至镜像仓库,首先需要在DockerHub创建账号,地址:https://hu ...

  8. Drasi Reactions SDK

    Drasi Reactions SDK 是一个跨语言的开发工具包,用于实现和处理 Drasi 平台的 Reactions(反应器)功能.该 SDK 目前支持三种主流编程语言:JavaScript/Ty ...

  9. 关于Convert.ToUInt16(string? value, int fromBase);

    例子: static void Main(string[] args) { string x = "17"; ushort hex = Convert.ToUInt16(x, 16 ...

  10. 「一」vim简介

    什么是vim? 一个历史悠久的文本编辑器 vim采用了模式编辑的理念,提供了多种模式 底線命令模式 插入模式 命令模式 交互式教程 $: vimtutor :自带教程 $: vim -h : vim命 ...