A. 结果填空:钟表

一天蒜头君 22:28:45 开始睡觉,06:24:26 醒来之后,蒜头君在想,今天我睡了多久?

请你告诉蒜头君睡了"h:m:s",如果 h,m,sh,m,sh,m,s 不足两位时,前面补 000。

例如:蒜头君睡了 101010 小时 111 分钟 000 秒,那么请输出"10:01:00"(不包含引号)。

解析:直接拿笔计算一下就行,不用写代码。

#include <stdio.h>
int main() {printf("%s\n", "07:55:41");return 0;
}

B. 结果填空:青蛙爬井

有一口深度为 highhigh 米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬 upup 米,夜里则顺井壁向下滑 downdown 米。

若青蛙从某个早晨开始向外爬,当 high = 60405high=60405,up = 105up=105,dow = 35dow=35,计算青蛙多少天能够爬出井口?

注意:不能简单地认为每天上升的高度等于白天向上爬的距离减去夜间下滑的距离,因为若白天能爬出井口,则不必等到晚上。

解析:只需要加一个特判即可;

答案:863

#include<bits/stdc++.h>
using namespace std;
int main()
{int h=60405,s=0,num=0;while(s<h){s+=105;num+=1;if(s>=h) break;s-=35; }cout<<num<<endl;return 0;} 

C. 结果填空:倍数

一天蒜头君在想,[l,r][l,r][l,r] 之间有多少个数字是 ddd 的倍数呢?

但是区间 [l,r][l,r][l,r] 是 ddd 的倍数的数字太多,于是聪明的蒜头君便找到了你。

当 l=1032l = 1032l=1032,r=12302135942453r = 12302135942453r=12302135942453,d=234d = 234d=234,ddd 的倍数有多少个呢?

解析:要用long long 行的数据

#include<iostream>
using namespace std;
int main() {long long l=1032,r=12302135942453,d=234;cout<<r/d-(l-1)/d<<endl;return 0;
}

E. 代码填空:LIS

LIS 是最长上升子序列。什么是最长上升子序列? 就是给你一个序列,请你在其中求出一段最长严格上升的部分,它不一定要连续。

就像这样:222, 333, 444, 777 和 222, 333, 444, 666 就是序列 222 555 333 444 111 777 666 的两个上升子序列,最长的长度是 444。

#include <stdio.h>
#include <stdlib.h>
#define N 100009
int f[N], a[N];
int n;
int find(int l, int r, int x) {while (l < r) {int mid = (l + r) / 2;if (f[mid] < x) {l = mid + 1;} else {r = mid;}}return l;
}
int lis() {int len = 0;for (int i = 0; i < n; i++) {int k=find(0,len,a[i]);f[k] = a[i];if (k == len) {len++;}}return len;
}
int main() {scanf("%d", &n);for (int i = 0; i < n; i++) {scanf("%d", a + i);}printf("%d\n", lis());return 0;
}

F. 程序设计:找质数

一天蒜头君猜想,是不是所有的偶数(除了 222),都可以用两个质数相加得到呢?于是聪明的蒜头君就找你来验证了。

输入格式

第一行输入一个整数 ttt 表示测试组数。

接下来 ttt 行,每行一个整数 nnn。

输出格式

输出两个整数,因为答案可能有多个,所有要求输出的这两个整数是所有答案中字典序最小的。

数据范围

对于 30%30\%30% 的数据 1≤t≤1031 \le t \le 10^31≤t≤103。

对于 60%60\%60% 的数据 1≤t≤1051 \le t \le 10^51≤t≤105。

对于 100%100\%100% 的数据 1≤t≤106,4≤n≤1061 \le t \le 10^6, 4 \le n \le 10^61≤t≤106,4≤n≤106,nnn 为偶数。

样例输入复制

3
4
8
20

样例输出复制

2 2
3 5
3 17

解析:不能用原来的这种来判断素数,会超时的,要用素数打表

bool is_prime(int x){
    for(int i=2; i*i<=x; i++){
        if(x%i==0) return false;
    }
    return true;
}

#include<stdio.h>
int N=1e6+5;
int p[1000000+5];
int main()
{int t;scanf("%d",&t);p[1]=1;//素数打表,p[i]=0是素数,p[i]=1不是素数for(int i=2;i*i<1e6+5;i++){if(!p[i]){for(int j=i*i;j<=1e6+5;j+=i)p[j]=1;}}while(t--){int n;scanf("%d",&n);for(int i=2;;i++){if(!p[i]&&!p[n-i]){printf("%d %d\n",i,n-i);break;}}}return 0;
}

G. 程序设计:后缀字符串

一天蒜头君得到 nnn 个字符串 sis_isi​,每个字符串的长度都不超过 101010。

蒜头君在想,在这 nnn 个字符串中,以 sis_isi​ 为后缀的字符串有多少个呢?

输入格式

第一行输入一个整数 nnn。

接下来 nnn 行,每行输入一个字符串 sis_isi​。

输出格式

输出 nnn 个整数,第 iii 个整数表示以 sis_isi​ 为后缀的字符串的个数。

数据范围

对于 50%50\%50% 的数据,1≤n≤1031 \le n \le 10^31≤n≤103。

对于 100%100\%100% 的数据,1≤n≤1051 \le n \le 10^51≤n≤105。

所有的字符串仅由小写字母组成。

样例输入复制

3
ba
a
aba

样例输出复制

2
3
1

解析:这里用了一个函数substr(),主要功能是复制子字符串,要求从指定位置开始,一直到结束。

