news 2026/5/10 14:08:30

P14971 『GTOI - 2B』DDoS题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
P14971 『GTOI - 2B』DDoS题解

P14971 『GTOI - 2B』DDoS

题目描述

现在有n nn个人提交代码给洛谷,其中第i ii个人提交代码的时间是第l i l_ili秒至第r i r_iri(包括第l i , r i l_i,r_ili,ri秒)

小 H 可以进行若干次操作,每次操作选择两个正整数x , y x,yx,y满足x ≤ y x\le yxy,用y − x + 1 y-x+1yx+1的代价在区间[ x , y ] [x,y][x,y]所对应的时间,即第x xx秒到第y yy秒内(包括第x , y x,yx,y秒)向洛谷发起 DDoS 攻击。小 H 可使用的总代价为m mm

小 H 希望所有的n nn个人在提交代码时都全程受到 DDoS 攻击。

我们认为第i ii个人提交代码时全程受到 DDoS 攻击,当且仅当对于∀ j ∈ [ l i , r i ] \forall j\in[l_i,r_i]j[li,ri],第j jj秒有 DDoS 攻击。

由于小 H 讨厌不连续的攻击,所以他问你,他至少要进行几次操作,才能使得这n nn个人提交代码时都全程受到 DDoS 攻击。

如果无论如何都不能使得这n nn个人提交代码时都全程受到 DDoS 攻击,输出− 1 -11

输入格式

第一行,两个正整数n , m n,mn,m

接下来n nn行,每行两个正整数l i , r i l_i,r_ili,ri

输出格式

一个整数,表示最小的操作次数,无解输出-1 \text{-1}-1

输入输出样例 #1

输入 #1

5 12 2 4 11 12 6 8 1 3 10 13

输出 #1

2

输入输出样例 #2

输入 #2

5 12 1 3 6 9 4 5 2 4 10 12

输出 #2

1

输入输出样例 #3

输入 #3

2 14 1 10 2 15

输出 #3

-1

说明/提示

【数据范围】

本题采用捆绑测试。

对于100 % 100\%100%的数据,保证1 ≤ n ≤ 10 6 , 1 ≤ m , l i , r i ≤ 10 9 1 \le n \le 10^6,1 \le m,l_i,r_i \le 10^91n106,1m,li,ri109

Subtask \text{Subtask}Subtaskn nnm , l i , r i m,l_i,r_im,li,ri分值
1 11≤ 10 \le1010≤ 10 6 \le10^610620 2020
2 22≤ 10 5 \le10^5105≤ 10 6 \le10^610630 3030
3 33≤ 10 6 \le10^6106≤ 10 9 \le10^910950 5050

思路

直接暴力。

代码见下

#include<bits/stdc++.h>usingnamespacestd;longlongn,m,dl=1,db=0,op=0,b[1000006],de=0,fk=0;structone{longlongl,r;}a[1000006];boolcmp(one a1,one b1){returna1.l<b1.l;}map<longlong,longlong>mp;intmain(){cin>>n>>m;for(inti=1;i<=n;i++){cin>>a[i].l>>a[i].r;}sort(a+1,a+n+1,cmp);for(inti=1;i<=n;i++){if(db<=a[i].l-2){op+=(db-dl+1);if(i!=1)b[++de]=(a[i].l-db-1);dl=a[i].l;db=a[i].r;fk++;}else{db=max(db,a[i].r);}}op+=(db-dl+1);//fk++;if(m<=op-1){cout<<-1<<endl;}else{sort(b+1,b+de+1);for(inti=1;i<=de;i++){if(op+b[i]<=m){op+=b[i];fk--;}// else{// break;// }}cout<<fk<<endl;}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 5:33:42

DeepSeek-R1-Distill-Qwen-1.5B实战推荐:最适合初学者的镜像方案

DeepSeek-R1-Distill-Qwen-1.5B实战推荐&#xff1a;最适合初学者的镜像方案 你是不是也遇到过这些情况&#xff1f; 想在自己的笔记本上跑一个真正能写代码、解数学题、还能讲清楚推理过程的模型&#xff0c;结果发现——7B模型要6GB显存&#xff0c;13B直接卡死&#xff1b;…

作者头像 李华
网站建设 2026/5/3 3:56:44

零配置启动GLM-4.6V-Flash-WEB,开发者直呼省力

零配置启动GLM-4.6V-Flash-WEB&#xff0c;开发者直呼省力 你有没有过这样的经历&#xff1a;花半天配环境、改依赖、调路径&#xff0c;就为了跑通一个视觉语言模型的网页界面&#xff1f;等终于看到“Hello World”弹出来&#xff0c;时间已经过去两小时——而真正想做的图文…

作者头像 李华
网站建设 2026/5/2 20:05:10

如何验证MGeo是否正常运行?看这一篇就够了

如何验证MGeo是否正常运行&#xff1f;看这一篇就够了 1. 验证目标&#xff1a;明确“正常运行”的具体标准 在部署完 MGeo 地址相似度匹配镜像后&#xff0c;很多用户会遇到一个看似简单却容易被忽略的问题&#xff1a;“我点开了Jupyter&#xff0c;也运行了脚本&#xff0…

作者头像 李华
网站建设 2026/5/9 3:39:06

AI智能二维码工坊效率提升:自动化脚本调用生成接口示例

AI智能二维码工坊效率提升&#xff1a;自动化脚本调用生成接口示例 1. 为什么需要自动化调用二维码接口&#xff1f; 你有没有遇到过这样的场景&#xff1a; 每天要为几十个商品链接批量生成带品牌LOGO的二维码&#xff1f; 运营同事临时要发50张活动海报&#xff0c;每张都要…

作者头像 李华
网站建设 2026/5/2 22:18:40

SiameseUIE中文NLP落地:比SpaCy更适配中文语义的轻量抽取方案

SiameseUIE中文NLP落地&#xff1a;比SpaCy更适配中文语义的轻量抽取方案 1. 为什么中文信息抽取需要专属方案&#xff1f; 你有没有试过用SpaCy处理一段古文&#xff1f;比如“王勃字子安&#xff0c;绛州龙门人&#xff0c;六岁能属文”&#xff0c;结果它把“子安”当成人…

作者头像 李华
网站建设 2026/5/10 5:41:23

一键部署CLAP音频分类:小白也能懂的完整教程

一键部署CLAP音频分类&#xff1a;小白也能懂的完整教程 【免费镜像下载】CLAP 音频分类镜像&#xff08;clap-htsat-fused&#xff09; 零样本音频语义分类 Web 服务&#xff0c;开箱即用&#xff0c;无需代码基础。 你是否遇到过这样的问题&#xff1a;手头有一段现场录制的…

作者头像 李华