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

ABC 458 (from ACcoder)

ABC 458部分题解

题目:https://atcoder.jp/contests/abc458

A_chompers


题目翻译

您将得到一个字符串 \(S\) ,该字符串由小写英文字母和一个正整数 \(N\) 组成。 \(S\) 的长度至少为 \(2N+1\) 。查找通过从 \(S\) 的开头删除 \(N\) 个字符并从其结尾删除 \(N\) 个字符而获得的字符串。
例子:

Sample Input

chemotherapy
3

Sample Output

mother

Removing the first three characters (che) and the last three characters (apy) from chemotherapy gives mother.
解释:
删去前3个字符(che),删去后3个字符(apy)
得到(che)mother(apy)
得到答案:

mother

思路讲解


显然地,很多人下意识会按照题目的描述去做,即模拟从头和尾上删去n个字符
但是,c++的语法中并没有简单的reduce和add函数,即使是使用STL的string
也要考虑到-+的重载。
于是我们考虑:有没有简便的写法?

既然删不了字符,那就不删了,直接选择从第n个字符输出到第len-n个字符就好了,
这样就等效于删去了前n个和后n个字符,而避免了使用运算符的麻烦
注:若stirng s的字符串长度为len,则该字符串的每个字符分别为s[0]~s[len-1]

Accode:


#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
string s;
int n;
int main()
{ios::sync_with_stdio(0);cin>>s>>n;int l=s.size();for(int i=n;i<l-n;i++) cout<<s[i];return 0;
}
//Author:AAA_jiancaipifa

B_Count Adjacent Cells


题目翻译

有一个包含 \(H\) 行和 \(W\) 列的网格。从上数第 \(i\) 行和从左数第 \(j\) 列的单元格表示为单元格 \((i, j)\) 。当 \(|x_1 - x_2| + |y_1 - y_2| = 1\) 时,称单元格 \((x_1, y_1)\)\((x_2, y_2)\)边相邻的。对于每个单元格,找出与其边缘相邻的单元格的数量。
例子:

Sample Input 1

4 5

Sample Output 1

2 3 3 3 2
3 4 4 4 3
3 4 4 4 3
2 3 3 3 2

解释:
四个顶点都有2个相邻的点
四条边都有3个相邻的点
中间的点都有4个相邻的点

思路讲解


这题最阴的地方就是h和w特殊值的特判!!!
1.h=1 and w=1
显然没有相邻,答案是0
2.h=1 and w>1
只有一行,首尾都只有一个相邻,为1;中间都有两个相邻,为2
3.h>1 and w=1
只有一列,同上
4.h>1 and w>1
这种情况才是普遍情况:
位于最边角的四个点只有两个方向有相邻,所以四个顶点的值均为2
位于边上(不包含顶点)的点都有三个相邻,所以边上的值均为3
中间的点全都有四个相邻,所以中间的点值全为4
知道了以上信息,写出代码就不难了

ACcode:


#include<bits/stdc++.h>
using namespace std;
const int N=55;
int ans[N][N];
int h,w;
int main()
{ios::sync_with_stdio(0);cin>>h>>w;if(h==1 and w==1) ans[1][1]=0;else if(h==1 and w>1){for(int i=1;i<=w;i++)if(i==1 or i==w) ans[1][i]=1;else ans[1][i]=2;}else if(h>1 and w==1){for(int i=1;i<=h;i++)if(i==1 or i==h) ans[i][1]=1;else ans[i][1]=2;}else{for(int i=1;i<=h;i++)for(int j=1;j<=w;j++){int tmp;if((i==1 or i==h) and (j==1 or j==w)) tmp=2;else if(i==1 or i==h or j==1 or j==w) tmp=3;else tmp=4;ans[i][j]=tmp;}}for(int i=1;i<=h;i++){for(int j=1;j<=w;j++)cout<<ans[i][j]<<" ";cout<<endl;}return 0;
}
//Author:AAA_jiancaipifa

C_Stands for Center


题目翻译

