蓝桥杯刷题计划-洛谷-持续更新

P8598 [蓝桥杯 2013 省 AB] 错误票据

题目

#include <bits/stdc++.h>
#define endl '\n'
#define int long long 
#define INF 0x3f3f3f3f3f
const int N = 1000010;
using namespace std;
int arr[N];
signed main()
{
	int N;
	cin>>N;
	int idx;
	while(cin>>arr[++idx]){}
	//排序
	sort(arr+1,arr+idx+1);
	int ans1,ans2;
	for(int i = 1; i <= idx; i++){
		if(arr[i+1] - arr[i] == 2)
			ans1 = arr[i]+1;
		if(arr[i+1] == arr[i])
			ans2 = arr[i];
	
	}
	cout<<ans1<<' '<<ans2;
	return 0;
}

P8752 [蓝桥杯 2021 省 B2] 特殊年份

题目

#include<bits/stdc++.h>
#define ll longlong 

using namespace std;



int a[100010];
int main(){
	
	int n = 5;
	string s;
	int ans = 0;
	for(int i = 0; i < n;i++ ){
		cin>>s;
		if(s[0] == s[2]&& s[3] - s[1] == 1)
			ans++;
	}
	cout<<ans;
	
	return 0;
}

P8753 [蓝桥杯 2021 省 AB2] 小平方

题目

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;

const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int n;
	cin>>n;
	int cnt= 0 ;
	for(int i = 1; i<= n-1; i++){
		int x = i*i;
		if((x % n) < n/2.0){
			cnt++;
		}
	}
	cout<<cnt;
	return 0;
}

P8780 [蓝桥杯 2022 省 B] 刷题统计

题目

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;

const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int a,b,n;
	cin>>a>>b>>n;
	int sum = 0;
	int cnt = 1;
	while(sum<n){
		if(cnt % 7>=1&& cnt%7<=5)
			sum+=a;
		else
			sum+=b;
		cnt++;
	
	}
	
	cout<<cnt-1;
	return 0;
}

P8706 [蓝桥杯 2020 省 AB1] 解码

题目

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;

const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	string s;
	cin>>s;
	for(int i = 0;i < s.size();i++){
		if(s[i]>='1'&& s[i]<='9')
			for(int j = 0 ; j < s[i]-'1';j++)
				cout<<s[i-1];
		else
			cout<<s[i];
	}
	return 0;
}

P8717 [蓝桥杯 2020 省 AB2] 成绩分析

题目

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;

const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int n;
	int a[N];
	cin>>n;
	for(int i = 0 ;i < n;i++){
		cin>>a[i];
	}
	
	sort(a,a+n);
	double sum = 0;
	for(int i = 0 ; i < n;i++)
		sum+= a[i];
	double ans = sum/n*1.0;
	cout<<a[n-1]<<endl<<a[0]<<endl;
	printf("%.2lf",ans);
	return 0;
}

P8711 [蓝桥杯 2020 省 B1] 整除序列

题目

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;

const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n ;
	cin>>n;
	while(n>0){
		cout<<n<<" ";
		n = n>>1;
	}
	return 0;
}

P8722 [蓝桥杯 2020 省 AB3] 日期识别

题目

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
	unordered_map<string,int> mp{//创立哈希表,建立字符到整形的映射
	{"Jan",1},
	{"Feb",2},
	{"Mar",3},
	{"Apr",4},
	{"May",5},
	{"Jun",6},
	{"Jul",7},
	{"Aug",8},
	{"Sep",9},
	{"Oct",10},
	{"Nov",11},
	{"Dec",12}
};
const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	string s;
	cin>>s;
	string s1 = s.substr(0,3);
	string s2 = s.substr(3);
	
	cout<<mp[s1]<<" ";
	if(s2[0] != '0')
		cout<<s2[0];
	
	cout<<s2[1];
	return 0;
}

P8680 [蓝桥杯 2019 省 B] 特别数的和

题目

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;


