摘要: D - The Strongest Build BFS + 优先队列 + 哈希 将被 ban 掉的策略存到 map 里,一开始将最大的策略放入优先队列中,每次取队首策略是否被 ban 掉了,如果没有当前策略就是答案 如果被 ban 掉了,那放入比该策略小一点的策略,设队首策略为 \(b_1,b_2, 阅读全文
posted @ 2022-05-15 15:45 hzy0227 阅读(26) 评论(0) 推荐(0) 编辑
摘要: D - Excellent Arrays 思维 + 组合数学 + 树形结合 \(a_i+a_j=i+j\), 看到这样的形式先移项变成 \(a_i- i=-(a_j-j)\), 令 \(k_i=a_i-i\), 即 \(k_i=-k_j\) \(k_i=a_i-i\) 即 \(y=x+k_i\), 阅读全文
posted @ 2022-05-15 12:46 hzy0227 阅读(15) 评论(0) 推荐(0) 编辑
摘要: D - Playoff Tournament 树形dp 将字符串颠倒,并把每个结点的左右儿子交换,即可变成二叉树的形式(本题中让左右儿子交换) 首先 dp 算出当前字符串每个结点的答案 注意到修改一个结点时只会影响到他上方一条链上的结点,数目为 \(logn\) 级别,因此每次修改复杂度为 \(lo 阅读全文
posted @ 2022-05-15 10:58 hzy0227 阅读(18) 评论(0) 推荐(0) 编辑
摘要: C - Unstable String DP 状态表示:\(f[i][0/1]\) 为以第 \(i\) 个字符且这个字符为 \(0/1\) 结尾的子串的个数 状态转移见代码 因为统计的是有多少子串是稳定的,不是统计有多少稳定的字符串,所以一个位置上只能取 \(0/1\) 中最长的 所以答案为 \(\ 阅读全文
posted @ 2022-05-15 10:52 hzy0227 阅读(22) 评论(0) 推荐(0) 编辑