用mp[]记录每个字符串出现的数目,之后打印即可。

例如:

mp[ba]

mp[a]

mp[a]

mp[aba]

mp[ba]

mp[a]

总的来说,mp[ba]记录了2次,mp[a]记录了3次,mp[aba]记录了1次,故结果为  2  3  1

#include<iostream>
#include<map>
using namespace std;
string a[100000+10];
int main()
{int n;map<string,int> mp;cin>>n;for(int i=0;i<n;i++){//接收字符串cin>>a[i];for(int j=0;j<a[i].size();j++){mp[a[i].substr(j)]++;//依次记录每一个字符串从j开//始到结束大字符数目}}for(int i=0;i<n;i++)cout<<mp[a[i]]<<endl;return 0;
}

2019 蓝桥杯省赛 B 组模拟赛(一)相关推荐

  1. 2019 蓝桥杯省赛 B 组模拟赛(一)蒜厂年会

    2019 蓝桥杯省赛 B 组模拟赛(一)蒜厂年会 这题有两种情况 1.最大的和是在0~n-1 2.最大的和越过了首尾 这时候只要用n个数的和 - 0~n-1 的连续的最小和 这是求连续子集最大.最小 ...

  2. 2019 蓝桥杯省赛 B 组模拟赛(一)——计蒜客(未完待续)

    比赛链接: 2019 蓝桥杯省赛 B 组模拟赛(一) 友情提示: 蓝桥杯的头文件,如果不是都记得,可以直接万能头文件 #include <bits/stdc++.h>, 不过有的时候,这样 ...

  3. 2018 蓝桥杯省赛 B 组模拟赛(一)--封印之门

    题目链接:https://nanti.jisuanke.com/t/A1594 蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手.幸运的是,小岛上有一扇上古之神打造的封印之门,可以 ...

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

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

  5. 2020年 第11届 蓝桥杯 C/C++ B组 省赛真题详解及小结【第1场省赛2020.7.5】【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  6. 第一届『Citric杯』NOIP提高组模拟赛 题解

    [官方题解]第一届『Citric杯』NOIP提高组模拟赛 题解 第一题 柠檬超市 这题是本次模拟赛的送分题.做法显然. 但是注意此题有一个陷阱: 注意W和C的规模都是10^9,所以如果直接用doubl ...

  7. python解答蓝桥杯真题3 省模拟赛 计算机存储中有多少字节

    python解答蓝桥杯真题3 省模拟赛 计算机存储中有多少字节 题目 问题描述 在计算机存储中,12.5MB是多少字节? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整 ...

  8. 2015年第六届蓝桥杯C/C++B组省赛题目解析

    1.奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是 ...

  9. 计蒜客2019蓝桥杯省赛B组模拟赛(一)题目及解析

    蓝桥杯历年真题题目及题解目录汇总   A. 结果填空:钟表 题库链接 分值: 5 一天蒜头君 22:28:45 开始睡觉,06:24:26 醒来之后,蒜头君在想,今天我睡了多久? 请你告诉蒜头君睡了& ...

  10. 2019年第十届蓝桥杯C/C++ A组国赛赛后总结(北京旅游总结)

    听说蓝桥杯挺水,几个同学一块儿报了省赛准备打着玩玩(Java C/C++ A B组都有).我报的是C/C++A组. 好,省赛一结束,一等奖前排...但是只有两个同C/C++A组的同学也是省一,不过都是 ...

最新文章

  1. pr防抖插件_FCPX/AE/Pr视频稳定防抖动插件Lock and Load X v2.0版
  2. 135. 最大子序和【前缀和 单调队列】
  3. Linux学习之系统编程篇:fifo
  4. 如何使用exclipse打开已有的文件夹
  5. JAVA入门级教学之(匿名内部类)
  6. KAFKA 最新版 单机安装、配置、部署(linux环境)
  7. Python全栈开发记录_第三篇(linux(ubuntu)的操作)
  8. SQLServer查询所有表所有字段包含xx的信息
  9. atcoder 2017Code festival C ——D题 Yet Another Palindrome Partitioning(思维+dp)
  10. 7.3数据类型及内置方法(一)
  11. Ubuntu 16.04-codeblocks 汉化
  12. 老师我做完母带后混音更脏了。混音界四大邪术 | MZD Studios混音10问第2期
  13. 第4章 序言的具体写法
  14. 谈谈对 JWT 理解
  15. Tair存储引擎简单介绍以及常见API操作
  16. Android获取WiFi名称/路由器AP地址总结
  17. 按键android手机排行榜,【直板全键盘手机推荐】直板键盘手机排行榜
  18. 【机器学习】Learning to Rank 简介
  19. 基于运动学模型的轨迹跟踪控制
  20. unity3D游戏开发实战(四)——使用道具与密码锁

热门文章

  1. 腾讯云服务器(轻量应用服务器)无法链接问题总结
  2. 网页版自我介绍——源码
  3. IRIS 2021 技术文档 First Look 30 -- 使用 InterSystems 产品进行文本分析
  4. awd赛题的flag是什么意思_红帽杯线下赛AWD题目分析
  5. 教你用EasyRecovery恢复U盘乱码的文件
  6. React插件及动画
  7. 华侨大学学术期刊分类目录
  8. Spring moble 自定义Device接口
  9. vue.js:634 [Vue warn]: Failed to resolve directive: moble
  10. OpenGL学习笔记——纹理贴图