atcodeABC268场

#B - Prefix?

 题目大意

这个问题是关于两个由小写英文字母组成的字符串S和T。需要确定S是否是T的前缀。

前缀是什么?
一个长度为N的字符串T1T2...TNT的前缀是一个字符串,表示为T的前i个字符T1T2...Ti,其中i是一个满足0 <= i <= N的整数。例如,当T = abc时,T有四个前缀:一个空字符串,a,ab和abc。

分析

为了解决这个问题,需要检查S是否是T的前缀。可以通过比较S和T的前S.length()个字符来确定这一点。

思路

可以先检查S的长度是否小于或等于T的长度。如果S的长度大于T的长度,那么S不可能是T的前缀。然后,我们比较S和T的前S.length()个字符。如果这些字符相同,那么S就是T的前缀。

所用知识点

这个问题主要涉及到的知识点是字符串处理。

CC - Chinese Restaurant

 

题目大意


这个问题是关于N个人(编号为0, 1, ..., N-1)坐在一个转盘周围,按逆时针顺序均匀分布。每个人面前的桌子上都有一个盘子p_i。你可以执行以下操作0次或多次:

逆时针旋转转盘1/N个圈。结果,旋转前在人i面前的盘子现在在人(i+1) mod N面前。当你完成时,如果盘子i在人(i-1) mod N,人i,或人(i+1) mod N面前,那么人i就会感到开心。

需要找出最大可能的开心的人数。
 

分析


为了解决这个问题,需要找出最大可能的开心的人数。可以通过分析每个人面前的盘子,然后决定是否旋转转盘来实现这一点。
 

思路

可以从第一个人开始,然后逆时针检查每个人。对于每个人,检查他们面前的盘子。如果这个盘子使他们开心,那么就继续检查下一个人。否则,就旋转转盘,然后再次检查这个人。重复这个过程,直到检查了所有的人。
 

所用知识点


这个问题主要涉及到的知识点是模运算和基本的算术运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值