任重而道远

【问题描述】

燕子飞到温暖的南方去了。

分别后的十年里,小N孤身在家乡生活,迫于生计而找了份搬砖的工作(等等这什么鬼)。

共有n个工地,第i个工地和第i+1个直接相连(1<=i<n),工地1和n并不直接相连。

从工地i走到i+1或者从i+1走到i都需要耗费1点时间。

有m个运输任务,第i个要求小N把砖头从工地L_i运到R_i。

天才的小N有了个绝妙的主意,假如在工地X和Y之间搞个传送站,那么在X可以直接不需要时间地到Y(Y到X也一样)。

因为预算限制,小N最多建一个传送站。

小N想通过合理地放置传送站,使得所有运输任务所需时间的最大值最小。

【输入格式】

第一行两个整数n,m,分别表示n个工地,m个运输任务。

接下来m行,其中第i行俩整数L_i,R_i。

【输出格式】

输出一行,一个整数,表示可能的最小的 任务所需时间最大值。

【输入输出样例】

bricks.in

bricks.out

5 2

1 3

2 4

1

【数据范围】
对于前15%的数据,保证n,m<=200

对于接下来10%的数据,保证n<=50,m<=10^5

对于接下来10%的数据,保证n<=1000,m<=1000

对于接下来35%的数据,保证n,m<=10^5,

对于100%的数据,保证n<=10^8,m<=10^5

AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;typedef long long ll;
const int N = 1e5 + 5;
const int oo = 1e9;
struct Node {int l, r;
}nd[N];
int n, m;bool check (int sww) {int max1 = oo, max2 = oo;int min1 = -oo, min2 = -oo;for (int i = 1; i <= m; i++) {if (nd[i].r - nd[i].l <= sww) continue;max1 = min (max1, nd[i].r + nd[i].l + sww);max2 = min (max2, nd[i].r - nd[i].l + sww);min1 = max (min1, nd[i].r + nd[i].l - sww);min2 = max (min2, nd[i].r - nd[i].l - sww);}return min1 <= max1 && min2 <= max2;
}int main () {freopen ("bricks.in", "r", stdin);freopen ("bricks.out", "w", stdout);scanf ("%d%d", &n, &m);for (int i = 1; i <= m; i++) {int l, r;scanf ("%d%d", &l, &r);if (l > r) swap (l, r);nd[i] = (Node) {l, r};}int lf = 0, rg = n;while (lf < rg) {int mid = lf + rg >> 1;if (check (mid)) rg = mid;else lf = mid + 1;}printf ("%d", lf);return 0;
}

