普通dp题

题目描述

牛在饲料槽前排好了队。饲料槽依次用1到n(1 ≤ n ≤ 2000)编号。每天晚上,一头幸运的牛根据约翰的规则,吃其中一些槽里的饲料。 约翰提供b个区间的清单。一个区间是一对整数start-end,1 ≤ start ≤ end ≤ n,表示一些连续的饲料槽,比如1-3,7-8,3-4等等。牛可以任意选择区间,但是牛选择的区间不能重叠。 当然,牛希望自己能够吃得越多越好。给出一些区间,帮助这头牛找一些区间,使它能吃到最多的东西。 在上面的例子中,1-3和3-4是重叠的,不能同时选择;聪明的牛选择1-3和7-8,这样可以吃到5个槽里的东西。

输入

输入有若干行: 第一行只有一个整数b(1≤b≤1000)表示区间数。 第二行至第b+1行,每行两个整数,表示一个区间,较小的端点在前。

输出

输出只有一行,该行只有一个整数,表示最多能吃到多少个槽中的食物。
 
 
 
就是一道动态规划(线段覆盖),题意也很好理解。
但是要注意的是,一定要按照饲料槽的顺序做。在线做法似乎是不可行的。
例如先输入后面的线段,再输入前面的线段,两者可能可同时取,但由于有几率有复杂的冲突关系而不能同时取得,如果要判冲突(然而我不会)会出一些奇奇怪怪的事情。另一方面取max又会把后面的线段覆盖掉,
 
所以还是离线排序或者O(max(end) + 1)扫一遍吧
 
ps:本题数据没有x相同。如果x有相同那么就要排序做了,否则可用f[i][]存一条线段。
 
upd - 12.04.2017 19:05
刚做一道“Tom的烦恼”,就是有重起点。可以二维保存线段,另加数组les[]存个数——或者动态开也是可以的。

【dp】饥饿的牛的更多相关文章

  1. 饥饿的牛(dp一维最大覆盖)

    问题 H: 饥饿的牛 时间限制: 1 Sec  内存限制: 128 MB提交: 12  解决: 12[提交][状态][讨论版][命题人:外部导入][Edit] [TestData] [同步数据] 题目 ...

  2. 饥饿的牛(hunger)

    饥饿的牛(hunger) 题目描述 牛在饲料槽前排好了队.饲料槽依次用1到n(1≤n≤2000)编号.每天晚上,一头幸运的牛根据约翰的规则,吃其中一些槽里的饲料.约翰提供B个区间的清单.一个区间是一对 ...

  3. 「BZOJ1669」D 饥饿的牛 [Usaco2006 Oct] Hungry Cows 牛客假日团队赛5 (LIS,离散化树状数组)

    链接:https://ac.nowcoder.com/acm/contest/984/D 来源:牛客网 饥饿的牛 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...

  4. Pair(二进制处理+数位dp)(2019牛客暑期多校训练营(第七场))

    示例: 输入: 33 4 24 5 27 8 5 输出:5 7 31 题意:存在多少对<x,y>满足x&y>C或x^y<C的条件.(0<x<=A,0< ...

  5. Points Division(线段树+DP)2019牛客暑期多校训练营(第一场)

    题意:https://ac.nowcoder.com/acm/contest/881/I 给你n个平面上的点,每个点有a.b两个权值,现在让你划分成两个区域(要求所有A集合里的点不能在任何B集合里的点 ...

  6. BZOJ 1606: [Usaco2008 Dec]Hay For Sale 购买干草( dp )

    -------------------------------------------------------------------- #include<cstdio> #include ...

  7. [BZOJ1606] [Usaco2008 Dec] Hay For Sale 购买干草 (dp)

    Description 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每 ...

  8. 【bzoj1606】[Usaco2008 Dec]Hay For Sale 购买干草 背包dp

    题目描述 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每一包都有它的体 ...

  9. [bzoj1606][Usaco2008 Dec]Hay For Sale 购买干草_动态规划_背包dp

    Hay For Sale 购买干草 bzoj-1606 Usaco-2008 Dec 题目大意:约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单 ...

随机推荐

  1. ListView加载完数据屏幕会自动和ListView的顶部对齐,而不是布局中最顶部的控件?

    最简单的解决方法 让ListView失去焦点即可 listView.setFocusable(false);

  2. Continuous Integration

    https://dzone.com/articles/continuous-delivery-toolchain

  3. NSPhotoLibraryAddUsageDescription解决办法

    图片并保存到本地的功能,一点发现闪退了.发现 Xcode 报以下错误: The app's Info.plist must contain an NSPhotoLibraryAddUsageDescr ...

  4. GYM 101933I(贪心、大整数)

    我读题有问题呀,题目中到底哪里保证数据一定至少是2倍关系了Orz--然后既然题意就是保证了那贪心一下即可,因为如果当前这个大的不选,那剩下一堆逐渐小于上一代的1/2的,凑起来都不如这个大的,更别说答案 ...

  5. hdu5036 Explosion 传递闭包

    大哲哥的讲课内容 根据期望的线性性,得到总期望为各个点被轰的概率(不会证,好像是这样吧) 传递闭包解决出每个点的祖先(能到达它的点)就能算概率了 bitset能贡献1/w的复杂度,而且导致Floyd只 ...

  6. guacamole的复制粘贴

    一.发送中文或文本(针对开发环境,生产环境不需变动) 官方下载的完整版js缺失了一部分关于粘贴板的代码,调用setclipboard方法,将外部内容复制到粘贴板的时候,提示方法不存在.需要补齐这部分源 ...

  7. NetCore上传多文件

    .NetCore上传多文件的几种示例   本章和大家分享的是.NetCore的MVC框架上传文件的示例,主要讲的内容有:form方式提交上传,ajax上传,ajax提交+上传进度效果,Task并行处理 ...

  8. qt QMessageBox 中文乱码的问题

    QMessageBox::information(this,"Warn", "请插入U盘"); ==================> QMessageB ...

  9. Jenkins+Gitlab+Ansible自动化部署(六)

    Pipeline Job实现Nginix+MySQL+PHP+Wordpress实现自动化部署交付(Jenkins+Gitlab+Ansible自动化部署(五)https://www.cnblogs. ...

  10. (办公)ssm发送邮件

    1.添加jar包 <!-- Javamail API --> <dependency> <groupId>javax.mail</groupId> &l ...