首页 > 其他分享 >2024 蓝桥杯模拟赛3(div1+div2)

2024 蓝桥杯模拟赛3(div1+div2)

时间:2024-03-01 16:55:38浏览次数:20  
标签:2024 int void cin 蓝桥 using include div1

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 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();
}

标签:2024,int,void,cin,蓝桥,using,include,div1
From: https://www.cnblogs.com/swjswjswj/p/18044077

相关文章

  • 2024-03-01-Linux高级网络编程(6-原始套接字)
    6.原始套接字6.1TCPUDP回顾数据报式套接字(SOCK_DGRAM)无连接的socket,针对无连接的UDP服务可通过邮件模型来进行对比流式套接字(SOCK_STREAM)面向连接的socket,针对面向连接的TCP服务可通过电话模型来进行对比这两类套接字似乎涵盖了TCP/IP应用的全部TCP......
  • $\text{20240301}$ 字符串练习题解
    \(\text{20240301}\)字符串练习题解一定要写冬令营的题吗?遗憾的。P9717给了一个\(n\)个数的首尾相接的字符串,求若干个操作后能形成的不同的字符串大小。一次操作定义为:将字符串内所有的\(\text{01}\)同时改成\(\text{10}\),如图。通过这张图我们似乎发现了一个规律,这......
  • 【2024-02-23】买车念想
    20:00我相信任何事情都不会不留痕迹地过去,我们所走的最小的一步都会影响现在的、将来的生活。                                                 ——契诃夫过年回来后......
  • 【2024-02-22】金石为开
    20:00人干起活来时他就活起来,像春天的一株树,他活着,而不仅仅在干活。                                                 ——D·H·劳伦斯今天是我们老家镇上的一个国家......
  • 2024省选游记
    Day-1最后一天了,作为初三的我对于省选还是不怎么抱有希望的,但是就像是西安交大一样,还是有一丝丝的侥幸心理在的晚上打算补一下这几天总结的,但是发现拉的有点多,就等以后再补吧学长们有的已经开始写退役游记了,他们的OI生涯也如同百日誓师一样,进入了非常短的倒计时......
  • 英语背单词 专四词汇 2024年03月 ChatGPT
     2024-03-01indexwordpronunciationpartsofspeechexplanationtranslationinChinese1inert/ɪˈnəːt/adjectiveLackingtheabilitytomoveorreact;inactive.惰性的;不活跃的2anticipation/ænˌtɪsɪˈpeɪʃən/nounTheactoflookingfo......
  • 2024.03 别急记录
    1.IOI2018-狼人/werewolf[省选/NOI-]题意简述:多次询问求是否存在一条\(s\tot\)的路径\(a_1,a_2,...,a_k\)和路径上一个点\(a_i\)使\(a_1,...,a_i\in[L,n]\)且\(a_i,...,a_k\in[1,R]\)。首先求出两棵kruskal重构树:第一棵树边权值设为\(\min(u,v)\),由大到小......
  • KubeSphere 社区双周报|2024.02.01-02.29
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。因假期,上期双周报停更,因此本次双周报会包含四周的内容。本次双周报涵盖时间为:2......
  • 2024-03-01-Lniux高级网络编程(5-网络通信过程)
    5.网络通信过程5.1网络通信概述​通过对TCP、UDP的编程学习,能够完成对实际项目需求中网络功能的开发,为了提高程序的稳定性以及效率等等,通常会使用多线程、多进程开发;根据功能需求的不同,可以利用C/S、B/S模式进行开发。作为嵌入式工程师,需要时整个网络通信的过程进......
  • 2024-02-29-Linux高级网络编程(4-TCP编程)
    4.TCP编程4.1TCP介绍面向连接的流式协议;可靠、出错重传、且每收到一个数据都要给出相应的确认通信之前需要建立链接服务器被动链接,客户端是主动链接TCP编程流程服务器:1.创建套接字socket()2.将套接字与服务器网络信息结构体绑定bind()3.将套接字设置为监听状......