摘要: 题目链接貌似POJ挂了,交题 一直RE。。。我去别的OJ交AC了。当做模版了,查了好几遍,还以为模版敲错了呢。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N 1000005 5 int p[N],que[6*N]; 6 int main() 7 { 8 int n,m,i,str,end; 9 scanf("%d%d",&n,&m);10 for(i = 1;i <= n;i ++)11 scanf(" 阅读全文
posted @ 2012-08-19 21:27 Naix_x 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目链接比赛的时侯非常暴力来了个N*M*T的算法,状态方程虽然好想,不会优化。。认真学习一下单调队列优化,看了很多博客+题解,其实原理也不难理解。这个题状态转移,从左边来的 dp[i][j] = dp[i-1][k] + dis(k,j) 先预处理出一个sum数组存每一行前i个元素的和,dp[i][j] = dp[i-1][k] + sum[i][j]-sum[i][k-1];这就可以用单调队列了,在队列首部存放dp[i-1][k]-sum[i][k-1]最大值的下标。明白了原理后,看了一份题解,想了好一会为什么队头总是最大的,问了下学长,这个队列的关键是队头,小的元素可以直接覆盖进入队列,而 阅读全文
posted @ 2012-08-19 17:47 Naix_x 阅读(233) 评论(0) 推荐(0) 编辑