04 2021 档案

摘要:Atcoder ABC 199 A,B跳过 C: 题意: 给定一个字符串,有两种操作,第一种操作将两个字符调换,第二种操作将左右交换,输出最后的字符串。 解法: 通过题可以看出来我们需要用 \(O(n+q)\) 的时间复杂度的算法,第二种操作肯定不能直接用,因为 \(string\) 赋值也需要 \ 阅读全文
posted @ 2021-04-25 11:09 Evitagen 阅读(284) 评论(3) 推荐(0)
摘要:树形 \(dp\) 定义: 其实就是在树上递归进行的 \(dp\) 过程: 利用一道题进行举例子:P1352 没有上司的舞会 就是如果选择一个节点,一个节点的父亲一定不要选择,求权值之和最大值。 我们定义 \(f[i][1/0]\) 表示以 \(i\) 为根的子树的最优解(参加/不参加). 推出两个 阅读全文
posted @ 2021-04-12 21:44 Evitagen 阅读(253) 评论(0) 推荐(0)
摘要:状态压缩dp 一般来说,状态压缩dp的思路是这样的: 1.枚举第一行所有的状态,构造n位的01串。 2.状态设置:第 \(i\) 行,第 \(i\) 行的状态,第 \(i\) 行0或1的数量。 其他情况自行判断。 3.进行dp计算(一般来说会有许多if) 状压特点: 1.数据范围小。 2.一般来说为 阅读全文
posted @ 2021-04-06 16:33 Evitagen 阅读(149) 评论(0) 推荐(0)
摘要:康托展开 康托展开一般用于求一个序列的字典序,或是根据字典序求序列。 我们看这样一个序列 : 1 2 3 4 5 如果序列变成: 1 2 4 3 5 其字典序该怎么算呢? \(3*(5-4)!=3\) 根据这个我们可以推出一个简单的式子:一个序列的字典序为: \(\sum_{i=1}^{n}(ran 阅读全文
posted @ 2021-04-06 16:32 Evitagen 阅读(89) 评论(0) 推荐(0)