A

link



\(x\)停不到,\(y\)能停到。

要先判断是从前往后还是从后往前。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

signed main(){

	int n,x,y,z;
cin >> n >> x >> y >> z; if(x <= y){
if(z > x&&z <= y) cout << "Yes";
else cout << "No";
}
else{
if(z < x&&z >= y) cout << "Yes";
else cout << "No";
} return 0; }

B

link



两个指针,分别指向\(S\)和\(T\),如果当前两个指针指向的位置一样,输出这个位置,否则把指向\(T\)的指针加一。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

char s[200005];
char t[200005]; signed main(){ cin >> s+1 >> t+1; int n = strlen(t+1); for(int i = 1,j = 1;i <= n;++ i,++j){
while(t[i] != s[j]) ++i;
cout << i << " ";
} return 0; }

C

link



他要求的本质上就是前面所有的肩膀高度加最后一个的头高。

所以我们只要把每中情况都找到即可,那么我们可以先把所有肩膀的高度加起来,然后枚举每一个,把肩膀减去,把头加上去最大即可。

点击查看代码
#include<bits/stdc++.h>

#define int long long

using namespace std;

int n;
int x[200005],y[200005]; int cn,ans; signed main(){ cin >> n;
for(int i = 1;i <= n;++ i){
cin >> x[i] >> y[i];
cn += x[i];
} for(int i = 1;i <= n;++ i){
ans = max(ans,cn-x[i]+y[i]);
}
cout << ans; return 0; }

D

link



如果我们存一个数组\(mp_i\)表示第\(i\)个数在数组里的位置,那么我们就可以每取连续的\(k\)个数求最大值和最小值取差即可。(\(st\)表)

点击查看代码
#include<bits/stdc++.h>

#define int long long

using namespace std;

int n,k;
int p[200005];
int mp[200005];
int mx[200005][20];
int mn[200005][20]; int lg(int x){
if(x == 1) return 0;
return lg(x/2)+1;
} signed main(){ cin >> n >> k;
for(int i = 1;i <= n;++ i)
cin >> p[i],mp[p[i]] = i; for(int i = 1;i <= n;++ i)
mx[i][0] = mp[i],
mn[i][0] = mp[i]; for(int j = 1;j <= 19;++ j){
for(int i = 1;i+(1<<j)-1 <= n;++ i){
mx[i][j] = max(mx[i][j-1],
mx[i+(1<<(j-1))][j-1]);
mn[i][j] = min(mn[i][j-1],
mn[i+(1<<(j-1))][j-1]);
}
} int ans = 0x3f3f3f3f;
int t = lg(k);
for(int i = 1;i+k-1 <= n;++ i){
int man = max(mx[i][t],
mx[(i+k-1)-(1<<t)+1][t]);
int mix = min(mn[i][t],
mn[(i+k-1)-(1<<t)+1][t]);
ans = min(ans,man-mix);
} cout << ans << endl; return 0; }

随机推荐

  1. 容器化tomcat9.0

    #启动tomcat容器: docker run -d --name tomcat9.0 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/chenleile ...

  2. ElasticSearch性能原理拆解

    逐层拆分ElasticSearch的概念 Cluster:集群,Es是一个可以横向扩展的检索引擎(部分时候当作存储数据库使用),一个Es集群由一个唯一的名字标识,默认为"elasticsea ...

  3. 华擎 asrock b365m itx win7蓝牙播放音乐爆音

    华擎 asrock b365m itx win7蓝牙播放音乐爆音,吱吱吱的杂音. 偶然间,系统换成WIN10后,再用蓝牙耳机听歌,则正常.机箱位置不变.

  4. work13

    任务要求: 1.建立一个企鹅类,企鹅有名字(可以自由添加属性)2.把多个企鹅的信息添加到集合中3.查看企鹅的数量4.遍历输出所有企鹅的信息5.删除集合中索引值是2的企鹅的元素 任务描述: 定义一个老鼠 ...

  5. Ubuntu 18.04 安装OneDrive自动同步

    Ubuntu 18.04 安装OneDrive自动同步 Windows10系统已经自带了OneDrive的自动同步功能,对于多设备用户而言已经成为了一个非常方便传输保存文件的途径,在Ubuntu下也有 ...

  6. 关于Android开机动画调试的一点小小的经验

    格式要求: 开机动画图片既可以是jpg文件,也可以是png文件,只是一定要按顺序命名.文件名命名的国际惯例是五位数,即:00000.00001. 00002--也可以是文件夹名称+下划线+序数,即:p ...

  7. Android系统源码的整编和单编

    # Android系统源码的整编和单编 文章作者: 刘望舒 文章链接: http://liuwangshu.cn/framework/aosp/3-compiling-aosp.html 前言 很多时 ...

  8. LED虚拟拍摄-跟踪算法

    LED虚拟拍摄-跟踪算法 图引用拍摄黑科技,LED虚拟影棚揭秘 标定流程 上面是一台Track设备,现精度比较高的主要是Redspy,Mosys,一般影视用这二种,其底层技术参考SMAL单目+惯性传感 ...

  9. TI AM64x开发板规格书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)

    1 评估板简介 创龙科技TL64x-EVM是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F多核处理器设计的高性 ...

  10. Spring Boot 整合

    什么是Spring Boot? 百度百科一下 创建Spring Boot项目 通过官网来创建(了解) 这里面的创建方式不做过多说明,只需要在 官网 里面创建好了,然后下载解压,就可以了,我这里直接使用 ...