第一题双指针扫一遍就可以了 前指针先向前扫直到两个指针之间的子串包含所有字符 然后后指针跟着往前扫逐个删字符 更新答案 第二题bfs从对方的将的位置倒着往前递推 记录每个位置能到达终点的路径数 对于某个位置A如果能从另一个位置B跳过来 那么位置B的路径数就要加上位置A的路径数 不合法的情况包含别马脚和被小A的马踩(小A的马也可能被小A自己的将别马脚) 第三题在树上做dp 对于一个节点A如果所有以A的子节点为根节点的树的总愉悦值都被求出来了 以节点A为根节点的树的总愉悦值就是A的三个颜色里最大的那个 状态转移是 dp[i][s_x]=max(dp[j][p]) j是i的所有子节点 p是所有不等于s_x的状态 从叶子节点倒着往上推就可以了
7 5

相关推荐

野猪不是猪🐗:把你的学校加黑,加粗,斜体,下划线,描边,内阴影,内发光,投影,外发光,再上渐变色,居中,放大到最大字号,再把简历里其它内容删了,就行了
点赞 评论 收藏
分享
牛客网
牛客企业服务