ABC352

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

两个指针,分别指向ST,如果当前两个指针指向的位置一样,输出这个位置,否则把指向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

如果我们存一个数组mpi表示第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;
	
} 
posted @   不认命,就是哪吒的命!  阅读(84)  评论(0编辑  收藏  举报
相关博文:
· ABC350
· ABC362
· ABC352
· ABC309
· ABC342
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示