摘要: 1.倍增+$\rm dfn$序 int ask(int u, int v) { if (dfn[u] > dfn[v]) swap(u, v); if (u == v) return u; for (register int i = t; i >= 0; i -- ) if (dfn[fa[v][i 阅读全文
posted @ 2020-10-28 21:23 andysj 阅读(116) 评论(1) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-10-28 12:54 andysj 阅读(1) 评论(0) 推荐(0) 编辑
摘要: \(Link\) Description 给一颗树,带边权,树根是 \(S\)。 每次可以给一条边权$+1$ 并花费 $1$ 的代价,求最小代价使得 \(S\) 到所有叶子距离相等。 Solution 首先$S$到所有叶子的距离一定是$max_dep$。然后我们肯定尽量把深度浅的边权$+1$。 这时 阅读全文
posted @ 2020-10-28 11:38 andysj 阅读(43) 评论(0) 推荐(0) 编辑
摘要: \(Link\) Description 在一个$n*n$的网络中,给出$m$个鼹鼠出来的时间和坐标$(t,x,y)$ 机器人每一时间只能向上,向下,向左,向右移一格,如果i时刻鼹鼠在某个网格中出现,而机器人也处于同一网格的话,那么这个鼹鼠就会被机器人打掉。 求出机器人最多能打的鼹鼠数量。\((n\ 阅读全文
posted @ 2020-10-28 10:21 andysj 阅读(57) 评论(1) 推荐(0) 编辑
摘要: \(Link\) Description 有一个$n*m$的矩阵,请你选出其中$k$个子矩阵(可以选空矩阵),使得这个$k$个子矩阵分值之和最大。注意:选出的$k$个子矩阵不能相互重叠。($1\le\le{100},1\le\le{2},1\le\le{10}$) Solution 看到数据范围这么 阅读全文
posted @ 2020-10-28 08:46 andysj 阅读(43) 评论(0) 推荐(0) 编辑