单调队列
小狐狸jun
菜鸟飞呀飞~
展开
-
upcoj 1975 棋盘覆盖二分匹配+2107单调队列+1109
首先是A题,这题知道用二分做之后自己做了一遍,开始建图没用好思路,然后就想到了建图的方法,主要是二分匹配要注意的点是:2个集合。 确定两个集合之间的关系,而不要在一个集合上自身匹配。 然后就无限WA了,样例和自己列的数据都过了,死磕都WA 后来问肖太爷,他建图方法比我简单多了,我是一个一个枚举搜索来区分组的,他就直接找不相邻的直接分组了,囧囧。 给出自己的挫WA代码吧。好歹思路原创 2013-04-23 19:05:00 · 671 阅读 · 0 评论 -
hdu3530单调队列(双)
先前接触了单调队列的题,确实是很重要的知识点,单调队列不难,就是用栈或队列来通过对队头的判断来实现队列保持单调。 题意: 给出一个大小为n的数组a[n]; 求其中最大值减最小值在【m,k】中的字串最长长度。 思路: 用两个单调队列分别维护a【i】前元素中的最大值与最小值的下标,top为最值。 然后当最值之差过大时,a【i】的满足题意的最长字串为最最后操作last与【i】的距离 其中l原创 2013-04-23 21:07:52 · 2502 阅读 · 0 评论 -
hdu3415 单调队列
单调队列,最近状态不好啊。。省赛了,要加油。。 单调队列,这题先将数组转换为前N项和的形式,然后遍历一遍,求a[k-i]即k到i的最大值,其中,控制i的范围。。。 然后单调队列从一开始判断,保持队头为最小值,然后加上判断语句,若i-s【top】>k 队头退队即可。 代码: #include #include #include using namespace std; int a[2原创 2013-05-29 21:28:44 · 465 阅读 · 0 评论 -
hdu2430 单调队列
这题用单调队列需要分析好,当然也是自己思维不灵活,老想套用其他题的方法。 题意: 求出字串和,使其满足sum%p 单调队列,自己理解主要在于每次更新操作覆盖掉无用的部分,即根据单调关系那部分在以后的判断都是无用的那一部分,从而使效率提高,而不要盲目的去退队从而将有用的部分去掉使答案错误。 这题单调队列pos最小为队头,保证了pos最小即得出的sum[k]-sum[s[top]]最大,然后便原创 2013-06-05 21:55:55 · 716 阅读 · 0 评论