比赛链接
A.Maximum Square
题意:
给出n个长度为$a_i$宽度为1的方块,能组成最大的正方形的边长是多少?
分析:
排个序,然后就很明显了。话说有点儿像俄罗斯方块
Code:
1 |
|
B1.Character Swap (Easy Version)
题意:
给出两个不同的字符串s和t,s[i]与t[j]交换一次,是否可以使s与t相同。(i,j均为合法的下标)
分析:
显然,只有两串初始有两处不同时可能满足,再判断这两处交换后,s和t是否相同就行。
Code:
1 |
|
B2.Character Swap (Hard Version)
题意:
给出两个不同的字符串s和t,长度均为n,s[i]与t[j]最多可以交换2n次,是否可以使s与t相同。如果可以,输出Yes和操作次数以及具体的操作,否则输出No(i,j均为合法的下标)
分析:
首先,判断两串所有字母的出现次数,如果每种字母出现的次数都是偶数,就可行,否则不可。
关于具体操作,对于可以一次交换就进行一次交换,而且,无需考虑对后边位置的影响,因为即使打乱后边位置原本的对应关系,也可以再通过操作弥补上。(题目不要求操作次数最小)。无法一次交换的就需要进行两次交换。
Code:
1 |
|
C. Tile Painting
题意:
n个格子,现在涂色。例如n的因子是2,则1和3的颜色相同,2和4的颜色相同。假设n的因子是3,则1和4的颜色相同,2和5的颜色相同。
分析:
打表可以发现,素数n的颜色为n(n>2),和数n(质因子仅一种,为a)颜色为a,和数n(质因子有两种及以上)颜色为1。比赛时写的比较崩,其实直接分解质因子更简单,包括了大于1的所有情况。
Code:
1 |
|