LV1

《命令与征服:蓝色警戒》(Command & Conquer:Blue Alert)是Eastwood及EA开发,苏联艺电游戏公司发行的一款即时战略(RTS)单机游戏。其续作有《命令与征服:蓝色警戒2》及《命令与征服:蓝色警戒3》。
在游戏中,玩家需要通过操纵各式游戏单位,以摧毁对方阵地为目标,来争取胜利;
游戏中,美军在沙特的一个小岛上修建了一个基地,基地里面有各种各样的管道,每条管道都是东西分布,而且都是从距离基地东边缘l米处一直延伸到距离东边缘r米处,包括两个端点;

苏军要对美军发动地毯式打击,每次约瑟夫会给出你L与R,也就是说苏军的轰炸机会飞过[L,R],我们设这个完全被这个区间包含的管道数量为x,然后在区间里面的每个端点投下x枚炸弹,然后每一枚炸弹会摧毁处于那个端点的一条管道的那一小部分,也就是说,如果有y条管道都经过了那个端点,那么必须要y枚炸弹才能将其清除干净;彻底清除一根管道的充要条件是,那条管道的从左端点到右端点的所有部分都被清除,否则则视为是浪费了一颗炸弹,如果炸弹没有炸到任何东西,我们也视为是浪费;

现在,请作为联盟高级工程师,共和国顶梁柱的你,告诉约瑟夫,一共会浪费多少枚炸弹呢?

LV2

《命令与征服:蓝色警戒》(Command & Conquer:Blue Alert)是Eastwood及EA开发,苏联艺电游戏公司发行的一款即时战略(RTS)单机游戏。其续作有《命令与征服:蓝色警戒2》及《命令与征服:蓝色警戒3》。
在游戏中,玩家需要通过操纵各式游戏单位,以摧毁对方阵地为目标,来争取胜利;
游戏中,美军在沙特的一个小岛上修建了一个基地,基地里面有各种各样的管道和和石油开采井,每条管道都是东西分布,而且都是从距离基地东边缘l米处一直延伸到距离东边缘r米处,包括两个端点;每个开采井位于距离基地东边缘s米处的地方;
苏军要对美军发动地毯式打击,每次约瑟夫会给出你L与R,也就是说苏军的轰炸机会飞过[L,R],我们设这个完全被这个区间包含的管道数量为x,然后在区间里面的每个端点投下x枚炸弹,然后每一枚炸弹会摧毁处于那个端点的一条管道的那一小部分,也就是说,如果有y条管道都经过了那个端点,那么必须要y枚炸弹才能将其清除干净,如果那个端点的位置上有一个开采井,炸弹会优先攻击管道再去攻击开采井,由于美国资产阶级为了自身利益,搞起了金融帝国主义,将制造业进行转移,导致了美国制造业空心化的停滞,造不出质量很好的开采井了,清理一个开采井只需要3枚炸弹在他那个端点爆炸即可,如果说只有2炸弹在那里爆炸的话,那就是浪费了那2枚炸弹;我们保证一个位置最多只有一个开采井;

现在,请作为联盟高级工程师,共和国顶梁柱的你,告诉约瑟夫,一共会浪费多少枚炸弹呢?

题解

LV1

这道题目其实就是一个模板题的变式;
模板题的内容是,给你一堆区间,然后每次询问一个区间,问你这个被这个询问区间所真包含的区间一共有多少个是吧;
这个模板其实不是很难,离线之后按L来排序,然后先把所有的贡献给加上去,,贡献怎么加待会再说,然后每次L端点移动的时候就去把不符合询问条件的L端点的区间的贡献给删除了,然后再单点查询即可;
加贡献的话呢,因为只有端点不在区间内部才会产生相应的贡献,所以将所有的不在区间里面的端点的val都加上1;
其实叫你统计个数,个数只是一个表达而已罢了,它的本质就是一个常数函数f(x) = 1,然后呢,既然他是一个函数,那么我们就可以yy一下进行魔改了,这里用了f(x) = x,因为我觉得别的比较烦,,,,其实这里是一次函数的话都比较简单,就算每一根管道都是不同的一次函数其实都是可以解决的,因为满足线性的叠加性质,如果说是二次函数的话呢,好像比较麻烦,要用二阶差分,那么复杂度就又假掉了,因为你处理完每个询问之后都要算一下答案的,你二阶差分每一位数都去算一遍的话还不如直接搞个暴力算了;

LV2

瞎乱想的,可能无解,至少我是想不出来;

