
DP
SeeYouAlways
practice make perfect
展开
-
区间DP
区间动态规划问题一般都是考虑,对于每段区间,他们的最优值都是由几段更小区间的最优值得到,是分治思想的一种应用,将一个区间问题不断划分为更小的区间直至一个元素组成的区间,枚举他们的组合 ,求合并后的最优值。设F[i,j](1最小区间F[i,i]=0(一个数字无法合并,∴代价为0)每次用变量k(iFor p:=1 to n do // p是区间长度,作为阶段。 for i:=1转载 2013-08-02 16:23:47 · 610 阅读 · 0 评论 -
hdu 4472 Count DP 递推
题意:给你n 个点,构造一棵树,使得同一层结点的子节点个数相同,问能构建出多少个重点思路:“同一层结点的子节点个数相同”,仔细想想这句话,就会发现,能满足这个关系的树,子树必定是对称的,也就是从根节点切开两部分,左子树依然是对称的,右子树也是对称的,不过这还不够,这个数的所有所以基于这点,我们可以想到,除开树根外,下面的子树(可能一棵子树,或者两棵,多棵),一定要完全相同的,为什么?哪怕每棵子原创 2013-08-03 21:43:12 · 495 阅读 · 0 评论 -
Hdu 3664 Permutation Counting DP
题意:对于任意一种n的排列,定义它的E 值为ai>i的个数,问在n的排列里有几个这样的排列思路:DP递推 对于新加入的一个数i+1 1.加到尾部,值不变 2.把它和一个满足ai>i的数交换,值不变 3。拿一个不满足ai>i的数与它交换,值+1===>dp[i][j]=dp[i-1][j]+dp[i-1][j]*j+dp[i-1][j-1]*(i-j);代码:原创 2013-09-18 00:39:53 · 617 阅读 · 0 评论 -
Uva 11008 - Antimatter Ray Clearcutting 状态压缩
今天可以说弄了好久,之前没怎么接触状压,不过今天看到一题,其实懂了意思,经感觉有点有趣。。题意:给出n棵树的位置,要求一个人可以站在任意位置(我以为是固定位置,后面看样列发现是任意的),以任意方用枪打掉m棵树,求最少打的枪数思路:用二进制表示所有数的状态,如4棵树1111,为0 证明数被砍掉,为1没被砍掉,所以只要计数1的个数少于等于n-m即可 用s[i][j]表示以i,j为两点确定的一原创 2013-09-23 20:09:53 · 505 阅读 · 0 评论