很显然n方的复杂度过不了。于是考虑优化最值的查询,可以考虑用堆或者单调队列来做。堆: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int INF = 99999999; 8 con...
分类:
其他好文 时间:
2015-05-01 18:42:10
阅读次数:
134
POJ2823 http://poj.org/problem?id=2823最基础的单调队列,说是数据结构,其实就是一种更新数组数据的方法。之前还准备用deque,超时了,直接head,tail快得多。一直把删除队首过期元素写在删除队尾之前,就一直WA,尼玛换一下顺序就好了。 1 #include ...
分类:
其他好文 时间:
2015-05-01 11:53:53
阅读次数:
178
//其实是个伪单调队列...渣渣刚入门//戳这里:594//dp[ i ][ j(现身高) ] = min( dp[ i ][ k(现身高) ] + fabs( j(现身高) - k(现身高) ) * C + ( j(现身高) - h[i](原身高) ) *( j(现身高) - h[i](原身高)....
分类:
其他好文 时间:
2015-04-29 21:34:04
阅读次数:
153
题目链接:http://poj.org/problem?id=3017题意:给你一个长度为n的数列,要求把这个数列划分为任意块,每块的元素和小于m,使得所有块的最大值的和最小分析:这题很快就能想到一个DP方程f[i]=min{f[j]+max{a[k]}}(b[i] 2 #include 3 #i....
分类:
其他好文 时间:
2015-04-26 22:24:00
阅读次数:
191
题目链接:http://poj.org/problem?id=1821题目分析来自:http://blog.csdn.net/tmeteorj/article/details/8684453连续的N块木板,有K个粉刷匠,分别坐在第Si块木板前,每个粉刷匠不能移动位置,且最多能粉刷连续的Li块木板(必...
分类:
其他好文 时间:
2015-04-24 20:56:28
阅读次数:
152
树形DP+单调队列优化DP 好题(也是神题……玛雅我实在是太弱了TAT,真是一个250) 完全是抄的zyf的……orz我还是退OI保平安吧 第一步对于每一天求出一个从第 i 个点出发走出去的最长链的长度,树形DP解决…… g[x][0]表示从x的子树中,x到叶子的最长链,g[x][1]表...
分类:
其他好文 时间:
2015-04-18 19:02:02
阅读次数:
489
DP/单调队列优化 一眼看上去就是DP 我想的naive的二维DP是酱紫滴: mx[i][j][k]表示以(i,j)为右下角的k*k的正方形区域内的最大值,mn[i][j][k]同理 mx[i][j][k]=max(v[i][j],max(v[i-k+1][j-k+1],max(mx...
分类:
其他好文 时间:
2015-04-16 11:51:56
阅读次数:
213
Problem Description
There is a sequence of integers. Your task is to find the longest subsequence that satisfies the following condition: the difference between the maximum element and the minimum el...
分类:
其他好文 时间:
2015-04-14 21:37:54
阅读次数:
175