摘要:
题目链接:CodeForces 148D Bag of mice 题目大意: 题解: 设$dp[i][j]$表示轮到王妃抓时有$i$只白鼠,$j$只黑鼠的情况下,王妃获胜的概率。 王妃获胜的情况可以分为以下三种: 王妃抓到一只白鼠,则王妃赢了,概率为$\frac{i+j}$; 王妃抓到一只黑鼠,龙抓 阅读全文
摘要:
题目链接:计蒜客 T2657 windy数 题目大意: 题解: 数位$dp$题。 $dp[pos][pre]$表示位数为$pos$且第$pos + 1$位为$pre$的满足条件的数的个数,若第$pos+1$位为前导$0$,则$pre$为$-1$。 从高位开始记忆化搜索。 #include <cmat 阅读全文
摘要:
题目链接:HDU 2089 不要62 题目大意: 题解: 很典型的数位$dp$题。 \(dp[i][0]\):长度为$i$且第$i+1$位不是$6$的个数; \(dp[i][1]\):长度为$i$且第$i+1$位是$6$的个数。 从高位开始记忆化搜索即可。 #include <iostream> u 阅读全文
摘要:
题目链接:POJ 1185 炮兵阵地 题目大意: 题解: 因为每一个炮台左右都是会互相攻击的,也就是说有些状态是不需要枚举的,例如$0011$,再者如果要用$0$到$1023$来枚举的话,$1024^3 \times 100$的复杂度是不能接受的,所以我们需要通过预处理并装入$sta$数组来将其缩减 阅读全文
摘要:
题目链接:HDU 1400 Mondriaan's Dream 题目大意: 用$1\times 2$的矩形完全覆盖一个$n\times m$矩形区域,求覆盖方案数。 题解: 将某一行用二进制来表示是否被覆盖了,压缩信息到一个整数中,进行状态转移。 设$dp[i][j]$表示前$i$行,除最后一行其他 阅读全文
摘要:
题目链接:HDU 2376 Average distance 题目大意: 计算一棵树中任意两点之间的距离的平均值。 题解: 如果暴力枚举两点再求距离是显然会超时的。 转换一下思路,我们可以对每条边,求所有可能的路径经过此边的次数:设这条边两端的点数分别为$a$和$b$,那么这条边被经过的次数就是$a 阅读全文
摘要:
题目链接:51Nod 2605 没有上司的舞会 题目大意: 题解: 树形$dp$很经典的一道题,各职员的上下级关系可以构成一棵树。 设$dp[i][1/0]$表示编号为$i$的职员参加或不参加聚会时,以他为根的子树所能获得的最大快乐指数。 当某职员参加聚会时,他的下级只能不参加;当他不参加聚会时,他 阅读全文
摘要:
题目链接:计蒜客 T2098 乌龟棋 题目大意: 题解: 设$dp[a][b][c][d]$表示走一步、两步、三步、四步的卡分别用了$a$、\(b\)、\(c\)、$d$张。 状态转移方程: \(dp[a][b][c][d]=max\{dp[a - 1][b][c][d],dp[a][b - 1][ 阅读全文
摘要:
题目链接:HRBUST 1214 方格取数 题目大意: 题解: 设$dp[i][j][x][y]$表示第一次走到$i$行$j$列,第二次走到$x$行$y$列时能取的数的最大和。 状态转移方程: \(dp[i][j][x][y]=max\{dp[i-1][j][x-1][y], dp[i][j-1][ 阅读全文
摘要:
题目链接:LibreOJ 10148 能量项链 题目大意: 题解: 一道典型的区间$dp$题。 状态转移方程: \(dp[i][j] = max\{dp[i][j], dp[i][k] + dp[k + 1][j] + a[i] * a[k + 1] * a[j + 1]\},i\leq k < j 阅读全文