阳仔评奖学金
这个题是一个多重条件的结构体排序,先根据成绩进行排序,然后我们在按照数学,语文成绩一次排序。
这里先给大家补充一个sort函数的使用https://blog.csdn.net/qq_41575507/article/details/105936466
学会了sort这个题我就可以直接使用sort进行排序,这个题的cmp函数我们就可以这样写。
bool cmp(node x,node y)
{
if(x.sum == y.sum){
if(x.math == y.math){//总成绩和数学成绩都相同,我们对语文成绩进行排序
return x.chinese > y.chinese;
}
return x.math > y.math;//总成绩相同,但是数学成绩不同,按照数学成绩排序
}
return x.sum > y.sum;
}
这个题因为要输入字符串,所以我们需要注意字符串输入问题
阳仔的偶串
这个题目是codeforces上的一个题目的改编,这个题运用的是贪心算法,使用贪心的思想对字符串进行处理
贪心算法https://blog.csdn.net/qq_62899367/article/details/122425587
原串一定是被结果串划分成了若干段,每段只会保留两个。
我们从前往后考虑,维护一下当前尚未匹配的集合,那么如果新来的元素在集合中存在,那么这一段就取两个这个字符,其他的扔掉就可以了,这样可以保证答案最大,因为把更多的机会留给了后面。
就比如序列是abacc,扫描到第三个位置的时候集合里有a和b,然后发现a存在,那么这一段留aa,把b直接扔掉。
阳仔去游玩
这个题算是一个签到题,就是数据可能不是特别的真实,但是思路很好想。也没有啥好说的,先计算两个的时间,然后在比较一下就行,注意输出的内容别敲错了(直接复制不会出现问题)
喜欢偶数的阳仔
这个题也比较的简单,我们只需要把偶数和奇数分开存储,然后把比较最大的两个奇数和,最大的两个偶数和,输出最大的,如果没有的话就输出-1
阳仔去购物
这个题目是一个小小的思维题。我们先这样想,如果我现在有一张一元的,是不是我就可以把所有的2元都消耗掉。
例如:1元-->一张一元;2元-->一张两元(替换掉刚才的一元);3元-->一张一元,一张两元;4元--> 两张两元......经过列举,你会发现一元是交替出现的,只要我有一张一元,我就可以使用掉所有的两元,然后在考虑一下最后的式子就行。
阳仔的计算器
这个题也算是一个比较好的签到,需要注意的是字符的输入问题,同时这个题目也卡了long long ,两个数相乘结果会大于long long