首页 > 其他分享 >P1868 饥饿的奶牛

P1868 饥饿的奶牛

时间:2022-12-25 14:12:25浏览次数:42  
标签:P1868 int 饥饿 区间 奶牛 牧草

P1868 饥饿的奶牛

题意:

有 \(N\) 个区间,每个区间 \(x,y\) 表示提供的 $s \sim y $ 共 \(y - x + 1\) 堆牧草,可以选择任意区间,但是选的区间不能有重复部分。求最多可以获得多少堆牧草

思路:

肯定先根据 \(x\) 来进行排序,定义 \(f[i]\) 为到达第 \(i\) 个点可以获得的最多牧草。

当我们到达一个 \(x\) 的时候,这段到第 \(y\) 段中间肯定都不能有其他东西,所以 \(f[y] = y - x + 1\) ,然后如果之前有区间在 \(x\) 之前就结束的话,也可以加上,所以我们用 \(last\) 来记录 \(f[1] \sim f[x - 1]\) 时的最大值,然后对当前点可以加上即 \(f[y] += last\)

实现:

#include <bits/stdc++.h>
using namespace std;
const int N = 3e6 + 5;
int f[N];
pair<int, int> a[N];
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        scanf("%d%d", &a[i].first, &a[i].second);
    sort(a + 1, a + 1 + n);
    int res = 0, j = 0, last = 0;
    for (int i = 0; i < N; i++)
    {
        while (j + 1 <= n && a[j + 1].first == i)
        {
            j++;
            f[a[j].second] = max(f[a[j].second], last + (a[j].second - a[j].first + 1));
        }
        res = max(res, f[i]);
        last = max(last, f[i]);
    }
    printf("%d\n", res);
    return 0;
}

标签:P1868,int,饥饿,区间,奶牛,牧草
From: https://www.cnblogs.com/zxr000/p/17003974.html

相关文章

  • 线程饥饿死锁
    线程饥饿死锁:   在一个线程池中,如果一个任务依赖于其他任务的执行,就可能产生死锁。对应一个单线程话的Executor,一个任务将另一个任务提交到相同的Executor中,并等待......
  • P3052 奶牛坐电梯
    又是传送门思路$f_i$是二元组,第一个表示多少趟,第二个表示目前奶牛总载重。显然,按多少趟来排,相等按载重来排。那状态转移方程就好推了。话说博主真水(代码#include......
  • Ribbon负载均衡策略、懒加载及饥饿加载
    目录​​一、负载均衡概述​​​​二、负载均衡策略​​​​三、懒加载及饥饿加载​​一、负载均衡概述        在业务初期,我们一般会先使用单台服务器对外提供服务......
  • SpringCloud 的 Ribbon负载均衡、原理分析 及 负载均衡策略与自定义策略、饥饿加载
    (目录)Ribbon负载均衡我们添加了@LoadBalanced注解,即可实现负载均衡功能,这是什么原理呢?负载均衡原理SpringCloud底层其实是利用了一个名为Ribbon的组件,来实现......
  • AcWing1362 健康的荷斯坦奶牛(二进制枚举)
    原题链接思路:二进制枚举因为数据量很小,数据只有25和15,因此二进制枚举妥妥的需要注意的是题目中要求下标从1开始,后面记录的时候如果开始是从0开始的记得+1小tipsc++......
  •  一个月光明朗的夜晚,饥饿的瘦狼遇到1
    一个月光明朗的夜晚,饥饿的瘦狼遇到http://ds.163.com/article/63386850a1ca540001d34863/?2022/10/06_=2022/10/05http://ds.163.com/feed/63386850a1ca540001d34863/?202......
  • NC210981 mixup2混乱的奶牛
    题目链接题目题目描述混乱的奶牛[DonPiele,2007]FarmerJohn的N(4<=N<=16)头奶牛中的每一头都有一个唯一的编号\(S_i(1<=S_i<=25,000)\).奶牛为她们的......
  • [HNOI2002]奶牛的运算
    题目链接Solution陈年老题了,但真是一道组合数好题。根据数学知识,加括号就相当于改变里面的符号,所以我们可以将其看为对符号的修改,问题就变为:一个长度为\(n-1\)的符号......
  • 3888:奶牛选美大赛(dfs+曼哈顿距离)
    描述 听说最新的时尚趋势是母牛的皮上有两个斑点,农夫约翰购买了一整群有两个斑点的奶牛。不幸的是,时尚潮流往往瞬息万变,而当下最流行的时尚是只有一个位置的奶牛!FJ想......