首页 > 其他分享 >三十二 1349. 修理牛棚 (贪心)

三十二 1349. 修理牛棚 (贪心)

时间:2024-04-12 20:47:27浏览次数:13  
标签:1349 三十二 int private nextInt static sc 贪心

1349. 修理牛棚 (贪心)
image

import java.util.*;

public class Main {
    private static final int N = 210;
    private static int M, S, C;
    private static int[] a, b;
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        M = sc.nextInt();
        S = sc.nextInt();
        C = sc.nextInt();
        
        a = new int[C];
        for (int i = 0; i < C; i++) {
            a[i] = sc.nextInt();
        }
        Arrays.sort(a);
        
        int res = a[C - 1] - a[0] + 1;
        b = new int[C - 1];
        for (int i = 0; i + 1 < C; i++) {
            b[i] = a[i + 1] - a[i] - 1;
        }
        Arrays.sort(b);
        for (int i = 0; i <= (C - 1) / 2; i++) {
            int temp = b[i];
            b[i] = b[C - i - 2];
            b[C - i - 2] = temp;
        }
        
        for (int i = 0; i < M - 1 && i < C - 1; i++) {
            res -= b[i];
        }
        System.out.println(res);
    }
}

标签:1349,三十二,int,private,nextInt,static,sc,贪心
From: https://www.cnblogs.com/he0707/p/18132045/lanqiaobei32

相关文章

  • 反悔贪心
    一直搞不明白这东西自身的正确性。我更愿意将其理解为模拟费用流或者某种dp优化,事实上证明正确性的时候往往也是这么证的。基于dp优化的理解AT_dwango2016qual_e令\(dp_{i,j}\)表示i时刻在位置j的最小代价。转移:\[dp_{i,j}=min_{k<=j}(dp_{i-1,k})+(i时间内在位置j......
  • 贪心选讲-几个套路
    凸性CF1428ECarrotsforRabbits给\(n\)个胡萝卜,再\(n-k\)次选出一个胡萝卜切一刀成俩,最小化最后所有胡萝卜平方和.CF1661FTeleporters给定数轴上\(n\)个点和\(m\),要再建立若干点,使得存在一条路径\(a_1\ldotsa_n\)的\(\sum{(a_i-a_{i-1})}^2\lem\)......
  • Day34代码随想录(1刷)贪心
    435.无重叠区间给定一个区间的集合 intervals ,其中 intervals[i]=[starti,endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。示例1:输入:intervals=[[1,2],[2,3],[3,4],[1,3]]输出:1解释:移除[1,3]后,剩下的区间没有重叠。示例2:输入:in......
  • 三种算法实例(二分查找算法、插入排序算法、贪心算法)
    当我们听到“算法”这个词时,很自然地会想到数学。然而实际上,许多算法并不涉及复杂数学,而是更多地依赖基本逻辑,这些逻辑在我们的日常生活中处处可见。在正式探讨算法之前,有一个有趣的事实值得分享:你已经在不知不觉中学会了许多算法,并习惯将它们应用到日常生活中了。下面我将举......
  • 贪心算法
    1、基本概念贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法解决问题的策略是:做出选择时,每次都选择对当前状态最优的解,而不考虑整个问题的解空间。它通常用来解决最优化问题,如最小生成树、哈夫曼编......
  • 贪心算法|1005.K次取反后最大化的数组和
    力扣题目链接classSolution{staticboolcmp(inta,intb){returnabs(a)>abs(b);}public:intlargestSumAfterKNegations(vector<int>&A,intK){sort(A.begin(),A.end(),cmp);//第一步for(inti=0;i<A.size......
  • 贪心算法|53.最大子序和
    力扣题目链接classSolution{public:intmaxSubArray(vector<int>&nums){intresult=INT32_MIN;intcount=0;for(inti=0;i<nums.size();i++){count+=nums[i];if(count>result){......
  • 贪心算法|376.摆动序列
    力扣题目链接classSolution{public:intwiggleMaxLength(vector<int>&nums){if(nums.size()<=1)returnnums.size();intcurDiff=0;intpreDiff=0;intresult=1;for(inti=0;i<nums.size(......
  • 【每日一题】补档 CF730I. Olympiad in Programming and Sports | 反悔贪心 | 困难
    题目内容原题链接给定nnn个学生,第iii个学生的编程能力为......
  • 贪心算法——多机调度问题
    问题描述下面用一道2013上半年软件设计师的软考题来说明这个问题。   设有M台完全相同的机器运行N个独立的任务(任务不可分割),运行任务i所需要的时间为,要求确定一个调度方案,使得完成所有任务所需要的时间最短,任务运行时独占机器。   这里要求定义的变量如......