摘要: "关于 DP 的一些题目" "String painter" 先区间 DP,$dp[l][r]$ 表示把一个空串涂成 $t[l,r]$ 这个子串的最小花费。再考虑 $s$ 字符串,$f[i]$ 表示前 $i$ 个字符相同时的最小花费。 "Parade" 单调队列优化 DP。 "Free Goodie 阅读全文
posted @ 2018-10-08 11:20 ftae 阅读(223) 评论(0) 推荐(0) 编辑
摘要: "关于 DP 的一些题目" 参考资料 "[Tutorial] Non trivial DP Tricks and Techniques" DP "Rain and Umbrellas" "Mr. Kitayuta, the Treasure Hunter" "Power of String" 首先我 阅读全文
posted @ 2018-10-08 11:10 ftae 阅读(390) 评论(0) 推荐(0) 编辑
摘要: DP 是真的好玩。 口胡一段话题解: "DP 题集 1" "DP 题集 2" 阅读全文
posted @ 2018-10-08 11:09 ftae 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 参考 http://www.cplusplus.com/reference/bitset/bitset/ https://blog.csdn.net/snowy_smile/article/details/79120063 bitset 想法 一般先考虑题目的暴力做法,如果复杂度有 $1e9$ ,这 阅读全文
posted @ 2018-07-11 20:45 ftae 阅读(237) 评论(0) 推荐(0) 编辑
摘要: "D. Buy a Ticket" 分析 建一个源点,连向所有结点,边的花费为那个结点的花费,图中原有的边花费翻倍,最后跑一遍最短路即可。 code cpp include using namespace std; const int N = 2e5 + 10; const long long IN 阅读全文
posted @ 2018-02-27 14:44 ftae 阅读(152) 评论(0) 推荐(0) 编辑
摘要: "D. New Year and Arbitrary Arrangement" 分析 $dp[i][j]$ 表示已有 $i$ 个 $a$ 和 $j$ 个 $ab$ 的情况下继续构造能得到的 $ab$ 个数的期望。 考虑 DFS 记忆化搜索。 有两个要注意的地方: 令 $p_a$ 为添加 $a$ 的概 阅读全文
posted @ 2018-02-09 00:34 ftae 阅读(215) 评论(0) 推荐(0) 编辑
摘要: "C. Perun, Ult!" 分析 首先对于每个敌人单独预处理时间线(即在什么时候可以杀死这个敌人,什么时候杀不死了),然后通过一个总时间线去更新答案。 code "E. Prime Gift" 分析 二分答案 $ans$,问题转化成小于等于 $ans$ 的有多少个数。 dfs 暴力枚举素因子构 阅读全文
posted @ 2018-01-31 21:04 ftae 阅读(158) 评论(0) 推荐(0) 编辑
摘要: "C. Python Indentation" 分析 $dp[i][j]$ 表示到第 $i$ 行时,缩进次数为 $j$ 的方案数。 code cpp include using namespace std; const int MOD = 1e9 + 7; string c; long long d 阅读全文
posted @ 2018-01-30 15:19 ftae 阅读(165) 评论(0) 推荐(0) 编辑
摘要: "C. Bipartite Segments" 分析 在题目所给出的无向图中只能存在奇数长度的环,说明任意两个环一定无公共边,否则就会出现偶数长度的环。Tarjan 算法找环。 然后预处理 $d[i]$ 表示从 $i$ 开始向右最远延伸到的位置,即 $[i, d[i] + 1]$这个区间就是不合法的 阅读全文
posted @ 2018-01-23 21:24 ftae 阅读(208) 评论(0) 推荐(0) 编辑
摘要: "D. Unusual Sequences" 分析 如果至少有一组解,则要 $y$ 被 $x$ 整除,也就是说 $a_i$ 一定是 $x$ 的倍数,可设 $dp[i]$ 为 和为 $i$ 且 $gcd = 1$ 时的方案数,首先呢,如果不考虑 $gcd$ 的限制,可以发现,$dp[i]=1 1$ 的 阅读全文
posted @ 2018-01-21 22:48 ftae 阅读(174) 评论(0) 推荐(0) 编辑