今日学习记录
1. 吃披萨leetcode.3457
关键词:贪心
问题分析:
- 就是奇数天吃四个中最大的披萨,偶数天吃四个中第二大的披萨
核心思路
- 贪心思想嘛,尽量多吃,先排序,大的都在左边(好计数),我肯定优先选大的,把天数分开为奇偶天,奇数有 n 天,偶数有 m 天,奇数每次都能选最大的,所以把大的都留给奇数天,再往后找偶数天
可以解释,如果按照直接进行计算那么就是
- 选_选选_选选 可以看,我们可以把偶数与前面的奇数天对换一下位置,这样能得到更大的数,即
- 选选选_选_选 可以看到,在上述数组中,数值大的在左边被选到的次数最多即数值最大,本质上是交换论证法
**最终代码:
long long maxWeight(vector<int>& pizzas) {
ranges::sort(pizzas,greater());
int n = pizzas.size()/4;
int day = (n+1)/2;
long long ans =0 ;
for(int i = 0;i<day;i++){
ans += pizzas[i];
}
for(int i = 0;i<n/2;i++){
ans += pizzas[day+2*i+1];
}
return ans;
}学到的点:
- 贪心
2. 生长的树[洛谷.13279](P13279 「CZOI-R4」生长的树 - 洛谷)
关键词:贪心 树论 “
问题分析:
核心思路
最终代码:
学到的点: 1.