CF竞赛题目讲解_CF1740E(树形DP)
2022-10-31 15:58 作者:Clayton_Zhou | 我要投稿
AC代码
https://codeforces.com/contest/1740/submission/178643201
题意:
Pak Chanek必须执行以下操作n次,同时保持序列s(最初为空):
1. 选择一张牌x,条件不会有其他牌挂在上面。
2. 将写在卡片x上的数字附加到s的末尾。
3. 如果x≠1,且卡px上的数字大于卡x上的数值,则将卡px中的数字替换为卡x中的数值。
4. 取出卡x。
求最后序列s中的非递减序列的长度最大值。
题解:
树形DP
对于当前节点,所有的子节点有两种选择:
1. 其子树根的值会上传,同时子树节点值可以形成非递减序列
2. 不上传子树根值,同层次子树节点值可以形成非递减序列
dp[0][cur] 表示其子树根的值会上传,同时子树节点值可以形成非递减序列的长度
dp[1][cur] 表示不上传子树根值,同层次子树节点值可以形成非递减序列的长度