正解:单调栈/dp

解题报告:

先放个传送门qwq

话说这题是放在了dp的题单里呢?但是听说好像用单调栈就可以做掉所以我就落实下单调栈的解法好了qwq

(umm主要如果dp做好像是要斜率优化凸壳维护双端队列巴拉巴拉可能要以后再来搞了qwq)

先解释题意...我觉得我是傻逼,,,这题我因为没懂题意卡了好几周了有...

是酱婶的,就是说给一些气球,开始它们都只是瘪的,都还没打气

然后给你这些气球的横坐标和最大半径

然后问你,我现在一个个给气球打气,打到不能打为止,问你每个气球的半径

(,,,我之前一直傻逼地以为是每个气球已经飘起来了然后给你飘着的纵坐标问你rmax,,,导致我一度没懂这题QAQ直到问大佬这题才明白题意,,,果然还是我太傻逼QAQ

首先还是比较简单地能推出,如果给气球i充气的时候和j相撞了,ri=(xi-xj)2/4rj这个还比较容易推画个图就能发现不详说了qwq

然后如果我们每次都一个个枚举我们要充的这个气球会和哪个气球相撞显然是不现实的,复杂度过不去,考虑怎么降复杂度

可以先思考怎么样一个气球是绝对不会有贡献的:

1)如果后面有个气球半径比前面的大,前面的显然是不会产生贡献了,这个比较好理解的哦就不详细解释辣qwq

  →这个性质就告诉我们,可以维护一个x递增r递减的单调栈

2)如果我从当前气球往前枚举,到了某个气球的时候ri已经小于rj了,那j之前的气球显然也不会产生贡献了(解释在后面qwq)

  →这个性质的话就可以使它做到一半就能得到答案不用一直一直做下去,降低复杂度

然后这样的话就成功从n2降到了n!

over

