A Santa Claus and a Place in a Class
题意:确认行列左右,水题。
代码: 传送门
B Santa Claus and Keyboard Check
题意:圣诞老头修键盘,有的键安错了,每个键只能出现一次,先要求找按错的对数,并且输出他们。
题解:每个只能出现一次,所以当两个字符串每个位置的字母不一样时记录它们的对应关系,如果之前出现过,并与现在记录的不一样,则说明无法找出,输出-1,否则记录。
代码:传送门
C Santa Claus and Robot
题意:老头送礼物,忘了礼物位置,只知道行走路径,他在每个礼物之间他只会走最短路径,求礼物数。
题解:只要找出他每次走的相反方向就行,最后停下来的地方肯定有一个礼物。
代码:传送门
D Santa Claus and a Palindrome
题意:n 个字符串,每个串对应一个值,用所给串拼一个回文串,使其总值最大.
题解:首先我们可以两两配对,使它们互相拼起来后为一个回文串,注意记录那些自己本身就是回文串的字符串,我们可以在非回文串的字符串拼接后,在其中间添加一个回文串,这一步需要到最后再判断,至于那些找不着配对的可以直接pass掉.
代码:传送门
ESanta Claus and Tangerines
题意:n个数,每个数可对折拆分直至为1,最后所有数都大于k,求能最多这出来多少个数,
题解:其实还是挺简单的,用二分法不停的折半,每次折半取小的那个,只要其一半大于k就能继续折半.
代码:传送门
F Santa Clauses and a Soccer Championship
题意:n个城市n-1条变边.2k个球队分布在各个城市,且一个城市最多一个球队,这些球队份k对比赛.求一组城市,满足任意两队所在城市之间的最短路至少经过其中一点,并且求出球队分配.
题解:很明显,若每两点间的最短路经过其中一点,则该点集为重心的集合,根据重心定义即可知满足条件,我们直接将不同子树上的球队相互配对,即为所求,这题跟学习记录里那题意思差不多,方法也一样.
代码:传送门