const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int n;
	int ans = 0;
	cin>>n;
	for(int i = 1;i<=n;i++){
		string s = to_string(i);
		for(int j =0; j <s.size();j++){
			if(s[j] == '0' || s[j] =='1'||s[j] =='2'||s[j] == '9')
			{	ans+=i;
				break;
				}
		}
	}
	cout<<ans;
	return 0;
}

P9240 [蓝桥杯 2023 省 B] 冶炼金属

题目

  • 思路 贪心
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;


const int N = 100010;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int n;
	cin>>n;
	int a,b;
	int ans_min = 0,ans_max = 1e9;
	for(int i= 0; i< n;i++){
		cin>>a>>b;
		ans_min = max(ans_min,a/(b+1)+1);
		ans_max = min(ans_max,a/b);
	}
	cout<<ans_min<<" "<<ans_max;
	return 0;
}

P8597 [蓝桥杯 2013 省 B] 翻硬币

题目

  • 思路 模拟
  • 遇到不同的就反转
#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f3f
using namespace std;
const int N = 100010;
int arr[N];

signed main(){

    string a,b;
    cin>>a>>b;
    int cnt = 0;
    for(int i = 0 ; i < a.size();i++){
        if(a[i]!=b[i]){
            a[i] = a[i] == 'o'?'*':'o';
            a[i+1] = a[i+1] =='o'?'*':'o';
            cnt++;
        }

    }
    cout<<cnt;

    return 0;
}

P8647 [蓝桥杯 2017 省 AB] 分巧克力

  • 思路 打暴力超时 题干字眼——输出切出的正方形巧克力最大可能的边长 二分答案
  • 对于第 i 块巧克力,当边长为 x 时,可以分出 ⌊(ai÷x)×(bi÷x)⌋ 块巧克力。

题目

#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f3f
using namespace std;
const int N = 100010;
int a[N],b[N];//长宽
int n,k;

bool check(int mid){
	int cnt =0 ;
	for(int i = 1 ; i <= n ;i++){
		cnt+=(a[i]/mid)*(b[i]/mid);
	}
	if(cnt>=k)return true;
	else return false;
}

signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>k;
	for(int i = 1; i <= n;i++){
		cin>>a[i]>>b[i];
	}
	int l = 0;
	int r = 10010;
	while(l+1<r){
		int mid = (l+r)>>1;
		if(check(mid))
			l = mid;
		else
			r = mid;
	}
	if(check(r)) cout<<r;
	else cout<<l;
	return 0;
}

P8772 [蓝桥杯 2022 省 A] 求和

题目

  • 思路 前缀和 注意数据范围!
  • S=a1⋅a2+a1⋅a3+⋯+a1⋅an+a2⋅a3+⋯+an−2⋅an−1+an−2⋅an+an−1⋅an

=(a2+a3+⋯+an)⋅a1+(a3+a4+⋯+an)⋅a2+⋯+anan−1

#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f3f
using namespace std;
const int N = 200010;
int arr[N],sum[N];
int n;
int ans;
signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	for(int i = 1 ; i<=n;i++){
		cin>>arr[i];
		sum[i] = sum[i-1] + arr[i];
	}
	for(int i =1 ;i <=n-1 ;i++){
		ans += arr[i]*(sum[n]-sum[i]); 
	}
	cout<<ans;
	return 0;
}

P8665 [蓝桥杯 2018 省 A] 航班时间

题目

  • 前置知识
    • 去程时间 =飞行时间 + 时差;回程时间 = 飞行时间 − 时差
    • 由此可知 飞行时间 = (去+回)/ 2
  1. 用 scanf 输入前面的时间:
scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
  1. 每一行后面不一定有额外的天数。如果有,则中间一定有空格,所以判断下一个字符是否为空格即可。
  2. 为方便计算,不妨把时间都转换成以秒为单位 t=86400⋅d+3600⋅h+60⋅m+s
  3. h = ans/3600 min = ans%3600/60 s = ans%60