【数据结构】蓝警:合众国之辉相关推荐

  1. 408数据结构(王道版+邓俊辉版)

    第一章  绪论 上 第一章 绪论 下 第二章 向量 上 第二章 向量 下 第三章 列表 第四章 栈与队列 第五章 二叉树 第六章 图 第七章 搜索树 第八章 高级搜索树(上) 第八章 高级搜索树(下) ...

  2. 嵌入式C语言数据结构精讲-曹国辉-专题视频课程

    嵌入式C语言数据结构精讲-236人已学习 课程介绍         系统学习嵌入式开发中常用的数据结构知识,包括顺序表,链表,栈和队列. 包括理论讲解和代码实现,配套课件和源码资料齐全,代码全部采用C ...

  3. 数据结构--队列Queue--打印杨辉三角

    杨辉三角大家很熟悉,不做介绍了,第n行的首末两元素均为1,中间n-2个元素由n-1行相邻两元素相加得到. 将第1行数据入队(1) -------队列表示(队头,- 队尾)------- 第2行数据1入 ...

  4. 数据结构与算法邓俊辉——(二)

    向量 抽象数据类型:数据模型+定义在该模型上的一组操作(vector.list) 数据结构:基于某种特定语言,实现ADT的一整套算法 向量(vector):是数组的抽象与泛化.由一组元素按线性次序封装 ...

  5. 数据结构c语言程序杨辉三角,杨辉三角 --- C语言程序

    杨辉三角 ---  C语言程序 1.前言 最近在逛博客的时候发现一个特别有意思的三角形  然后便编写了下来.   它呢就是杨辉三角,也作为我的首篇博客吧 2.旅程开始 此处为网上所找到的公式以及各种概 ...

  6. 数据结构之ArrayList实现杨辉三角

    代码主要思想 我们把杨辉三角看作一个直角三角形如图: 从右边的图我们看出来我们需要一个List<List>类型的对象,其中存储List>对象,达到效果,很容易看出来中间数字的求法,由 ...

  7. 数据结构与算法邓俊辉——(三)

    列表 从向量到列表,是从静态到动态. 列表的基本组成单位叫做节点node.各节点通过指针或引用彼此联接,在逻辑上构成一个线性序列.前驱.后继.首节点.末节点. 列表改用循位置访问的方式.利用节点的相互 ...

  8. 数据结构与算法邓俊辉——(一)

    计算:研究对象:规律,技巧:研究目标:高效地计算,低耗. 计算的概念:借助某种工具,按照一定规则,以明确而机械的形式进行. 算法: 输入--待处理的信息(问题) 输出--经处理的信息 正确性--的确可 ...

  9. 红警 1 游戏开源,代码非常规范,网友:秀色可餐

    作者 | 程序员的那些事 来源 | 程序员的那些事(id:iProgrammer) 最后有一个小测试!测测你是不是红警老玩家! EA 部分开源红警啦! 5 月 27 日,知名游戏公司 EA 在 Git ...

最新文章

  1. 开源 | 基于会话的最优推荐模型:SR-GNN的PaddlePaddle实现
  2. 移植Linux3.4.2版本内核到mini2440
  3. 【LeetCode笔记】152. 乘积最大子数组(Java、动态规划)
  4. 傅奎:十年安全路,一颗好奇心
  5. .net 动软代码生成器
  6. 跳转点算法_跳转搜索算法介绍
  7. 递增三元数组——第九届蓝桥杯C语言B组(省赛)第六题
  8. 归并排序 java_Java实现归并排序
  9. Layabox 1 layabox的项目文件以及项目配置
  10. 马化腾教你做产品:改掉这七点,让产品自己说话
  11. 用 Seaborn 做数据可视化(1)——绘图功能(1)可视化统计关系:sns.relplot()
  12. 扑克牌游戏“快算24”算法
  13. amigo幸运字符什么意思_python3基础01数值和字符串(一)
  14. 【絮叨.2】PRD才是高级语言,程序员就是产品的编译器
  15. 超详细的JavaFX项目的创建、构建、打包教程
  16. 大学生计算机相关专业有什么血泪建议吗?
  17. 【踩坑】360安全浏览器“极速模式”和“兼容模式”,套路还是bug?
  18. 服务器系统兼容性问题,服务器系统兼容性测试
  19. Unity(Adnroid端) IronSource广告聚合SDK注意事项
  20. [Bug FIX]安装 account_check_writing模块后采购收据打印报错的问题

热门文章

  1. 将不可复制、不可打印的电子书批量截图生成PDF
  2. Java currentTimeMillis() 对比 nanoTime()
  3. WinForm中关于DataGridView控件的一些应用
  4. 数据结构与算法(C语言版)---哈夫曼编译码器
  5. vue 读取本地文件内容
  6. 002-eNSP 静态路由配置 实验
  7. 设计网页小框的名字 怎样插入图片
  8. smalldatetime
  9. HP compaq dx2708故障
  10. UiPath选择下拉框