A

link



先输出前\(k\)个,再输出\(x\),最后输出后面的。

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

using namespace std;

int n,k,x;

signed main(){

	cin >> n >> k >> x;
for(int i = 1;i <= n;++ i){
int a;
cin >> a;
cout << a << " ";
if(i == k) cout << x << " ";
} return 0; }

B

link



先看一下这个图。



样例很好的给我们了思路,只要判读第二个的左前下角在第一个右后上角的左前下方即可(即在第一个正方体内部)。

还有一种情况。

第二个正方体本身就在第一个的左前下方(无交),这时也符合第一个条件,那么就要避免这种情况。

于是乎,有了第二个条件第二个的右后上角在第一个的左前下角的右后上方(在第一个正方体内部)。

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

using namespace std;

int a,b,c,d,e,f,g,h,i,j,k,l;

signed main(){

	cin >> a >> b >> c >> d >> e >> f;
cin >> g >> h >> i >> j >> k >> l; if(g < d&&h < e&&i < f&&j > a&&k > b&&l > c)
cout << "Yes";
else cout << "No"; return 0; }

C

link



我们可以发现,他虽然打着顺序不变的旗号吓唬我们,可他要求的最大值和最小值根顺序无关,所以我们直接排序即可。

那么排序后的结果可以直接在其中取连续的一段取头和尾作差,这样连续的一段的最大值和最小值的差一定要比不连续的小,因为不连续的要么最小更小,要么最大更大,终究不合适。

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

using namespace std;

int n,k;
int a[200005];
int ans = 1e9; signed main(){ cin >> n >> k;
k = n-k;
for(int i = 1;i <= n;++ i)
cin >> a[i];
sort(a+1,a+1+n); for(int i = 1;i+k-1 <= n;++ i){
ans = min(ans,a[i+k-1]-a[i]);
} cout << ans; return 0; }

D

link



爆搜即可。

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

using namespace std;

int n;
string s,t;
map<string,bool> vs; void bfs(){ queue<pair<string,int> > q;
q.push({s,0});
vs[s] = 1;
string c;
while(!q.empty()){ c = q.front().first;
int b = q.front().second;
q.pop(); if(c == t){
cout << b << endl;
exit(0);
} int t = 0;
for(int i = 0;i < n-1;++ i){
if(c[i] == '.'){
t = i;
break;
}
} for(int i = 0;i < n-1;++ i){
if(c[i] == '.'||c[i+1] == '.')
continue;
swap(c[i],c[t]);
swap(c[i+1],c[t+1]);
if(vs[c]){
swap(c[i],c[t]);
swap(c[i+1],c[t+1]);
continue;
}
vs[c] = 1;
q.push({c,b+1});
swap(c[i],c[t]);
swap(c[i+1],c[t+1]); } } cout << -1; } signed main(){ cin >> n >> s >> t; s = s+"."+".";
t = t+"."+".";
n += 2; bfs(); return 0; }

随机推荐

  1. 深入剖析Arthas源码

    一. 前言 Arthas 相信大家已经不陌生了,肯定用过太多次了,平时说到 Arthas 的时候都知道是基于Java Agent的,那么他具体是怎么实现呢,今天就一起来看看. 首先 Arthas 是在 ...

  2. MyBatis两级缓存机制详解

    缓存是提高软硬件系统性能的一种重要手段:硬件层面,现代先进CPU有三级缓存,而MyBatis也提供了缓存机制,通过缓存机制可以大大提高我们查询性能. 一级缓存 ​ Mybatis对缓存提供支持,但是在 ...

  3. Uni-app极速入门(一) - 第一个小程序

    Uni-app 介绍 官网:https://www.dcloud.io/index.html uni-app是为js开发者提供的一个全端开发框架,可以开发一次编译为web.App.小程序(微信/阿里/ ...

  4. SMOGN算法Python实现:解决回归分析中的数据不平衡

      本文介绍基于Python语言中的smogn包,读取.csv格式的Excel表格文件,实现SMOGN算法,对机器学习.深度学习回归中,训练数据集不平衡的情况加以解决的具体方法.   在不平衡回归问题 ...

  5. 如何实现sm3加密

    SM3加密应用 何为sm3加密? SM3是由中国国家密码管理局设计的一种密码杂凑函数,类似于SHA-256和MD5等国际标准的散列算法.SM3算法是中国国家标准<GB/T 32905-2016 ...

  6. OpenTelemetry agent 对 Spring Boot 应用的影响:一次 SPI 失效的案例

    背景 前段时间公司领导让我排查一个关于在 JDK21 环境中使用 Spring Boot 配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverPr ...

  7. 关于正在开发中的DjangoStarter v3版本

    前言 最近做的这个项目大量使用了 python 及其相关的生态,因此自然而然选择了我的 DjangoStarter 作为后端框架 之前 v2 版本是用 RestFramework 做接口的,后面我试用 ...

  8. 算法学习笔记(15): Trie(字典树)

    Trie树 Trie(字典树)是一种用于实现字符串检索的多叉树. Trie的每一个节点都可以通过 c 转移到下一层的一个节点. 我们可以看作可以通过某个字符转移到下一个字符串状态,直到转移到最终态为止 ...

  9. 异步任务处理注解方法@Async实现异步多线程

    异步任务处理注解方法@Async实现异步多线程 1.定义配置类,设置参数2.定义任务执行类3.执行Spring 中的ThreadPoolExecutor是借助JDK并发包中的java.util.con ...

  10. CNN --Inception Module

    Smiling & Weeping ---- 祝你想我 在平静的湖面 不止在失控的雪山之前 说明:Inception Module 1. 卷积核超参数选择困难,自动找到卷积的最佳组合 2. 1 ...