2013年9月20日
摘要: 题目大意:在一个一维坐标轴上有v个(1 2 #include 3 #include 4 #include 5 using namespace std; 6 const int infinity=(-1)^(1>1;13 }14 int move_all(int fr,int ba){15 //printf("move from %d to %d = %d\n",fr,ba,(sum[ba]-sum[fr])-atx[fr]*(ba-fr));16 return (sum[ba]-sum[fr])-atx[fr]*(ba-fr);17 }18 int S(int i,. 阅读全文
posted @ 2013-09-20 23:22 男神发量 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 区间DP,这类题目还是非常常见的,可惜平时都不怎么在意。一到比赛就弱得像鸟一样,真心囧。 题目要求很简单,就是一个最长的回文子序列,输出该子序列的长度。区间DP,最常用的一种策略(类似于数学归纳法):令dp[i][j](j>=i)表示从i到j的一些目标状态对于任意的x(x>=k),dp[k][x]若已知(k=i-1或者i+1,根据题意需要,确定向上k=i-1或者向下k=i+1)。dp[i][i]状态非常特殊,一般已知(像2中所述,那么初始状态可能是dp[1][1]或者dp[n][n])。根据以上,2中以向下为例,(j>i) dp[i][j]=f(dp[i+1][j],dp[i 阅读全文
posted @ 2013-09-20 14:16 男神发量 阅读(733) 评论(1) 推荐(0) 编辑