搬砖(二分答案 + 线性规划)相关推荐

  1. 【二分答案+线性规划】装备合成

    L-装备合成_2021秋季算法入门班第三章习题:二分.三分.01 (nowcoder.com) 题意: 思路: 求装备数量的最大值 求最值,考虑把装备数量二分出来,设二分出来的数量是m 然后去chec ...

  2. 洛谷【T279725】搬砖

    题目描述 来到工地,俯视来看,工地是一个二维平面,现在四周散落了 n 块砖.第 i 个砖在坐标 ( x i x_i xi​, y i y_i yi​)上. NSH 现在需要把 n 块砖全部搬运到目的地 ...

  3. 我为什么放弃360千万期权,走向创业这条搬砖路?

    上一篇写了年薪100万的体验,在文章中提到我工作三年年薪就远超百万.文章发出来之后,不少读者朋友问起我为什么要离开360出来创业,还有读者问:"洋哥,离开360你真的不后悔吗?". ...

  4. 陪伴型机器人主场到来:热衷跳舞的波士顿“狗”开始搬砖、Sophia量产恐怖谷效应显现、与人类互动的机器狗来了 | 硅谷速递...

    1969 年,经典漫画<哆啦A梦>在漫画家藤子·F·不二雄的笔下诞生,他创造出了一个随时都能从神奇口袋里掏出道具的猫型机器人形象.在此后的半个世纪,这个专门负责照顾儿童的机器人风靡全球,深 ...

  5. 还原HT搬砖套利流程:加密世界里的“智商税”陷阱

    在互联网世界里,很多人都曾收到过一份中大奖邮件,奖金是58,000元与三星 Q30 笔记本电脑一台,一般人看到后都会喜出望外,感觉自己是全天下最幸运的人,但假使你去领奖的时候却发现,领奖要先缴纳一笔手 ...

  6. Steam游戏搬砖项目有哪些坑?阿阳告诉你steam游戏搬砖的注意事项

    Steam游戏搬砖项目有哪些坑?阿阳详细讲了如何注册美区steam账号 很多关于蒸汽搬砖的汇率差项目.今天就来说说新手操作者搬砖过程中的误区,俗称"坑". ".稍有不慎, ...

  7. 国外steam搬砖是骗人的吗?csgo游戏装备项目到底咋样?

    steam搬砖肯定是正规项目,已经稳定操作2年了 你要知道它是背靠2大平台 一个就是steam,另一个就是网易buff 蒸汽汇率搬砖是多少? 简单来说,就是在国外的steam交易平台上购买游戏道具,在 ...

  8. 第十三届蓝桥杯国赛 C++ B 组 J 题——搬砖(AC)

    目录 1.搬砖 1.题目描述 2.输入格式 3.输出格式 4.样例输入 5.样例输出 6.数据范围 7.原题链接 2.解题思路 3.Ac_code 1.搬砖 1.题目描述 这天,小明在搬砖. 他一共有 ...

  9. Java:JVM+数据库(搬砖整理,侵权删文)

    Java:JVM+数据库(搬砖整理,侵权删文) 十一.JVM 1.Java内存区域 1.说一下 JVM 的主要组成部分及其作用? ​ JVM包含两个子系统和两个组件,两个子系统为Class loade ...

  10. 搬砖五年,却干不过刚入职的,现在00后竞争力这么强了?

    从一个前同事那得知,公司进了个有2年工作经验的00后,他在这家公司搬砖5年,但因为一些小失误,在项目上被领导批得狗血淋头,还算给他面子,是背地里讲他,说他目前的能力很悬,都比不上刚入职的那个00后了. ...

最新文章

  1. final关键字的这8个小细节,你get到几个?
  2. python struct 官方文档
  3. Vuex-状态管理模式
  4. 正则 禁止连续逗号_正则
  5. 指向类的数据成员和函数指针
  6. C语言 数组排序 – 冒泡法排序 - C语言零基础入门教程
  7. 拼多多开卖飞天茅台酒,比市价低1000元,茅台也表示没有合作?
  8. PTA程序设计类实验辅助教学平台-基础编程题--JAVA--7.4 BCD解密
  9. 服务器虚拟化思维导图,虚拟语气思维导图解析.ppt
  10. 关于计算机取代学校的英语作文,关于网络教室将取代传统的教室英语作文
  11. 视频编码中CBR和VBR的区别,CRF和CQP的区别
  12. cad计算机绘图基础知识,CAD 计算机绘图基础课件.ppt
  13. excel随机数_软网推荐:Windows环境下快速生成随机数
  14. java mac算法_Mac算法的java实现
  15. IP138 IP地址查询 php实例
  16. 【笔试】京东数据分析暑期实习
  17. KPM算法——数据结构|复习局|串|复杂模式匹配算法|二维数组解决KPM
  18. 关于 VScode 中使用 python 相对路径找不到的问题(解决)
  19. 熬夜爆肝整理 400 页 《Python 修炼之道》,一本高分原创高清电子书送给你!
  20. 计算机网络——点对点协议PPP

热门文章

  1. Linux vim编辑器
  2. IT人员升职必会的软技能
  3. 随手记 第1篇 | 笔记本win10 Edge 如何滚动截屏
  4. 深入浅出TensorFlow2函数——tf.data.Dataset.shuffle
  5. html如何设置table的宽度,HTML怎么设置table宽度
  6. python空气质量提醒代码_【python】全国空气质量分析系统
  7. H5页面 iPhoneX适配
  8. 安科瑞DDS/DTS/DTZ系列计量表,具有体积小巧、精度高、可靠性好、安装方便等优点
  9. v36.05 鸿蒙内核源码分析(工作模式) | 程序界的韦小宝是谁 | 百篇博客分析HarmonyOS源码
  10. 可爱精灵宝贝 DP/爆搜