码迷,mamicode.com
首页 > 其他好文 > 详细

11.3

时间:2019-11-04 09:48:57      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:瓶颈   电脑   ble   一个   单调栈   img   through   min   gif   

技术图片

 

T2憨皮了。

这次进步是听迪哥的话,考试时候没有疯狂证明。

讲个笑话。

技术图片

 

 

A. 陶陶摘苹果

[warning]非正解警告

先处理出来原序列的上升序列的长度,以及每个被选中的值的位置。

然后考虑修改的位置是已经被选中的位置还是没被选中。

设cp为位置,hp为要修改的h[cp],h[cp]为之前的h

已经被选中的位置

  • hp>h[cp]:在原序列的上升序列中upper_bound找到第一个比hp大的位置,cp前面的上升序列+刚才找到的位置到最后,长度就是答案。
  • hp<h[cp]:我打了一棵线段树,用来查找一段区间值第一个比X大的位置,然后不断在两个位置之间跳跳跳一直到没有位置即可,有些细节。

没被选中的位置

  • hp>h[cp]:upper_bound同上。
  • hp<h[cp]:不影响。

就这样,我们用了4种简单判断就把冗长的线段树维护单调栈隐去,从而实现了时间和空间上的双重优化。

讲的不太仔细,不明白的来问我呗。

ac瓶颈在于准确的判断四种情况的对应策略。

 这个题真是傻逼题,remarkable当时秒切。(被我发现了吧哼哼)

B. 开心的金明

这是一道贪心题,可我把它做成了语文题。

现在我对语文课上看《××××××》感到十分的愧疚,深感没有好好学语文的痛苦。

题意是很懵的,而且它没有给>2的数据,这让我感到很吃屎。

只有两天的话怎么打都是对的吧?样例的全面性还需斟酌。

题目让我们求最小花费,但是我们发现常规的DP无法解决这种限制贼多并且不好转移而且有后效性的问题。

那不妨就考虑考虑贪心吧。我们首先要看出来原材料的限制相对于电脑来说非常的少,可以说没有限制。

在深入思考一下我们发现实际上原材料就是一个前缀取min对应上这几天的花费(题意看不清的我当场挂掉)

那么原材料的问题解决了,考虑电脑的问题。电脑只有两种来源:之前制造的或者是当场制造。

那么我们可以用堆维护一个二元组关键字为价格,然后每次取出价格最小的电脑对今天进行补充。

如果堆里的元素+今天能造的元素<今天需要的元素个数,那么就是不能满足的-1了。

假如我们已经满足了今天的客户,考虑剩下的p我们可以为后世做贡献啊,就把它们塞到堆里就行了。

需要注意的是还有e的限制,即只能保留前e个小的电脑为后世做贡献。题目中有好几个陷阱,别像我傻逼一样犯这样的错误。

ac瓶颈在于语文功底。

 

C. 笨小猴

[warning]非正解警告

我没什么好讲的,随机化没脸水过。

我觉得题解说的挺对的。

11.3

标签:瓶颈   电脑   ble   一个   单调栈   img   through   min   gif   

原文地址:https://www.cnblogs.com/hzoi2018-xuefeng/p/11790286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!