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.路径 最短路径, 因为变化情况比较多, 所以开始想的是深搜, 但是太慢了, 跑不出来, 后来就想着优化一下, 有的地方到另一个地方可能会考虑很多遍, 于是考 ...
随机推荐
- Db4o数据库-其它存储
面向对象的数据库db4o: 初识db4o 2021-01-11 23:18:34 阅读数 9211 收藏 0 前言 业界对持久存储领域的追求从未停止过,为了更方便.更容易地用对象表达我们的思维,开源领 ...
- Breakout pg walkthrough Intermediate
nmap ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.192.182 Starting Nmap 7.94SVN ( https://nmap.org ...
- spandsp_start_dtmf的bug及修复
概述 freeswitch是一款简单好用的VOIP开源软交换平台. 之前的文章中介绍过DTMF从2833到inband的转换,其中inband到2833的转换使用了"spandsp_star ...
- Oracle 遍历游标的四种方式汇总(for、fetch、while、BULK COLLECT)
本文原创:https://www.cnblogs.com/Marydon20170307/p/12869692.html 感谢博主分享 注意:原文中方式四FORALL处有语法错误,应该使用FOR. 1 ...
- uni-app组件 信息列表组件
之前我一直在,要想提高自己的代码质量, 就一定要封装自己的组件, 所以我就尽量使用自己的组件.这样可以提高自己的效率 写组件的好处:减少代码的冗余 封装组件的时候,为了不让子元素的padding, 影 ...
- WEB系统安全之开源软件风险使用评估
本文分享自天翼云开发者社区<WEB系统安全之开源软件风险使用评估>,作者:Coding 中国信息通信研究院(China Academy of Information and Communi ...
- docker镜像是上传与下载
docker也有自己的镜像仓库,官方仓库网站是https://hub.docker.com/. 如果需要将自己的镜像上传至镜像仓库,首先需要在DockerHub创建账号,地址:https://hu ...
- Drasi Reactions SDK
Drasi Reactions SDK 是一个跨语言的开发工具包,用于实现和处理 Drasi 平台的 Reactions(反应器)功能.该 SDK 目前支持三种主流编程语言:JavaScript/Ty ...
- 关于Convert.ToUInt16(string? value, int fromBase);
例子: static void Main(string[] args) { string x = "17"; ushort hex = Convert.ToUInt16(x, 16 ...
- 「一」vim简介
什么是vim? 一个历史悠久的文本编辑器 vim采用了模式编辑的理念,提供了多种模式 底線命令模式 插入模式 命令模式 交互式教程 $: vimtutor :自带教程 $: vim -h : vim命 ...