#include <bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f3f
const int N = 1000010;
using namespace std;

int get()
{
    int h1,m1,s1,h2,m2,s2,day=0;
    scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
    if(getchar()==' ')scanf("(+%d)",&day);
    return (day*86400+h2*3600+m2*60+s2)-(h1*3600+m1*60+s1);
}
signed main()
{
    int T;
    scanf("%d",&T);
    while(T--)
        {
            int ans=(get()+get())/2;
            printf("%02d:%02d:%02d\n",ans/3600,ans%3600/60,ans%60);
        }
    return 0;
}

P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值

题目

  • 思路 模拟
  • 完全二叉树的性质

设深度为 dep,根节点的深度为 1。则有第 dep 层的节点为 2dep,每层开头的节点编号为 2dep−1,末尾的节点编号为 2dep−1(以上结论叶子节点除外)。

  • 注意上面加粗黑体字 第一次没考虑到 错了两个点 叶子节点需要额外特判
#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
const int N = 100010;
int arr[N];
int n;
int dep = 1,sum = 0,Max = -1,a,ans;
signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	for(int i = 1; i <= n; i++){
		cin>>a;
		sum+=a;
		if(i == (1<<dep)-1){//判断当前位置是否是该dep的最后一个节点?结算:go on 
			if(sum>Max){
				Max = sum;
				ans = dep;
			}
		dep++;	
		sum = 0;
		}
	}
	if(sum>Max){//叶子节点特判
		Max = sum;
		ans = dep;
	}
	
	cout<<ans;
	return 0;
}

P9231 [蓝桥杯 2023 省 A] 平方差

题目

  • 思路 找规律
  • 参考题解
#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
const int N = 100010;
int arr[N];
int n;
int f(int x) {//小于等于x的奇数个数 
	if (!x) return 0;
	return (x + 1) / 2;
}
int g(int x) {//小于等于x的4的倍数个数 
	return x / 4;
}
signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int l, r; cin >> l >> r;
	cout << f(r) - f(l - 1) + g(r) - g(l - 1);
	return 0;
}

P9230 [蓝桥杯 2023 省 A] 填空问题

题目

  • 思路
  • problem A 填空题 本地暴力枚举
  • 把数字转成字符串去处理
  • 答案为 4430091
#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
const int N = 1e8;
bool check(string s){
	int ans1 = 0 ,ans2 = 0;
	for(int i = 0; i < s.size();i++){
		if(i<s.size()/2)
			ans1 += s[i]-'0';
		else
			ans2 += s[i]-'0';
	}
	return ans1 == ans2;
}
signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	string s;
	int ans = 0;
	for(int i = 1 ; i<= N;i++){
		s= to_string(i);
		if(s.size()%2 == 1)continue;//奇数
		if(check(s)) {
			ans++;
		}
		
	}
	cout<<ans;
	return 0;
}
  • problem B DFS 本地暴搜
  • 答案为 4165637
#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
const int N = 1e8;
int arr[N];
int ans;
void dfs(int score,int cnt){
	if(cnt>30||score == 100)
		return;
	if(cnt == 30 && score == 70)
		ans++;
	dfs(score+10,cnt+1);
	dfs(0,cnt+1);
}


signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	//表示0分 0题
	dfs(0,0); 
	cout<<ans;
	return 0;
}

P8649 [蓝桥杯 2017 省 B] k 倍区间

题目

题解参考

  • 思路 看到”连续子序列求和”这一要求时,我们果断选择前缀和解答
#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
const int N = 100010;
int arr[N],sum[N];
int n,k;
map<int,int> mp;

signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>k;
	int ans = 0;
	mp[0] = 1;
	for(int i = 1; i<=n;i++){
		cin>>arr[i];
		sum[i] = (sum[i-1]+ arr[i])%k;//记录前缀和模k的值
		mp[sum[i]]++;
	}
	for(int i = 0; i< n;i++){
		ans+=(mp[i]*(mp[i]-1))/2;
	}
	cout<<ans;
	return 0;
}
  • 自己的理解
  • 解释:1要和其他1组一起 满足

                0可以单独算也可以组在一起 满足

