• Country Road Aizu


    题目链接:  https://vjudge.net/problem/Aizu-2104

    题解:

      咋说啊,一言难尽,花了半小时写出来的,卡了十分钟才恍然大明白是排序。

    具体就是让每个村子都通上电,变压器在的村子,与变压器连线点线长度为0,其他村子和变压器连线长度为村子之间的距离。

    那就减去最大村子间距就好了,代码写出来,运行,看一下,细节直接按着运行结果现调。啊对了,我用int 提交不对,long 就可以。

    AC代码:

    #include<iostream>
    #include<algorithm>
    #include<cstdlib>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    int T;
    long n, k;
    long house[100002];
    long dis[100002];
    
    int main()
    {
        cin >> T;
        while (T--)
        {
            cin >> n >> k;
            for (long i = 0; i < n; ++i)
            {
                cin >> house[i];
            }
            memset(dis, 0, sizeof(dis));
            for (long i = 0; i < n - 1; ++i)
            {
                dis[i] = house[i + 1] - house[i];
            }
            long ans = house[n - 1] - house[0];
            sort(dis, dis + n - 1);
            for (long i = 0; i < k -1; ++i)
            {
                ans -= dis[n-2-i];
            }
            if (ans < 0)
                ans = 0;
            cout << ans << endl;
        }
        return 0;
    }

    今天也是元气满满的一天!good luck!

  • 相关阅读:
    nopCommerce中缓存学习
    EF
    路由
    webapi的加密方式
    生成N位数字随机数
    C# DataTable 转 实体类
    WebBrowser 打印
    文件上传控件,格式统一
    sqlserver 表循环-游标、表变量、临时表
    VB 老旧版本维护系列---迷之集合- dataTable
  • 原文地址:https://www.cnblogs.com/cattree/p/9371050.html
Copyright © 2020-2023  润新知