第十一届蓝桥杯省赛第一场真题

2024-03-23 17:52

本文主要是介绍第十一届蓝桥杯省赛第一场真题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2065. 整除序列 - AcWing题库

#include <bits/stdc++.h>
using namespace std;
#define int long long//记得开long long
void solve(){int n;cin>>n;while(n){cout<<n<<' ';n/=2;}
}
signed main(){int t=1;while(t--)solve();return 0;
} 

2066. 解码 - AcWing题库

#include <bits/stdc++.h>
using namespace std;
int main(){string s;cin>>s;for(int i=0;i<s.size();i++){if(s[i]>='0' && s[i]<='9'){int t=s[i]-'0';for(int j=1;j<=t-1;j++){//注意这里再输出t-1个前一个字符即可cout<<s[i-1];}}else cout<<s[i]; }return 0;
}

2067. 走方格 - AcWing题库

//暴力搜索
#include <bits/stdc++.h>
using namespace std;
const int N=36;
int a[N][N];
int cnt=0;
int xx[]={0,1};//右 左 下 上 
int yy[]={1,0};
int n,m;
bool check(int x,int y){if(x<1||y<1||x>n||y>m)return 0;return 1;
}
void dfs(int x,int y){if(x==n&&y==m){cnt++;return ;}for(int i=0;i<=1;i++){int tx=x+xx[i];int ty=y+yy[i];if(!a[tx][ty]&&check(tx,ty)){dfs(tx,ty);}}return ;
}
void solve(){cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(i%2==0&&j%2==0)a[i][j]=-1;//表示不能走 }}dfs(1,1);cout<<cnt;
}
int main(){int t=1;while(t--)solve();return 0;
} 

#include <bits/stdc++.h>
using namespace std;
const int N=36;
int a[N][N];
int dp[N][N];//dp[i][j]表示走到(i,j)的方案数 
int n,m;
void solve(){cin>>n>>m;int cnt=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(i%2==0&&j%2==0)a[i][j]=-1;//表示不能走 }}dp[1][1]=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(i%2==0&&j%2==0){dp[i][j]=0;continue;}dp[i][j]+=dp[i-1][j]+dp[i][j-1]; }}cout<<dp[n][m];
}
int main(){int t=1;while(t--)solve();return 0;
} 

2068. 整数拼接 - AcWing题库

#include<bits/stdc++.h>
using namespace std;typedef long long LL;
const int N=100010;
int s[11][N];//s[i][j]表示某个数*10^i%k==j的数量
int n;//表示将要输入的n个数
LL a[N];//存放n个数
int k;//表示k倍
LL res;//表示结果int main(){//1.输入数据cin >> n >> k;for(int i = 0; i < n; i ++)cin >> a[i];//2.预处理s数组for(int i = 0; i < n; i ++)//s[j][t]就是 *10^j且余数是t的数个数{LL t = a[i] % k;for(int j = 0; j < 11; j ++)//因为题目中给出的最大数是10^9{s[j][t] ++;t = t * 10 % k;//使得每一个s[j][t]变为ai*10^j的余数为t}            }//3.循环数组计算答案for(int i = 0; i < n; i ++){LL t = a[i] % k;//表示这位数的余数是tint len = to_string(a[i]).size();//将这个数字转化为字符串,再判断转换后的字符串的位数就等于这个数字本身的位数res += s[len][(k - t) % k];//4.判重LL x = t;while (len--)x = x * 10;x=x%k;//循环结束后x表示:Ai*10^len(Ai)if (x == ((k - t % k) % k))res--;//如果(Ai*10^len(Ai))%k== -Ai%k,即(-t%k+k)%k//则说明,j==i,即使用了自己,所以可以去重//又因为每次遍历都会将自己加入一次,且对于每个Ai每次只会去重一次//所以对于i!=j但Ai==Aj的情况不会去重}cout << res << '\n';return 0;
}
// (a+b)%k==0 只有两种情况: (1)a%k==b%k==0 (2) a%k+b%k==k 这两种情况等价于 a%k==-b%k

2069. 网络分析 - AcWing题库

2875. 超级胶水 - AcWing题库

a1,a2,a3,a4
a1*a2+(a1+a2)*a3+(a1+a2+a3)*a4
a1*a2+a1*a3+a1*a4+a2*a3+a2*a4+a3*a4#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+7;
int a[N];
int n,m;
int pre[N];//前缀和 
int fix[N];//后缀和 
int sum1[N];
int sum2[N]; 
void solve(){int n;cin>>n;int sum=0,ans=0;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n-1;i++){sum+=a[i];ans+=sum*a[i+1];}cout<<ans;
}
signed main(){int t=1;while(t--)solve();return 0;
} 

 

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+7;
int a[N];
int n,m;
int pre[N];//前缀和 
int fix[N];//后缀和 
int sum1[N];
int sum2[N]; 
void solve(){int n;cin>>n;int sum=0,ans=0;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){pre[i]=pre[i-1]+a[i]; }for(int i=1;i<=n-1;i++){ans+=pre[i]*a[i+1];}cout<<ans;
}
signed main(){int t=1;while(t--)solve();return 0;
} 
#include <bits/stdc++.h>
#define int long long//记得开long long
using namespace std;
const int N=1e5+7;
int a[N];
int n,m;
int pre[N];//前缀和 
int suf[N];//后缀和 
int sum1[N];
int sum2[N]; 
void solve(){int n;cin>>n;int sum=0,ans=0;for(int i=1;i<=n;i++)cin>>a[i];for(int i=n;i>=1;i--){//后缀和suf[i]=suf[i+1]+a[i];	}for(int i=n;i>=1;i--){ans+=suf[i]*a[i-1];}cout<<ans;
}
signed main(){int t=1;while(t--)solve();return 0;
} 

 

这篇关于第十一届蓝桥杯省赛第一场真题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839096

相关文章

华为OD机试真题-学生方阵-2024年OD统一考试(E卷)

题目描述 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的。 注:学生个数不会超过10000 输入描述 输入的第一行为矩阵的行数和列数, 接下来的 n行为矩阵元素,元素间用""分隔。 输出描述 输出一个整数,表示矩阵中最长的位

C语言蓝桥杯

一、语言基础 竞赛常用库函数 最值查询 min_element和max_element在vector(迭代器的使用) nth_element函数的使用 例题lanqiao OJ 497成绩分析 第一种用min_element和max_element函数的写法 第二种用min和max的写法 二分查找 二分查找只能对数组操作 binary_s

2024年AMC10美国数学竞赛倒计时两个月:吃透1250道真题和知识点(持续)

根据通知,2024年AMC10美国数学竞赛的报名还有两周,正式比赛还有两个月就要开始了。计划参赛的孩子们要记好时间,认真备考,最后冲刺再提高成绩。 那么如何备考2024年AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。

大厂算法例题解之网易2018秋招笔试真题 (未完)

1、字符串碎片 【题目描述】一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,“aaabbaaac” 是由下面碎片组成的:‘aaa’,‘bb’,‘c’。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的 平均长度是多少。 输入描述: 输入包括一个字符串 s,字符串 s 的长度 length(1 ≤ length ≤ 50),s 只含小写字母(‘a’-‘z’) 输出描述

2015多校联合训练第一场Tricks Device(hdu5294)

题意:给一个无向图,给起点s,终点t,求最少拆掉几条边使得s到不了t,最多拆几条边使得s能到t 思路: 先跑一边最短路,记录最短路中最短的边数,总边数-最短边数就是第二个答案 第一个答案就是在最短路里面求最小割,也就是求最大流,然后根据最短路在建个新图,权为1,跑一边网络流 模板题,以后就用这套模板了 #include <iostream>#include <cstdio>#incl

2015多校联合训练第一场Assignment(hdu5289)三种解法

题目大意:给出一个数列,问其中存在多少连续子序列,子序列的最大值-最小值< k 这题有三种解法: 1:单调队列,时间复杂度O(n) 2:RMQ+二分,时间复杂度O(nlogn) 3:RMQ+贪心,时间复杂度O(nlogn) 一:RMQ+二分 RMQ维护最大值,最小值,枚举左端点i,二分找出最远的符合的右端点j,答案就是ans += j - i+1;(手推一下就知道) 比如1 2 3

2015年多校联合训练第一场OO’s Sequence(hdu5288)

题意:给定一个长度为n的序列,规定f(l,r)是对于l,r范围内的某个数字a[i],都不能找到一个对应的j使得a[i]%a[j]=0,那么l,r内有多少个i,f(l,r)就是几。问所有f(l,r)的总和是多少。 公式中给出的区间,也就是所有存在的区间。 思路:直接枚举每一个数字,对于这个数字,如果这个数字是合法的i,那么向左能扩展的最大长度是多少,向右能扩展的最大长度是多少,那么i为合法的情况

上海大学《2022年836+915自动控制原理真题及答案》 (完整版)

Part1:2022年上海大学真题题目 学硕836 专硕915 Part2:2022年上海大学真题答案 学硕836 专硕915

找不同-第15届蓝桥省赛Scratch初级组真题第4题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第183讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。 第15届蓝桥杯省赛已于2024年8月24日落下帷幕,编程题一共有5题,分别如下: 猪八戒落地 游乐场 画西瓜 找不同 消

【蓝桥杯嵌入式(一)程序框架和调度器】

蓝桥杯嵌入式(一)程序框架和调度器 序、代码命名规则零、STM32和8051⼀、软件及环境安装⼆、⼯程框架搭建1.时钟配置2、SYS配置3、⼯程配置4、NVIC配置5.、Keil配置 三、系统初始化四、任务调度器 链接: 视频出处 序、代码命名规则 以下是一些常见的举例 零、STM32和8051 链接: 8位和32位单片机最本质区别 ⼀、软件及环境安装