您将得到一个由大写英文字母组成的字符串 \(S\) 。 找出 \(S\) 中满足以下所有条件的子串(连续子序列)的数目。-它由奇数个字符组成。-它的中间字符是“ C ”。更正式地说,如果提取的子字符串由 \(l\) 个字符组成,则其第 \(((l+1)/2)\) 个字符为“ C ”。即使两个子串作为字符串是相同的,如果它们是从不同的位置提取的,它们也会被单独计数。
例子:

Sample Input 1

ABCCA

Sample Output 1

5

解释:

C
BCC
ABCCA
C
CCA

五种

思路解析

对于每个字符c
题目意思即为将c看成某个子串的中间字符。设c的位置为i,那么以它为中心,长度为奇数的子串可以表示为i-k~i+k,k>=0。这样的子串长度为2
k+1,中间字符就是i。为了保证子串在字符串的范围内,需要i-k>=0,i+k<n,即k<=min(i,n-i-1)。因此,对于每个c,可能的k有min(i,n-i-1)+1个,对应满足条件的子串个数。
将所有的子串数相加即可。

ACcode:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
string s;
ll ans=0;
int main()
{cin>>s;int len=s.size();for(int i=0;i<len;i++)if(s[i]=='C')ans+=min(i,n-i-1)+1;cout<<ans<<endl;return 0;
}
//Author:AAA_jiancaipifa

由于个人能力原因,D E F G题目前我无力解题,谅解一下谢谢

http://www.jsqmd.com/news/830762/

相关文章:

  • ElevenLabs法文语音合成效果跃升方案(实测WER降低42.6%!):基于217小时母语语料的声学参数调优手册
  • 如何用RPG Maker解密工具轻松解锁游戏资源?
  • STM32 PWM实战:从呼吸灯到电机控制的完整驱动指南
  • 手把手教你用Kaggle免费GPU跑深度学习模型(附火狐插件解决注册验证码问题)
  • t-io流量监控与统计:实现网络性能优化的完整指南
  • 5分钟掌握AutoRaise:macOS窗口管理神器终极指南
  • the Fourth Week of Learning Java
  • 如何轻松下载智慧教育平台电子课本:3分钟掌握tchMaterial-parser终极指南
  • 关于最长上升子序列(LIS)
  • Python掌控Android设备的终极指南:pure-python-adb完整教程
  • 【限时开放】钯金印相AI复刻密钥库(含37个私藏种子ID+金属颗粒噪声叠加参数表):仅剩最后43份,工程师级调参文档同步解锁
  • Vue-Admin-Box数据可视化终极指南:基于ECharts的图表组件最佳实践
  • 基于RK3568核心板的智能家居控制器:从芯片选型到量产实战
  • IM即时通讯源码/im源码基于uniapp框架从0开始设计搭建在线聊天系统
  • 10分钟搞定外文漫画翻译:BallonsTranslator零门槛入门指南
  • Vital合成器引擎揭秘:从波形生成到频谱处理的完整流程
  • 【独家】ElevenLabs未公开的葡语语音参数调优矩阵(基于172小时真实客服语音AB测试):立即提升自然度+28%
  • Spectre:支持编译时契约评估,可转换 C 代码的安全底层编程语言!
  • 洞察 | (二)视觉映射、感知优化与色彩工程
  • 如何免费下载30+平台文档:kill-doc完全使用指南
  • 别再死记硬背了!用几个生活化例子,帮你彻底搞懂C#里的virtual关键字
  • Glur:SwiftUI渐进模糊效果库的终极指南
  • TestableMock多场景应用:从基础Mock到复杂业务逻辑测试
  • SSHFS-Win:让Windows像访问本地硬盘一样操作远程服务器文件
  • Reset-Windows-Update-Tool架构解析:Windows更新故障的深度修复方案
  • 不只是连线:用立创EDA做PCB布局时,这7个工程师才知道的实用技巧
  • Wormhole SDK 使用教程:如何在 10 分钟内集成跨链功能
  • 六足机器人技术架构深度解析:从18自由度到智能步态控制的创新实践
  • 参数失控?画风平庸?Midjourney抽象表现主义进阶必修课,含5套已验证Prompt模板+权重调试日志
  • gRPC-rs 安全实践:如何配置 TLS 证书和实现双向认证 [特殊字符]