摘要: 又是一道纠结的dp题,做dp快做的崩溃了。。。状态表示:Dp[i][j]为前i个月的留j个人的最优解;Num[i]<=j<=Max{Num[i]};j>Max{Num[i]}之后无意义,无谓的浪费记Max_n=Max{Num[i]};Dp[i-1]中的每一项都可能影响到Dp[i],即使Num[i-1]<<Num[i]所以利用Dp[i-1]中的所有项去求Dp[i];对于Num[i]<=k<=Max_n,当k<j时,招聘; 当k>j时,解雇然后求出最小值Dp[i][j]=min{Dp[i-1][k…Max_n]+(招聘,解雇,工资); 代码:# 阅读全文
posted @ 2011-09-05 21:14 AC_Von 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 大连网络赛之前做的一次模拟赛上见到,开始想用贪心做,但没想到好的贪心策略,之后放下。这几天又重新看了看这道题,有看了看网上的题解,终于把这题A了!。思路:如图:布的总大小为(xx, yy)。剪下的面积为(x, y); 注意这句话: a machine which can cut one cloth into exactly two smaller rectangular pieces horizontally or vertically所以可行的剪法有四种,即:由上图可得动态转移方程为:dp[i][j] = max(dp[i][j], dp[i-x][j] + dp[x][j-y] + c.. 阅读全文
posted @ 2011-09-05 14:44 AC_Von 阅读(237) 评论(0) 推荐(0) 编辑