摘要: 题面 就是一道很正常的期望 \(DP\) 但是我太菜了不会打\kk 式子直接用长度平方推,推出来大力化简一下即可 代码: # include <iostream> # include <cstdio> # include <string> # define MAXN 300005 long doub 阅读全文
posted @ 2020-09-20 14:24 ChPu437 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 题面 做完这道题可以更加理解 \(Floyed\) 的本质。 我们考虑 \(Floyed\) 的过程,是不断的枚举一个中转点 \(k\),通过这个中转点来更新其他点的答案。 当我可以用一个点 \(k\) 更新 \(i\),\(j\) 答案的时候,代表的实际意义是什么呢?就是 \(i\) 和 \(j\ 阅读全文
posted @ 2020-09-20 10:51 ChPu437 阅读(149) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-09-17 19:57 ChPu437 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 题面 题目描述 小 \(X\) 正困在一个密室里,他希望尽快逃出密室。 密室中有 \(N\) 个房间,初始时,小 \(X\) 在 $1$ 号房间,而出口在 \(N\) 号房间。 密室的每一个房间中可能有着一些钥匙和一些传送门,一个传送门会单向地创造一条从房间 \(X\) 到房间 \(Y\) 的通道。 阅读全文
posted @ 2020-09-17 19:03 ChPu437 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题面 在比特镇一共有 \(n\) 家商店,编号依次为 $1$ 到 \(n\)。每家商店只会卖一种物品,其中第 \(i\) 家商店的物品单价为 \(c_i\),价值为 \(v_i\),且该商店开张的时间为 \(t_i\)。 \(Byteasar\) 计划进行 \(m\) 次购物,其中第 \(i\) 次 阅读全文
posted @ 2020-09-16 20:58 ChPu437 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 企鹅国的网吧们之间由网线互相连接,形成一棵树的结构。现在由于冬天到了,供暖部门缺少燃料,于是他们决定去拆一些网线来做燃料。但是现在有 \(K\) 只企鹅要上网和别人联机游戏,所以他们需要把这 \(K\) 只企鹅安排到不同的机房(两只企鹅在同一个机房会吵架),然后拆掉一些网线,但是需要保证每只企鹅至少 阅读全文
posted @ 2020-09-16 19:02 ChPu437 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 题面 看到树形结构我们可能会想到树形 \(DP\),但是仔细研究过后我们会发现这题是不需要 \(DP\) 的。 观察每个点的贡献为 $2^i$ ( \(i\) 为节点标号 ),也就是说,选择一个标号更大的点一定比选择几个标号小的点优。 这时我们贪心的思路就明朗了: 从 \(n\ -\ 1\) 遍历每 阅读全文
posted @ 2020-09-08 20:16 ChPu437 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题面 看到这种匹配题总会想到 \(AC\) 自动机 ( 实际我们匹配的时候只需要多加两个栈:一个用于记录下一个匹配的位置,一个用于记录答案,分别记为 \(S_{tmp}\) 和 \(S_{ans}\) \(S_{tmp}\) 栈顶每加入字符串上的一个位置,就将其记录到 \(S_{ans}\) 中; 阅读全文
posted @ 2020-09-07 14:26 ChPu437 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题面 令 \(f_{i,\ j}\) 表示以 \(Trie\) 树上 \(j\) 节点为末尾的长度为 \(i\) 的串的最大得分 \(f_{i+1,\ j} = max(f_{i,\ k}), k \in \{x\ |\ x 为 Trie 树上可转移过来的节点\}\) # include <iost 阅读全文
posted @ 2020-09-07 09:14 ChPu437 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题面 # include <iostream> # include <cstdio> # include <cstring> # define MAXN 35 int a[MAXN]; int f[MAXN][MAXN][MAXN]; // f[i][j][k] 二进制下 最高位为第 i 位,有 j 阅读全文
posted @ 2020-09-05 22:06 ChPu437 阅读(82) 评论(0) 推荐(0) 编辑