(

哦关于第二个性质的理解,我强行理解了一波

先定义一下我现在在做的气球叫i,找到的ri<rj的气球叫j,当前枚举的j之前的气球叫k,当前用公式算出来的ri叫ri,算到j的时候小于了rj的i的r叫真实ri,同理rj真实rj,那当前的rj显然是算的rj=(xj-xk)2/4rk算出来的

因为显然ri必大于rj必大于真实rj必大于真实ri所以就欧克了×

ummm详细说下,我之前理解了然后再想一遍就又理解了半天QAQ所以还是详细写下趴QAQ不然估计之后每次还是要理解半天QAQ

由已知得xi>xj>xk,所以ri>rj

又因为rj>=真实rj,所以ri>真实rj

又因为真实rj>真实ri,所以ri>真实ri

显然的是r是要取最小值的嘛

所以当ri<rj的时候就可以停止了

over!

洛谷 P4697 Balloons [CEOI2011] 单调栈/dp (待补充qwq)的更多相关文章

  1. 洛谷P4198 楼房重建 单调栈+线段树

    正解:单调栈+线段树 解题报告: 传送门! 首先考虑不修改的话就是个单调栈板子题昂,这个就是 然后这题的话,,,我怎么记得之前考试好像有次考到了类似的题目昂,,,?反正我总觉着这方法似曾相识的样子,, ...

  2. 洛谷P4147 玉蟾宫 单调栈/悬线法

    正解:单调栈/悬线法 解题报告: ummm这题我当初做的时候一点思路也没有只会暴力出奇迹:D(啊听说暴力好像能水过去呢,,, 然后当初是看的题解,然后学了下悬线法 然后就忘了:D 然后我现在看发现看不 ...

  3. 洛谷P3400 仓鼠窝(单调栈)

    P3400 仓鼠窝 题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子 ...

  4. 洛谷 P1198 [JSOI2008]最大数——单调栈/线段树

    先上一波题目 https://www.luogu.org/problem/P1198 题目要求维护后缀最大值 以及在数列的最后面添加一个数 这道题呢我们有两种做法 1.单调栈 因为只需要维护后缀最大值 ...

  5. 洛谷P1950 长方形(单调栈)

    一道单调栈的好题啊...... 思路是很奇妙的,对于每个点(i,j),我们可以算它对答案的贡献(即包含它的矩形数量),包含该点的矩形,点的高度为h[j],点右边的高度一定大于等于h[j],左边的高度一 ...

  6. 洛谷 P4072 [SDOI2016]征途 斜率优化DP

    洛谷 P4072 [SDOI2016]征途 斜率优化DP 题目描述 \(Pine\) 开始了从 \(S\) 地到 \(T\) 地的征途. 从\(S\)地到\(T\)地的路可以划分成 \(n\) 段,相 ...

  7. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  8. 洛谷 P3177 [HAOI2015]树上染色 树形DP

    洛谷 P3177 [HAOI2015]树上染色 树形DP 题目描述 有一棵点数为 \(n\) 的树,树边有边权.给你一个在 \(0 \sim n\)之内的正整数 \(k\) ,你要在这棵树中选择 \( ...

  9. Codeforces 1383E - Strange Operation(线段树优化 DP or 单调栈+DP)

    Codeforces 题目传送门 & 洛谷题目传送门 Yet another 自己搞出来的难度 \(\ge 2800\) 的题 介绍一个奇奇怪怪的 \(n\log n\) 的做法.首先特判掉字 ...

随机推荐

  1. DrawCall 优化 .

    unity3D 对于移动平台的支持无可厚非,但是也有时候用Unity3D 开发出来的应用.游戏在移动终端上的运行有着明显的效率问题,比如卡.画质等各种问题.自己在做游戏开发的时候偶有所得.对于主要影响 ...

  2. flask实现简单的接收json返回json的接口

    结合http://docs.jinkan.org/docs/flask/quickstart.html#a-minimal-application这个flask文档实现 #!/usr/bin/pyth ...

  3. WebForm的初步认识

    嘿嘿,这里就简单的总结一下初步学习webform以及对他的认识,其实大家都认为webform很讨厌,因为好多都是给我们封装好的,而且现在好多的公司已经慢慢的从中逃离出来选择使用mvc架构,甚至好多的项 ...

  4. PS合成以及分解GIF

    http://jingyan.baidu.com/article/3052f5a1c91f0497f31f862a.html 百度上的这个说明很详细了 这里就简单注明一下: PS 时间轴:用来创建动画 ...

  5. open-falcon之agent

    功能 采集数据,解析数据,上报数据至transfer 基本涵盖了系统层面监控指标,直接将数据转换为metricValue形式,上报至transfer 支持插件采集,代码插件放可受git管理,放置在pl ...

  6. 如何在浏览器中简单模拟微信浏览器(仅限于通过User Agent进行判断的页面)

    模拟微信浏览器: .打开360极速 .F12开发者工具 .开发者模式左上方有一个手机样子的图标 点击进入 设备模式‘ .将UA选项中的字符串替换成: Mozilla/ 备注: 替换的字符串是微信浏览器 ...

  7. 深入理解 Neutron -- OpenStack 网络实现(3):VXLAN 模式

    问题导读1.VXLAN 模式下,网络的架构跟 GRE 模式类似,他们的不同点在什么地方?2.网络节点的作用是什么?3.tap-xxx.qr-xxx是指什么? 接上篇:深入理解 Neutron -- O ...

  8. Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题

    ElasticSearch 5.0.0 安装部署常见错误或问题 问题一: [--06T16::,][WARN ][o.e.b.JNANatives ] unable to install syscal ...

  9. Struts2之Action三种接收参数形式与简单的表单验证

    有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的A ...

  10. Installed .NET Framework 4.5 Ajax POST IIS hang

    去年我已写过一篇关于安装.NET Framework 4.5后特定场景Ajax POST的挂起问题 => http://www.cnblogs.com/junchu25/archive/2012 ...