A
给你两个只包含小写字母的字符串s和t,你可以对它进行如下操作:在s和t中选择两个相同长度的子串,并反转它们(只需要保证两个子串长度相同即可)。问能否通过该操作使得s和t相等(操作次数不限)。
B
给你一个只包含0和1且长度为n的字符串s,你可以执行操作:交换s中相邻两个位置的数。问经过k次操作,能得到的字典序最小的s是多少。
过程/思路: 这个其实没大有什么分析的过程,就是没看清数据范围,爆int了。,因为要求的是字典序最小的串,因此要找到第一个1的位置和这个1右边距离最近的0,如何把0移到这个1的左边去。重复该操作即可,不过要注意k的限制。
C
你有a个价值为n的硬币和b个价值为1的硬币。问这些硬币能否凑出正好为s的价值。
水题。
D
有n个人参加比赛,每个人的能力是a[i]。你要给他们分组,每组不能少于三人。每组的差异性定义为:每组中能力最大的人的能力值减去每组中能力最小的人的能力值。总的差异值为每组差异值之和,问如何分配每组的人,才能使总的差异值最小。
E.Yet Another Division Into Teams
E
有一条河宽为n,左岸为0,右岸为n+1。你想从左岸走到右岸。
河上有m块木板,第i块木板的长度为c[i]。你可以随意改变木板放置的位置,但木板必须在1-n的范围内,且木板之间不能重合。
你的一步可以走[1,d]的距离。你希望过河,但不希望踩到水里,所以你只能踩着木板过河。问:你能否踩着木板成功过河,如果可以,木板应该怎么安排。
F
给你一个数组,数组中包含1-n这n个数(但没有顺序)。你可以进行如下操作:交换两个相邻位置的数。但交换过的位置不能再次交换。问如何操作才能使得该序列字典序最小。
感想
感觉这几天的训练发挥都不是特别好,也都不是很满意。这次训练在E题哪里卡了很长时间也没做出来,F题看也没看就结束了,但现在看了F题其实应该是能做出来的。以后再训练时应该先把题都看完再去做题。