#include <bits/stdc++.h>
#define int long long 
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
const int N = 100010;
int arr[N],sum[N];
int n,k;
map<int,int> mp;

signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>k;
	int ans = 0;
	for(int i = 1; i<=n;i++){
		cin>>arr[i];
		sum[i] = (sum[i-1]+ arr[i])%k;//记录前缀和模k的值
		mp[sum[i]]++;
	}
	for(auto i :mp){
		if(i.first == 0)
			ans+=i.second*(i.second+1)/2;
		else
			ans+=i.second*(i.second-1)/2;
	}
	cout<<ans;
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/497275.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Element使用

Element使用 一、入门介绍 Element最基本的元素是段&#xff0c;Section&#xff08;Grid&#xff09;&#xff0c;通常一个页面包含多个段&#xff1b;如果要做一个Banner大图&#xff0c;首先得添加一个段&#xff0c;这个段里面的额结构是两个栏&#xff0c;栏里面包含多个…

百度智能云推出AI大模型全家桶;抖音发布 AI 生成虚拟人物治理公告

百度智能云推出大模型全家桶 百度智能云昨日在北京首钢园召开「Al Cloud Day: 大模型应用产品发布会」&#xff0c;此次发布会上&#xff0c;百度智能云宣布对以下 7 款产品进行升级。 数字人平台百度智能云曦灵智能客服平台百度智能云客悦内容创作平台「一念」知识智平台「甄…

Ruoyi-Cloud-Plus_使用Docker部署分布式微服务系统---SpringCloud工作笔记200

1.首先安装docker: 如果以前安装过首先执行: yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine 去卸载docker 2.安装dokcer需要的工具包…

StarRocks实战——多点大数据数仓构建

目录 前言 一、背景介绍 二、原有架构的痛点 2.1 技术成本 2.2 开发成本 2.2.1 离线 T1 更新的分析场景 2.2.2 实时更新分析场景 2.2.3 固定维度分析场景 2.2.4 运维成本 三、选择StarRocks的原因 3.1 引擎收敛 3.2 “大宽表”模型替换 3.3 简化Lambda架构 3.4 模…

【有芯职说】数字芯片BES工程师

一、 数字芯片BES工程师简介 今天来聊聊数字芯片BES工程师&#xff0c;其中BES是Back End Support的缩写&#xff0c;就是后端支持的意思。其实这个岗位是数字IC前端设计和数字IC后端设计之间的一座桥&#xff0c;完成从寄存器传输级设计到具体工艺的mapping和实现。这个岗位在…

JetBrains pycharm pro 2023 for mac Python集成开发环境

JetBrains PyCharm Pro 2023 for Mac是一款功能强大的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为Mac用户设计&#xff0c;旨在提供高效、智能的编程体验。 软件下载&#xff1a;JetBrains pycharm pro 2023 for mac中文最新版 PyCharm Pro 2023支持多种语…

HelpLook AI ChatBot:自定义Prompts综合指南

AI问答机器人&#xff08;AI Chatbot&#xff09;日益在各行业普及&#xff0c;但回答准确率的不足仍是其面临的痛点。用户在与AI问答机器人的互动中常发现&#xff0c;机器人难以完全理解和准确回答复杂问题。HelpLook可以通过自定义提示词&#xff08;Prompts&#xff09;和集…

软件杯 深度学习+python+opencv实现动物识别 - 图像识别

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 inception_v3网络5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…

Tensorflow2.0笔记 - 自定义Layer和Model

本笔记主要记录如何在tensorflow中实现自定的Layer和Model。详细内容请参考代码中的链接。 import time import tensorflow as tf from tensorflow import keras from tensorflow.keras import datasets, layers, optimizers, Sequential, metricstf.__version__ #关于自定义l…

