当前位置: 首页 > news >正文

蓝桥训练第二周

1 ,泛凯撒加密

内存限制:128 MB时间限制:1.000 S

题目描述

众所周知,在网络安全中分为明文和密文,凯撒加密是将一篇明文中所有的英文字母都向后移动三位(Z的下一位是A),比如a向后移动三位就变成了d,A向后移动三位就变成了D,Z向后移动三位就变成了C,但是泛凯撒加密可没有这么简单,它是将明文中的每个字母向后移动k位得到密文,并且在密文的结尾会附加一个?,本题想让你通过得到密文反解出原本的明文。

输入

第一行一个正整数k表示字母向后移动的位数
接下来输入一个字符串,表示密文,输入保证仅密文的最后一个字符是?
密文的长度不为0,且不超过1000
0<=k<=100

输出

输出原本的明文

样例输入 复制

2
*eee/peee++?

样例输出 复制

*ccc/nccc++

提示

每个密文可能不止一行

这道题注意回车符的读入

#include <bits/stdc++.h>
using namespace std;
int main(){int k;char a;cin>>k;string s;getchar();//将缓冲区的回车符读入 while(a=getchar(),a!='?'){if(a>='A'&&a<='Z'){a-='A';a=(a-k%26+26)%26;//把26个字母看成一个圆环 a+='A';}if(a>='a'&&a<='z'){a-='a';a=(a-k%26+26)%26;a+='a';}s+=a;//}cout<<s;return 0;
}

2,ABC的整除问题

内存限制:128 MB时间限制:1.000 S

题目描述

给定三个非负整数 A,B,C,且保证A≤ B,C≠ 0,求在区间 [A, B] 中,存在多少个整数可以被C整除?

输入

第一行,一个整数 T,代表 T个测试样例。
接下来 T行,每行给出三个非负整数 A,B,C。

输出

共 T行,每行输出一个整数,代表在区间 [A, B] 中可以被C整除的数的数量。

1≤A≤B≤1e18,1≤C≤1e18

样例输入 复制

2
4 8 2
3 100 4

样例输出 复制

3
25

 这道题考察递推思想,需要找出规律

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll T;
int main(){cin>>T;while(T--){ll ans=0,num=0, A,B,C;scanf("%lld%lld%lld",&A,&B,&C);ans=B/C-(A-1)/C;printf("%lld\n",ans);}return 0;
}

13, 张毅的生财之道

内存限制:128 MB时间限制:1.000 S

题目描述

张毅想要傍富婆捞钱,已知有n个富婆,这n个富婆的财富依次给出
富婆顺序不能够被改变,张毅有着同时傍连续m个富婆的能力,求取其能从富婆们捞钱的最大值,最小值和二者之差

输入

一个正整数n
然后输入这n个富婆的财富
(1 <= n <= 1000000)
(1 <= m <= 100000)

输出

张毅能捞到的最多的钱、最少的钱和二者之差(之间用空格隔开)

样例输入 复制

8 2
3 1 6 2 1 5 9 1

样例输出 复制

