A Rook
题目大意
给一个国际象棋棋盘,有
t次询问,每次询问给定一个棋子坐标s例如d4.问: 输出这个棋子上下左右四个方向的坐标
解题思路
两个
for循环暴力求解
代码
B YetnotherrokenKeoard
题目大意
有
t次询问,每次询问会给定一个字符串s,
我们要敲击键盘拼接出这个字符串,但是存在一些规则:
- 每次敲击
b就会将位于这个b左边存在小写字母,那么就将距离b最近的一个删除,- 同理,当敲击大写字母时,就会删除这个
B左边最近的一个大写字母.问: 最后会组成一个怎样的字符串.
解题思路
这个题由于数据量比较大,就不要尝试双重循环去删除字符了
我们可以发现一个规律,我们只删除当前字符前大小写形式相同的字符,并且只能删除一次,而且
是删除距离最近的,
这就有点像堆栈(后进先出),那我们就可以用栈来模拟这个过程
我们可以给每个字符做个标记,即创建一个和字符串大小相同的bool数组
若为b或B或被删除的字符标记为false,否则为true
代码
C Removal of Unattractive Pairs
题目描述
有
t次询问,每次询问给出一个长度为n的字符串,字符串两个字符不同则可以删除这两个字符
问: 字符串最短有多长.
解题思路
用手玩玩就
ok
代码
D Jumping Through Segments
题目描述
有
t次询问,每次询问会给n个L, R,其中第i段从坐标为L[i]的点开始,到坐标为R[i]的点结束。
玩家从坐标为 0 的点开始通关。在一次移动中,他们可以移动到距离不超过 k 的任意一点。
在第i次移动后,玩家必须落在第i段之内,即在坐标x处,使得L[i]≤x≤R[i]。
这意味着,每次移动都必须在L[i] ~ R[i]
如果玩家按照上述规则到达了第n个段落,那么这一关就算完成了。
为了不希望这个关卡太简单,所以要求确定可以完成这个关卡的最小整数k。
解题思路
核心思想就是二分答案.