国自然提交状态,NSFC已审核 ≠ 申请书被受理!!!

本 期 推 荐 【SciencePub学术】2024年度国家自然科学基金集中受理期项目申请受理工作已基本结束。到底什么状态才算申请书被NSFC接收成功呢&#xff1f; 01 申请书状态 申请人登录ISIS系统&#xff0c;至此&#xff0c;绝大部分申请人的系统状态为下面三种&#xff1a; …

排序C++

题目 法1 sort升序排序&#xff0c;再逆序输出 #include<iostream> #include<algorithm> using namespace std;const int N 5e53;//注意const&#xff0c;全局 int a[N]; int main() {//错误int N5e53;//错误const int a[N];int n;cin >> n;for (int i 1;…

激光是如何产生的?

激光产生的原理 美国于1960年成功研制出世界上第一台红宝石激光器&#xff0c;我国也于1961年成功研制出第一台国产红宝石激光器&#xff08;诞生于中国科学院长春光学精密机械研究所&#xff09;&#xff0c;激光技术被认为是第二个20世纪&#xff0c;继量子物理、无线电技术、…

CenOS安装yum(超详细)

专栏文章索引&#xff1a;Linux 目录 1.检查yum源是否安装 2.卸载yum源 3.去网站下载yum源&#xff0c;至少需要下载3个 4.安装&#xff08;不要出现其他后缀名为rpm的文件&#xff09; 1.检查yum源是否安装 rpm -qa|grep yum 2.卸载yum源 查看一下是否成功删除 3.去网站下…

剑指Offer题目笔记20(在数组范围内二分查找)

面试题72&#xff1a; 问题&#xff1a; ​ 输入一个非负整数&#xff0c;计算它的平方根。 解决方案&#xff1a; 使用二分查找。一个数x的平方根一定小于或等于x&#xff0c;同时&#xff0c;除了0之外的所有非负整数的平方根都大于等于1&#xff0c;故该数的平方根在1到x…

php 快速入门(七)

一、操作数据库 1.1 操作MySQL的步骤 第一步&#xff1a;登录MySQL服务器 第二步&#xff1a;选择当前数据库 第三步&#xff1a;设置请求数据的字符集 第四步&#xff1a;执行SQL语句 1.2 连接MySQL 函数1&#xff1a;mysql_connect() 功能&#xff1a;连接&#xff08;登录…

HTTP

HTTP 概念&#xff1a;HyperTextTransferProtocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则 HTTP协议特点&#xff1a; 1.基于TCP协议&#xff1a;面向连接&#xff0c;安全 2.基于请求-响应模型的&#xff1a;一次请求对应一次响应 …

pipeline script for SCM 构建go项目

pipeline script 和 pipeline script for SCM 推荐使用第二种 首先需要再项目的根目录下新建Jenkinsfile 文件 pipeline for SCM 拉取github 代码 自动生成Jenkinsfile 的语法 生成jenkinsfile 的拉取脚本 项目中编写Jenkinsfile文件 pipeline {agent anystages …

如何评估户外LED显示屏的质量标准

随着数字媒体的不断进步&#xff0c;户外LED显示屏已经成为现代城市不可或缺的一部分&#xff0c;它们以鲜明的视觉冲击力和广泛的应用范围&#xff0c;成为了广告和公共信息传播的重要工具。然而&#xff0c;并非所有的户外LED显示屏都能满足高标准的户外使用要求。为了确保投…

MoonBit MeetUp回顾——张正、宗喆:编程语言在云原生与区块链领域的技术探索

宗喆和张正分别给我们带了 KCL 相关的最新进展&#xff0c;由蚂蚁集团开发的 Rust 编写的开源 DSL&#xff0c;目标是优化云原生策略配置和用户体验。它通过引入动态配置管理、配置校验和基础设施抽象等核心概念&#xff0c;解决开发者认知负担、配置膨胀和标准化工具缺乏的问题…