题目:http://www.wzoi.org/usaco/11%5C304.asp

大意:有m个点,用有数量限制的区间把这些点全部覆盖,求区间和的最小值。

贪心原理:如果限制的区间数大于等于m的话ans=m(就因为没考虑这点提交了好多次- -|||);否则,先用把点都排序(这里也忘记了- -|||),用标记法记录相邻点的距离,a[i]表示距离为i的个数。。。

每减少一次区间的个数相当于2个区间合并成一个区间,合并的话肯定选距离最小的那个。。。。。把区间个数减到限制的个数为止。。。。。。

/*ID: qiufeih1PROG: barn1LANG: C++*/

#include <iostream>#include <fstream>#include <cstring>#include <algorithm>using namespace std;

const int INF = 1<<30;

int a[250];int num[250];

int main(){    freopen("barn1.in", "r", stdin);    freopen("barn1.out", "w",stdout);int n, m;int star, end;int i, j;int ans;int count;int flag;int min, max;int max_num;    scanf("%d%d%d", &max_num, &n, &m);    memset(a, 0, sizeof(a));

for (i = 0; i < m; i++)    {        scanf("%d", num+i);

    }

    ans = m;if (max_num < m)//别漏    {        max_num = m - max_num;

        sort(num, num+m);//别漏排序        for (i = 1; i < m; i++)        {            a[num[i]-num[i-1]-1]++;//标记距离的个数        }

        i = 0;//距离从小到大取。。贪心        while (max_num--)        {if (a[i])//存在距离为i            {                ans += i;                a[i]--;            }else            {while (!a[++i]);                ans += i;                a[i]--;            }        }    }

    printf("%d\n", ans);

return 0;}

转载于:https://www.cnblogs.com/qiufeihai/archive/2012/03/29/2424337.html

USACO section1.3 Barn Repair 修理牛棚(贪心)相关推荐

  1. [USACO 1.3.2] Barn Repair 修理牛棚

    修理牛棚 题目描述 给出: 输入输出格式 输出 样例 输入1 输出1 时间及空间限制 [算法分析] 贪心策略: 代码 题目描述 在一个夜黑风高,下着暴风雨的夜晚, farmer John 的牛棚的屋顶 ...

  2. Barn Repair 修理牛棚,java解题

    题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜. 有些牛棚里有牛 ...

  3. 修理牛棚 贪心 USACO

    今天开始终于可以刷USACO的题啦 准备每一道都发一个题解 1010: 1.3.2 Barn Repair 修理牛棚 时间限制: 1 Sec  内存限制: 128 MB 提交: 9  解决: 7 [提 ...

  4. USACO1996《修理牛棚》解题报告

    Barn Repair 修理牛棚 译 by tim green 在一个暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 剩下的牛一个紧挨着另一个被排成一行来过夜 ...

  5. USACO修理牛棚 Barn Repair

    USACO修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行 ...

  6. P1209 [USACO1.3]修理牛棚 Barn Repair 的详解

    P1209 [USACO1.3]修理牛棚 Barn Repair [题目网站] [USACO1.3]修理牛棚 Barn Repair - 洛谷 [题目考点] 间隔的计算 [题目思路] 先输入数据 再算 ...

  7. K10837 修理牛棚 Barn Repair [USACO1.4]

    K10837 修理牛棚 Barn Repair [USACO1.4] 题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满 ...

  8. python贪心算法——以“修理牛棚”题目为例

    [USACO1.3]修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个 ...

  9. 东华OJ 基础 49修理牛棚

    一.题目 49 修理牛棚 作者: xxx时间限制: 1S章节: 一维数组 问题描述 : 在一个暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚(牛棚的总数S:1<= ...

最新文章

  1. 压力测试的几种常见性解决方案
  2. 设计模式-行为-解释器
  3. IDEA下的使用git
  4. 【MPI学习3】MPI并行程序设计模式:不同通信模式MPI并行程序的设计
  5. linux常用命令实战
  6. 云米路演PPT曝光:发行区间9-11美元 依赖小米品牌
  7. 区块链溯源系统架构---区块链工作笔记002
  8. 如何理解c和c ++的复杂类型声明
  9. 使用js获取select选中文本
  10. Java多线程看着一篇足够了!
  11. Linux系统中僵尸进程的查看与删除
  12. php可以运行js代码吗,php可以运行js代码吗?
  13. java 邮件接收端程序_java邮件收发功能实现代码
  14. 100套计算机毕设源码+论文 免费分享 【2020最新版】
  15. Nacos 学习笔记:安装运行初体验
  16. 天下3各服务器最新互转查询,转服必看 大荒最新服务器火爆度排行榜
  17. Marked.js让您的文档编辑更加轻松自如!
  18. 申请计算机助理的英语作文,高考模拟英语作文 申请暑假英语助理编辑职位
  19. python 有放回随机抽取_Python 随机抽样
  20. C语言教程(五):选择结构

热门文章

  1. python回溯方法的模板_实例讲解Python基于回溯法子集树模板实现图的遍历功能
  2. 新年新计划-2021年
  3. 我的内核学习笔记:环境
  4. u-boot移植随笔:让u-boot shell支持tab、命令历史
  5. Gradle+IDEA使用说明
  6. 【Elasticsearch】所有可用 Qbox 插件的概述:第二部分
  7. 【ElasticSearch】Es 启动流程 初始化流程 源码分析
  8. 【Json】JSONPath之fastJson与Snack3的使用介绍与区别
  9. String*Buffer*Builder理解
  10. eclipse spring mysql,eclipse环境下的springboot框架+mybatis访问MySQL报错空指针