摘要:
URAL 1513 思路: dp+高精度 状态:dp[i][j]表示长度为i末尾连续j个L的方案数 初始状态:dp[0][0]=1 状态转移:dp[i][j]=dp[i-1][j-1](0<=j<=k) dp[i][0]=∑dp[i-1][j](0<=j<=k) 目标状态:dp[n+1][0] 观察 阅读全文
摘要:
URAL 1287 思路:dp水题,四个方向转移,题目卡了内存,应该只能这么写。 代码: 阅读全文
摘要:
URAL 1501 思路: dp+记忆化搜索 状态:dp[i][j]表示选取第一堆前i个和第二堆前j的状态:0:0多1个 1:0和1相等 2:1多一个 -2:不能达到题目所描述的状态 初始状态:dp[0][0]=1 状态转移:见代码 代码: 阅读全文
摘要:
URAL 1018 思路: 树形dp+记忆化搜索 先把边的权值转移到节点上 状态:dp[i][j]表示以i为根节点的子树中选取j个节点保留(包括自身)的最大苹果数 目标状态:dp[1][q+1] 初始状态:dp[i][0]=0(1<=i<=n) dp[i][m]=w[i](i is a leaf, 阅读全文
摘要:
URAL 1029 思路: dp+记录路径 状态:dp[i][j]表示到(i,j)这个位置为止的最少花费 初始状态:dp[1][i]=a[1][i](1<=i<=m) 状态转移:dp[i][j]=a[i][j]+max(dp[i-1][j],dp[i][j-1],dp[i][j+1])(注意扫的方向 阅读全文
摘要:
URAL 1039 思路: 树形dp 状态:dp[i][0]表示以i为根节点的子树不选取i的最大贡献 dp[i][1]表示以i为根节点的子树选取i的最大贡献 初始状态:dp[i][0]=0(if i is a leaf) dp[i][1]=a[i](if i is a leaf) 状态转移: dp[ 阅读全文