• 每日一题AC


    3.小张的工厂里的厂房受到台风的袭击,导致部分厂房的顶棚遭到了破坏,急需修理。厂房是由一间间的相同宽度的隔间组成,这些隔间都是连在一起的,连成了一条直线,隔间采用塑钢板作为顶棚,多个隔间可以共用一块长的塑钢板。这些隔间里有的有货物,有的没有货物,因为考虑到最近可能还会有台风,所以必须把有货物的隔间的顶棚修理好。 目前塑钢板的供应商能提供的板材的数量有限制,但长度没有限制,所以小张只能尽量的减少板材的数量。请你帮助小张计算需要采购塑钢板的最小长度。

    输入格式 第1行:M,S和C(用空格分开)。M为能买到的板材的最大数目(1<=M<=50),S为厂房总的隔间的数量,1<=S<=200,C为有货物的隔间的数量。 第2到C+1行:每行包含一个整数,表示有货物的隔间的编号。编号从1开始,1<=C<=S

    输出格式 输出一行,采购的塑钢板的总长度。

    输入输出样列 输入样例1: 1 10 4 2 5 7 8 输出样例1: 7

    思路:对编号排序用最大的编号减最小的然后加一(网上题解说是最小生成树,我觉得没那么麻烦,代码实现功能和题解一样)

    AC代码:

    ​#include 
    #include 
    using namespace std;
    ​
    int main() {
        int m, s, c;
        cin >> m >> s >> c;
    ​
        int a[c];
        for (int i = 0; i < c; i++) {
            cin >> a[i];
        }
    ​
        sort(a, a + c);
        cout< 
    

     

    网上最小生成树

    #include
    #include
    using namespace std;
    ​
    const int MAXN=205;
    const int MAXM=40010;
    ​
    int M,S,C;
    int cnt=0;
    int num=0;
    int ans=0;
    int f[MAXN];
    int a[MAXN];
    struct Edge
    {
        int u,v,w;
        bool operator<(const Edge a)const{
            return w>M>>S>>C;
        for(int i=0;i<=S;++i)
        {
            f[i]=i;
        }
        for(int i=1;i<=C;++i)
        {
            cin>>a[i];
            for(int j=1;j 
    

     

  • 相关阅读:
    企业级Java EE架构设计精深实践
    Redis实现全局唯一id
    电商企业如何操作自动化软件鼓励员工创新
    5GgNB和ng-eNB的主要功能
    linux effective_protection函数实现
    『现学现忘』Git基础 — 20、Git中忽略文件补充
    c++ | json库的使用 | josn静态库生成
    SSM SpringBoot vue限房摇号系统
    TeamTalk中对一条连接收发消息的封装。
    C++11特性-智能指针
  • 原文地址:https://blog.csdn.net/weixin_74384251/article/details/133819243