区间转化、扫描线

例题:

D-小红的最佳区间_牛客周赛 Round 143(重现赛)

代码如下:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define int  long long

void solve() {
    int n,k;
    cin>>n>>k;
    vector<pair<int,int>> a;
    for (int i=0;i<n;i++) {
        //每个合法L的取值范围是[l-k,r],所以直接将生成2个事件
        //(l-k,+1)和(r+1,-1)
        //那么原问题变为:找一个点 L,被最多的区间 [lᵢ−k, rᵢ] 覆盖 → 覆盖数最大值就是答案。
        int l,r;
        cin>>l>>r;
        int L=l-k;
        int R=r+1;
        a.push_back({L,1});
        a.push_back({R,-1});
    }
    sort(a.begin(),a.end());
    int ans=0;//记录最大答案
    int now=0;//记录当前点的累计覆盖数
    for (auto it=a.begin();it!=a.end();it++) {
        now+=it->second;
        ans=max(ans,now);
    }
    cout<<ans<<endl;
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T=1;
    //cin >> T;
    while (T--)
        solve();
    return 0;
}
相关推荐
裕晟资质规划6 小时前
武器装备科研生产单位保密资质申请方法论:条件模型与流程拆解
人工智能·算法
en.en..7 小时前
C语言 标准输入 / 输出缓冲区
算法
吃好睡好便好9 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学习星球9 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
靠沿10 小时前
贪心算法专题(二)
算法·贪心算法
猎头南楼11 小时前
具身智能模型部署方向的能力要求与技术栈梳理
人工智能·深度学习·算法
啥都想学点的研究生12 小时前
一篇文章讲清楚:线性回归问题的求解——正规方程法
算法·机器学习·线性回归
青少儿编程课堂12 小时前
树状数组精讲:逆序对计数与离散化(附双语言解法)
算法·树状数组·离散化·信息学奥赛·逆序对
血小板要健康12 小时前
网格 dfs 与 FloodFill:从岛屿、区域到搜索路径
笔记·算法·leetcode·深度优先
VALENIAN瓦伦尼安教学设备13 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法