14 3 11

 这道题考察哟一维前缀和

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+10;
ll a[N]={0},b[N]={0};
ll n,m,l,r;
int main(){scanf("%lld %lld",&n,&m);for(ll i=1;i<=n;i++){scanf("%lld",&a[i]);b[i]=b[i-1]+a[i];}ll ans=0,num=1e9,sum=0;for(ll i=1;i<=n-m+1;i++){r=i+m-1;sum=max(sum,b[r]-b[i-1]);num=min(num,b[r]-b[i-1]);//注意利用函数求最小值是一定要把num设为最大, }ans=sum-num;printf("%lld %lld %lld",sum,num,ans); return 0;
} 

4,这个题只能交一次

内存限制:128 MB时间限制:1.000 S

题目描述

学校有一小黑子社团,N+1名成员。
每个成员的小黑子值以A[0],A[1]……A[N]表示。(0≤A[i]≤N)
kun社团的机器可以改变连续多个成员的小黑子值,并将其加上一个数Z(Z可以是负数)
小黑子社团打算使用这个机器K次,每次把第X到第Y号(1≤X≤Y≤1e6)的成员都加上Z点小黑子值。
而社团的黑值B,是这么算的:
一开始B=0,然后第1到第N号成员,
·当A[i-1]<A[i]:B=B - S*|A[i-1]-A[i] |
·当A[i-1]>A[i]:B=B +T*|A[i-1]-A[i] |
其中S和T是组委会给我们的常数。kun作为头目永远作为队伍的排头,小黑子值永远为0,即A[0]永远为0。
你能帮kun算算每次使用过机器后成员的黑值是多少吗

输入

第一行4个整数,N,K,S,T,各个变量在描述中已经解释
接下来N+1行,每行一个数整数A[i],其中A[0]等于0
接下来K行,每行三个整数,X,Y,Z各个变量在描述中已经解释 

输出

K行,每行一个整数代表答案。
对于80%的数据  N,K≤2000;
对于100%的数据N,K≤200000;1≤ S , T,A[i]≤1e6 ; |Z|≤1e6;

样例输入 复制

4 3 2 3
0
5
2
4
6
1 2 1
3 4 -3
1 4 2

样例输出 复制

-9
-1
-5

提示

样例解释
第一次变化后
A: 0 6 3 4 6
B=0-12+9-2-4

还没想到好的方法,回来写题解

1428: 十三号星期五

内存限制:128 MB时间限制:1.000 S
评测

题目

十三号星期五真的很不常见吗?

每个月的十三号是星期五的频率是否比一周中的其他几天低?

请编写一个程序,计算N年内每个月的13号是星期日,星期一,星期二,星期三,星期四,星期五和星期六的频率。

测试的时间段将会开始于1900年1月1日,结束于1900+N−1年12月31日。

一些有助于你解题的额外信息:

(1) 1900年1月1日是星期一

(2) 在一年中,4月、6 月、9 月、11 月每个月 30 天,2月平年28天,闰年29天,其他月份每个月31天

(3) 公历年份是4的倍数且不是100的倍数的年份为闰年,例如1992年是闰年,1990年不是闰年

公历年份是整百数并且是400的倍数的也是闰年,例如1700年,1800年,1900年,2100年不是闰年,2000年是闰年

输入

共一行,包含一个正整数N
1≤N≤100

输出

共一行,包含七个整数,整数之间用一个空格隔开,依次表示星期六,星期日,星期一,星期二,星期三,星期四,星期五在十三号出现的次数。

样例输入 

28

样例输出 复制

49 48 47 49 48 48 47 
#include <bits/stdc++.h>
using namespace std;
int d[25]={0,13,18,13,15,13,18,13,17,13,18,13,17,13,18,13,18,13,17,13,18,13,17,13,18};//ba'mei'yi 
int d1[25]={0,13,18,13,16,13,18,13,17,13,18,13,17,13,18,13,18,13,17,13,18,13,17,13,18};
int z[7];
int r(int n){if(n%400==0||n%4==0&&n%100!=0)return 1;elsereturn 0;
}
int main(){int N,y,day=0;cin>>N;for(int i=1;i<=N;i++){y=i-1+1900;if(r(y)==0)for(int j=1;j<25;j++){day+=d[j];z[day%7]++;day+=d[j+1];j++; }else{for(int j=1;j<25;j++){day+=d1[j];z[day%7]++;day+=d1[j+1]; j++;}					}
}cout<<z[6]<<" "<<z[0]<<" "; for(int i=1;i<=5;i++)cout<<z[i]<<" ";return 0;
}

 1,把闰年和不是闰年的每个月的13分离出来

2,用一个数组统计星期几出现的次数

http://www.lryc.cn/news/21061.html

相关文章:

  • 详讲函数知识
  • gin 框架初始教程文档
  • Maven的下载和安装【详细】
  • [数据结构]:04-循环队列(数组)(C语言实现)
  • buu [GWCTF 2019]BabyRSA 1
  • codeforces 1669F
  • 高数考试必备知识点
  • [蓝桥杯] 二分与前缀和习题练习
  • SpringMvc中HandlerAdapter组件的作用
  • FreeRTOS优先级翻转
  • 服务器部署—部署springboot之Linux服务器安装jdk和tomcat【建议收藏】
  • golang项目----家庭收支记账软件
  • 中国LNG市场投资机会研究
  • Elasticsearch:索引数据是如何完成的
  • 处理器管理
  • 跟着我从零开始入门FPGA(一周入门系列)第五
  • 【第42天】Arrays.sort 与 Collections.sort 应用 | 整形数组与集合的排序
  • LeetCode第334场周赛
  • 基于深度学习的三维重建网络PatchMatchNet(三):PatchMatchNet配置及代码主要运行流程
  • 【一天一门编程语言】设计一门编程语言,给出基础语法代码示例,SDK设计。
  • ubuntu 下 python 安装 venv
  • HTML#1快速入门
  • 【MySQL】事务隔离级别是怎么实现的?
  • JSP网上书店系统用myeclipse定制开发mysql数据库B/S模式java编程计算机网页
  • 配置 Haproxy 负载均衡群集
  • 计算机网络笔记 | 第一章:计算机网络概述(1.1-1.4小节知识点整理)
  • Flutter3引用原生播放器-Android篇
  • SerenityOS 操作系统类 Unix 操作系统
  • Bean作用域和生命周期
  • STM32笔记