A - Luntik and Concerts
题意:
t个测试样例,每行三个数a一分钟的歌,b两分钟,c三分钟,将所有歌放到两场演唱会中,问怎么放两场演唱会差值最小。
分析:
统计所有时间,如果是偶数,那么肯定能平均分,差值为0,否则差值为1。
代码:
B - Luntik and Subsequences
题意:
t个测试用例,每行n个数,s是所有数的和-1,求n个数的子序列,满足等于s。
分析:
只用看0和1的个数,1的话,每次只能用一个,0的话,可以用任意个,所以结果就是1的个数乘以2的x次方,x是0的个数。
代码:
C - Grandma Capa Knits a Scarf
题意:
t个测试用例,每行n个字符,你选一个字母,然后可以从n个字符中删除任意个这个字母,使其变成回文串,求最小删多少个。
分析:
因为你要选任意一种字母,所以你需要遍历所有26个字母,判断每个字母需要删除多少个,求出最小的一个就行,从两头同时开始判断,前面不是所选字母就往后移一位,后面不是的话,往前移一位,如果都不是,就判断下个字母。
代码:
D - Vupsen, Pupsen and 0
题意:
t个测试用例,每行n个数字,你要找出另一个数组,使得两个数组对应位置相乘加起来等于0。
分析:
如果是偶数个的话,两两可以直接抵消,如果是奇数个,那么把前三个取出来,后面偶数个两两抵消,如果前两个不是相反值,那么可以让前两个都乘以第三个的负数,让第三个乘以前两个和的负数,前三个就能抵消,如果前两个互为相反值,就判断第二个和第三个,以此类推。
代码: