题目大意:给出一片树林,树排成一排,每一棵树都有一个高度。从地一棵树出发,每次可以跳到i+k棵之前,跳到小于自己高度的树上不需要花费体力,反之需要花费一点体力,问到最后一棵树最少需要多少体力。
思路:简单DP方程:f[i] = min{f[j] + (height[i] >= height[j])}
然后发现数据范围只有O(n)可以过。
维护单调队列,队列中按照f单调递减,队尾按照时...
分类:
其他好文 时间:
2015-01-08 15:24:58
阅读次数:
128
题意:
我直接粘bzoj的黑版翻译吧~
有一排n棵树,第i棵树的高度是Di。
MHY要从第一棵树到第n棵树去找他的妹子玩。
如果MHY在第i棵树,那么他可以跳到第i+1,i+2,...,i+k棵树。
如果MHY跳到一棵不矮于当前树的树,那么他的劳累值会+1,否则不会。
为了有体力和妹子玩,MHY要最小化劳累值。
题解:
单调队列破题水,没了。
话说BZOJ的POI一向土豪...
分类:
其他好文 时间:
2015-01-08 09:38:42
阅读次数:
159
水题水题水题水题单调队列优化的线性dp……WA了8次QAQ,就因为我写队列是[l,r),但是实际操作取队尾元素的时候忘记了……不怎么从队尾取元素嘛……平时都是直接往进放的……还是得记住这个双端队列的错点啊!! 1 //BZOJ 3831 2 #include 3 #include 4 #includ...
分类:
其他好文 时间:
2015-01-06 19:49:41
阅读次数:
377
题解可以看这篇,写的很清楚……http://z55250825.blog.163.com/blog/static/150230809201412793151890/然后我的单调队列写出来竟然和他不一样……max(f[i]+f[j]+j-i)j属于[i+1,i+sum/2]的话,对于j的话,不就是ma...
分类:
其他好文 时间:
2014-12-23 20:47:54
阅读次数:
180
题意:
有若干个区间,若干种数,每个数告诉你有多少个。
然后一个数可以被放到一个x∈该区间 的区间,问最多有多少个区间可以被放。
题解:
显然我们可以用二分图最大匹配做,水题。
但是此题有别的技巧、
就是我们可以贪心进行处理。
首先我们考虑到需要将两种数都排个序。
然后再进行贪心。
一种错误的贪心法是单调队列式贪心,就是记录个top,然后单调往后推。
这个不仔细...
分类:
其他好文 时间:
2014-12-22 16:25:03
阅读次数:
261
题意:
给出若干棵树的高度,你可以进行一种操作:把某棵树增高h,花费为h*h。
操作完成后连线,两棵树间花费为高度差*定值c。
求两种花费加和最小值。
题解:
跟NOIP2014 D1T3很像。
暴力动规是O(1*10^9)会T
所以单调队列一下,每颗树扫两遍结束。
完事,看水代码吧。
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-12-22 09:26:23
阅读次数:
158
1117: Ready to declare
时间限制: 1 Sec 内存限制: 128 MB
提交: 358 解决: 41
[提交][状态][讨论版]
题目描述
Finally, you find the most good-looking girl...
You are going to write a letter to her. But you are not ...
分类:
其他好文 时间:
2014-12-21 01:56:02
阅读次数:
389