摘要:
原题 翻译 一道很显然是 \(dp\) 的题 我们设 \(f_{i,j}\) 表示钦定了前 \(i\) 个数,其中 \([i-j+1,i]\) 这些数中没有重复(就是说有成为 \(1\sim K\) 的排列的可能性)时的成本之和 我们可以用刷表法来表示这个 \(dp\) 的转移方法: \[\begi 阅读全文
摘要:
原题(需要魔法) 原题(不需魔法) 强制在线做法 \(O(n \log n)\) 考虑每一次标记点:只会影响其子树中的点 所以使用DFS序+线段树就可以辣! 离线做法 \(O(n \log n)\) 考虑将每一次标记的时间记录到点上 然后使用倍增 \(LCA\) 的思想向上倍增 离线做法 \(O(n 阅读全文
摘要:
原题 今天我刚知道一个很逆天的事:\(DAG\) 的拓扑序方案数不可做!!!,目前能做到的最优方法好像是状压 我们考虑这题怎么做,对于一个限制,我们关心的是他俩在拓扑序中的相对排名,而这题恰好是一个树形结构,因此我们考虑树形 \(dp\) 我们设 \(dp_{i,j}\) 表示以 \(i\) 为根的 阅读全文
摘要:
原题 一道思维题 首先容易发现 \(m=2n\) 时满足条件,但题目让找一个最小的,因此我们考虑去除 \(n\) 中没用的一些状态 具体的,如果 \(n\) 是由两个以上的质因数构成的,那这些质因数显然可以在前 \(n-1\) 个数中找到,因此 \(n\) 就可以退役了可以删掉了 最终复杂度 \(O 阅读全文
摘要:
原题 人类智慧题!!! 假如没有地铁,这题就是一个非常典型的计算贡献的题。我们对每一条边看他左右子树中通过的客流量多少,对于一个边权为 \(w\) 的边,他的贡献显然为 \(w \times S_1 \times S_2\) ,其中 \(S_1,S_2\) 为当前边把树分成左右两部分的子树大小 现在 阅读全文
摘要:
原题 这题其实是有 \(O(n)\) 的解法的 我们考虑枚举删掉边的中间点,把树分成两个部分 然后对两棵树求直径中点,让删掉的边连接两个树的中点即可 最终复杂度 \(O(n^2)\) 如果通过加一条边操作让直径最小,则我们考虑把两棵树的中点相连 然后我们考虑 \(O(n)\) 的解法 首先,我们删的 阅读全文
摘要:
原题 原题中父母的走路方式为先去 \(A,B\) 中较近的一个,因此我们可以让 \(A,B\) 隔得非常远,这样他的父母就会疲于奔命 因此我们让直径的两个端点为 \(A,B\) ,枚举 \(C\) 点的位置,答案即为 \(dist(A,B)+\min(dist(A,C)+dist(B,C))\) 最 阅读全文
摘要:
原题 可以发现,当 \(K = 0\) 时,答案为 \(2(n-1)\) ,而当在两端点连了一条边后,则操作方法为如果这条路径上的某条边被标记过,则取消这条边标记;否则把这条边标记为标记过,答案即为未被标记的边*2+标记过的边+连边的个数 当 \(K = 1\) 时: 答案显然为树的直径 当 \(K 阅读全文
摘要:
原题 翻译 非常好的一个题,有两种做法 方法1:flody+dp 首先我们确定一个最优行走方案:从 \(1\) 号节点赚到足够钱后通过最短路到达 \(x_1\) ,在 \(x_1\) 赚够足够钱后到达 \(x_2\) ,在 \(x_2\) 赚够足够钱后到达 \(x_3\) ,如此往复后到达终点 现在 阅读全文
摘要:
原题 小 P 准备了一次预测活动,每个参与活动的人都可以在 PPP 队获胜,GGG 队获胜和平局三种结果中选择自己要预测的一种。如果第 \(i\) 个人预测正确,那么小 P 需要付给他 \(a_i\) 元,否则他需要给小 P 付 \(b_i\) 元。小 P 目前已经收到了 \(n\) 个人报名参加活 阅读全文